MM-EUREKA: una herramienta multimodal de aprendizaje por refuerzo para explorar el razonamiento visual
 Últimos recursos sobre IAPublicado hace 8 meses Círculo de intercambio de inteligencia artificial 26.3K 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 --versionComprué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-isolationSi 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_urlsque 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 idyconversationsyanswerresponder cantandoimage_urlsCampos. Ejemplo:{"id": "0", "conversations": [{"role": "user", "content": "这张图里的数学题答案是什么?"}], "answer": "42", "image_urls": ["file:///path/to/image.jpg"]}
- Guardar los datos como dataset.jsonlen 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.yamlpara 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_pathApunta hacia ti.dataset.jsonlDocumentació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.pyEl 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.mdLas 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...





 Español
Español  简体中文
简体中文  English
English  日本語
日本語  한국어
한국어  Русский
Русский