MM-EUREKA: una herramienta multimodal de aprendizaje por refuerzo para explorar el razonamiento visual
Últimos recursos sobre IAPublicado hace 6 meses Círculo de intercambio de inteligencia artificial 11.2K 00
Introducción general
MM-EUREKA es un proyecto de código abierto desarrollado por el Laboratorio de Inteligencia Artificial de Shanghai, la Universidad Jiao Tong de Shanghai y otras partes. Amplía las capacidades de razonamiento textual a escenarios multimodales mediante técnicas de aprendizaje por refuerzo basadas en reglas para ayudar a los modelos a procesar información textual y de imágenes. El objetivo principal de esta herramienta es mejorar el rendimiento de los modelos en tareas de razonamiento visual y matemático. Presenta dos modelos principales, MM-Eureka-8B y MM-Eureka-Zero-38B, que permiten un entrenamiento eficiente con pequeñas cantidades de datos, como por ejemplo utilizar sólo 54K de datos gráficos para superar a otros modelos que requieren millones de datos. El proyecto es completamente de código abierto, y el código, los modelos y los datos están disponibles gratuitamente en GitHub para investigadores y desarrolladores que exploren técnicas de inferencia multimodal.

Lista de funciones
- Apoyo al razonamiento multimodal: la capacidad de procesar imágenes y texto al mismo tiempo mejora la capacidad del modelo para comprender problemas complejos.
- Aprendizaje por refuerzo basado en reglas: formación de modelos con reglas sencillas para reducir la dependencia de datos a gran escala.
- Epifanías visuales: los modelos pueden volver sobre las imágenes en su razonamiento, imitando el proceso de reflexión humana.
- Canal completo de código abierto: proporciona código, conjuntos de datos y flujo de formación para facilitar su reproducción y mejora.
- Alta eficiencia de datos: el rendimiento es comparable al de modelos entrenados en millones de datos con pequeñas cantidades de datos (por ejemplo, 8K o 54K pares de gráficos).
- Apoyo al razonamiento matemático: especialmente optimizado para la resolución de problemas matemáticos en escenarios educativos y académicos.
Utilizar la ayuda
MM-EUREKA es un proyecto de código abierto basado en GitHub, que está dirigido principalmente a usuarios con cierta base de programación, especialmente investigadores y desarrolladores. A continuación se describe detalladamente cómo instalar y utilizar esta herramienta, incluyendo las principales características del proceso de funcionamiento real.
Proceso de instalación
- Preparar el entorno
- Asegúrate de que tienes Python 3.8 o posterior instalado en tu ordenador. Esto se puede hacer con el comando
python --version
Compruébalo. - Necesitas instalar Git para clonar tu código. Si no tienes Git, puedes descargarlo e instalarlo desde el sitio web oficial.
- Recomendado para sistemas Linux (por ejemplo, Ubuntu 20.04 o 22.04), los usuarios de Windows pueden necesitar una configuración adicional.
- Asegúrate de que tienes Python 3.8 o posterior instalado en tu ordenador. Esto se puede hacer con el comando
- Clonación del código del proyecto
- Abra un terminal e introduzca el siguiente comando para descargar el código fuente de MM-EUREKA:
git clone https://github.com/ModalMinds/MM-EUREKA.git
- Una vez finalizada la descarga, vaya a la carpeta del proyecto:
cd MM-EUREKA
- Abra un terminal e introduzca el siguiente comando para descargar el código fuente de MM-EUREKA:
- Instalación de dependencias
- Ejecute el siguiente comando para instalar las dependencias básicas:
pip install -e .
- Si necesita utilizar el vLLM Es necesario instalar el razonamiento acelerado y paquetes adicionales:
pip install -e .[vllm]
- Instale Flash-Attention (versión 2.3.6) para mejorar el rendimiento:
pip install flash-attn==2.3.6 --no-build-isolation
Si tiene problemas, intente instalar desde el código fuente:
git clone https://github.com/Dao-AILab/flash-attention.git cd flash-attention git checkout v2.3.6 python setup.py install
- Ejecute el siguiente comando para instalar las dependencias básicas:
- Descargar conjunto de datos
- El proyecto proporciona datos de entrenamiento MM-Eureka-Dataset, que pueden descargarse de GitHub Releases.
- Una vez descargado, descomprima el archivo y modifique los datos según sea necesario en el archivo
image_urls
que apunta a la ruta de la imagen local.
- Verificar la instalación
- Una vez finalizada la instalación, ejecute
python -c "import mm_eureka"
Compruebe si se ha producido algún error. Si no hay errores, la instalación se ha realizado correctamente.
- Una vez finalizada la instalación, ejecute
Utilización de las funciones principales
Función 1: Ejecución de un modelo de inferencia multimodal
- Preparar los datos
- Los datos deben organizarse en formato JSONL, donde cada fila es un diccionario que contiene
id
yconversations
yanswer
responder cantandoimage_urls
Campos. Ejemplo:{"id": "0", "conversations": [{"role": "user", "content": "这张图里的数学题答案是什么?"}], "answer": "42", "image_urls": ["file:///path/to/image.jpg"]}
- Guardar los datos como
dataset.jsonl
en el directorio del proyecto.
- Los datos deben organizarse en formato JSONL, donde cada fila es un diccionario que contiene
- razonamiento en funcionamiento
- Introduzca el siguiente comando en el terminal para cargar el modelo y razonar sobre él:
python scripts/inference.py --model MM-Eureka-8B --data dataset.jsonl
- La salida mostrará el proceso de razonamiento del modelo y las respuestas a cada pregunta.
- Introduzca el siguiente comando en el terminal para cargar el modelo y razonar sobre él:
Función 2: Entrenamiento de modelos personalizados
- Configuración de los parámetros de entrenamiento
- espectáculo (una entrada)
config.yaml
para establecer los parámetros del modelo (por ejemplo, la tasa de aprendizaje, el tamaño del lote) y las rutas de los datos. - seguro
data_path
Apunta hacia ti.dataset.jsonl
Documentación.
- espectáculo (una entrada)
- formación inicial
- Ejecute el siguiente comando para iniciar el entrenamiento:
python scripts/train.py --config config.yaml
- Durante el entrenamiento, el modelo guarda los puntos de control en el
checkpoints/
Carpeta.
- Ejecute el siguiente comando para iniciar el entrenamiento:
Función 3: Comprobación de epifanías visuales
- Preparación de los datos de prueba
- Utilizar datos de problemas matemáticos complejos que contengan imágenes, por ejemplo, eligiendo algunas preguntas del conjunto de datos K12.
- prueba de funcionamiento
- Introduce el comando:
python scripts/test_reflection.py --model MM-Eureka-Zero-38B --data test.jsonl
- El modelo mostrará el proceso de razonamiento, incluida la forma de reexaminar las pistas de la imagen.
- Introduce el comando:
Ejemplo de proceso operativo: resolución de problemas matemáticos
- Cargar datos
- Prepare una imagen (por ejemplo, un problema de geometría) y la correspondiente descripción del problema, guardada en formato JSONL.
- modelo operativo
- gasto o desembolso
inference.py
El script carga MM-Eureka-8B e introduce los datos.
- gasto o desembolso
- Ver resultados
- El modelo emite el paso de inferencia (
<think>
) y la respuesta final (<answer>
Tags), por ejemplo:<think>先看图,圆的半径是 5,面积公式是 πr²,所以是 25π。</think> <answer>25π</answer>
- El modelo emite el paso de inferencia (
advertencia
- Si la memoria de la GPU es insuficiente, ajuste el tamaño del lote o utilice MM-Eureka-8B (modelo más pequeño).
- Las rutas de la imagen en los datos deben ser válidas o el modelo no podrá procesar la imagen.
Con estos pasos, podrá empezar a utilizar MM-EUREKA fácilmente y experimentar sus capacidades de razonamiento multimodal.
escenario de aplicación
- Ayudas educativas
MM-EUREKA analiza imágenes de problemas matemáticos y ofrece soluciones detalladas, adecuadas para la práctica de los estudiantes o la preparación de los profesores. - Exploración científica
Los investigadores pueden utilizarlo para probar la eficacia del aprendizaje por refuerzo en tareas multimodales, mejorar algoritmos o desarrollar nuevos modelos. - Desarrollo AR/VR
Los desarrolladores pueden utilizar sus capacidades de razonamiento visual para crear aplicaciones interactivas más inteligentes, como asistentes de resolución de problemas en tiempo real.
CONTROL DE CALIDAD
- ¿Qué idiomas admite MM-EUREKA?
Actualmente, se admiten principalmente datos gráficos en inglés y chino, y el modelo tiene el mejor efecto de inferencia para estas dos lenguas. - ¿Qué configuración informática es necesaria?
Se recomiendan al menos 16 GB de RAM y una GPU de gama media (por ejemplo, NVIDIA GTX 1660). Es posible que se necesite un hardware más potente para entrenar modelos de gran tamaño. - ¿Cómo puedo contribuir con código?
Para enviar una Pull Request en GitHub, consulte la páginaCONTRIBUTING.md
Las directrices del documento.
© declaración de copyright
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial Todos, por favor no reproducir sin permiso.
Artículos relacionados
Sin comentarios...