MM-EUREKA : Un outil d'apprentissage par renforcement multimodal pour explorer le raisonnement visuel
Introduction générale
MM-EUREKA est un projet open source développé par le laboratoire d'intelligence artificielle de Shanghai, l'université Jiao Tong de Shanghai et d'autres parties. Il étend les capacités de raisonnement textuel à des scénarios multimodaux grâce à des techniques d'apprentissage par renforcement basées sur des règles, afin d'aider les modèles à traiter les images et les informations textuelles. L'objectif principal de cet outil est d'améliorer les performances des modèles dans les tâches de raisonnement visuel et mathématique. Il présente deux modèles principaux, MM-Eureka-8B et MM-Eureka-Zero-38B, qui permettent une formation efficace avec de petites quantités de données, par exemple en utilisant seulement 54K de données graphiques pour surpasser d'autres modèles qui nécessitent des millions de données. Le projet est entièrement open source, et le code, les modèles et les données sont disponibles gratuitement sur GitHub pour les chercheurs et les développeurs qui explorent les techniques d'inférence multimodale.

Liste des fonctions
- Soutien au raisonnement multimodal : la capacité de traiter simultanément des images et du texte améliore la capacité du modèle à comprendre des problèmes complexes.
- Apprentissage par renforcement basé sur des règles : formation de modèles avec des règles simples pour réduire la dépendance à l'égard des données à grande échelle.
- Épiphanies visuelles : les modèles peuvent revenir sur des indices visuels dans leur raisonnement, imitant ainsi le processus de réflexion humain.
- Open Source Complete Pipeline : fournit le code, les ensembles de données et le flux de formation pour faciliter la reproduction et l'amélioration.
- Grande efficacité des données : les performances sont comparables à celles des modèles formés sur des millions de données avec de petites quantités de données (par exemple, 8K ou 54K paires graphiques).
- Aide au raisonnement mathématique : spécialement optimisée pour la résolution de problèmes mathématiques dans le cadre de scénarios éducatifs et académiques.
Utiliser l'aide
MM-EUREKA est un projet open source basé sur GitHub, qui s'adresse principalement aux utilisateurs ayant des bases en programmation, en particulier les chercheurs et les développeurs. Ce qui suit est une description détaillée de l'installation et de l'utilisation de cet outil, y compris les principales caractéristiques du processus opérationnel réel.
Processus d'installation
- Préparation de l'environnement
- Assurez-vous que Python 3.8 ou une version plus récente est installé sur votre ordinateur. Cela peut être fait avec la commande
python --version
Vérifier. - Vous devez installer Git pour cloner votre code. Si vous n'avez pas Git, vous pouvez le télécharger et l'installer depuis le site officiel.
- Recommandé pour les systèmes Linux (par exemple Ubuntu 20.04 ou 22.04), les utilisateurs de Windows peuvent avoir besoin d'une configuration supplémentaire.
- Assurez-vous que Python 3.8 ou une version plus récente est installé sur votre ordinateur. Cela peut être fait avec la commande
- Clonage du code du projet
- Ouvrez un terminal et entrez la commande suivante pour télécharger le code source de MM-EUREKA :
git clone https://github.com/ModalMinds/MM-EUREKA.git
- Une fois le téléchargement terminé, allez dans le dossier du projet :
cd MM-EUREKA
- Ouvrez un terminal et entrez la commande suivante pour télécharger le code source de MM-EUREKA :
- Installation des dépendances
- Exécutez la commande suivante pour installer les dépendances de base :
pip install -e .
- Si vous devez utiliser le vLLM Le raisonnement accéléré et des paquets supplémentaires doivent être installés :
pip install -e .[vllm]
- Installez Flash-Attention (version 2.3.6) pour améliorer les performances :
pip install flash-attn==2.3.6 --no-build-isolation
Si vous rencontrez des problèmes, essayez d'installer le logiciel à partir de la source :
git clone https://github.com/Dao-AILab/flash-attention.git cd flash-attention git checkout v2.3.6 python setup.py install
- Exécutez la commande suivante pour installer les dépendances de base :
- Télécharger la base de données
- Le projet fournit les données d'entraînement MM-Eureka-Dataset, qui peuvent être téléchargées à partir de GitHub Releases.
- Après le téléchargement, décompressez le fichier et modifiez les données en fonction de vos besoins dans le fichier
image_urls
qui pointe vers le chemin d'accès à l'image locale.
- Vérifier l'installation
- Une fois l'installation terminée, exécutez
python -c "import mm_eureka"
Vérifiez si des erreurs sont signalées. Si ce n'est pas le cas, l'installation a réussi.
- Une fois l'installation terminée, exécutez
Utilisation des fonctions principales
Fonction 1 : Exécution d'un modèle d'inférence multimodale
- Préparer les données
- Les données doivent être organisées au format JSONL, où chaque ligne est un dictionnaire contenant
id
,conversations
,answer
répondre en chantantimage_urls
Champs. Exemple :{"id": "0", "conversations": [{"role": "user", "content": "这张图里的数学题答案是什么?"}], "answer": "42", "image_urls": ["file:///path/to/image.jpg"]}
- Enregistrer les données sous
dataset.jsonl
placé dans le répertoire du projet.
- Les données doivent être organisées au format JSONL, où chaque ligne est un dictionnaire contenant
- raisonnement en cours d'exécution
- Entrez la commande suivante dans le terminal pour charger le modèle et raisonner à son sujet :
python scripts/inference.py --model MM-Eureka-8B --data dataset.jsonl
- La sortie montrera le processus de raisonnement du modèle et les réponses à chaque question.
- Entrez la commande suivante dans le terminal pour charger le modèle et raisonner à son sujet :
Fonction 2 : Formation de modèles personnalisés
- Configurer les paramètres de formation
- spectacle (un billet)
config.yaml
pour définir les paramètres du modèle (par exemple, le taux d'apprentissage, la taille du lot) et les chemins d'accès aux données. - sécurisé
data_path
Pointez-le sur vous.dataset.jsonl
Documentation.
- spectacle (un billet)
- formation d'amorçage
- Exécutez la commande suivante pour démarrer la formation :
python scripts/train.py --config config.yaml
- Pendant la formation, le modèle enregistre des points de contrôle dans le fichier
checkpoints/
Dossier.
- Exécutez la commande suivante pour démarrer la formation :
Fonction 3 : Tester les épiphanies visuelles
- Préparation des données de test
- Utiliser des données provenant de problèmes mathématiques complexes contenant des images, par exemple en sélectionnant quelques questions dans l'ensemble de données K12.
- test opérationnel
- Entrez la commande :
python scripts/test_reflection.py --model MM-Eureka-Zero-38B --data test.jsonl
- Le modèle montrera le processus de raisonnement, y compris la manière de réexaminer les indices de l'image.
- Entrez la commande :
Exemple de processus opérationnel : résoudre des problèmes de mathématiques
- Télécharger les données
- Préparer une image (par exemple, un problème de géométrie) et une description du problème correspondant, enregistrée au format JSONL.
- modèle opérationnel
- dépense ou frais
inference.py
Le script charge MM-Eureka-8B et introduit les données.
- dépense ou frais
- Voir les résultats
- Le modèle produit l'étape d'inférence (
<think>
) et la réponse finale (<answer>
Tags), par exemple :<think>先看图,圆的半径是 5,面积公式是 πr²,所以是 25π。</think> <answer>25π</answer>
- Le modèle produit l'étape d'inférence (
mise en garde
- Si la mémoire du GPU est insuffisante, ajustez la taille du lot ou utilisez MM-Eureka-8B (modèle plus petit).
- Les chemins d'accès à l'image dans les données doivent être valides, sinon le modèle ne pourra pas traiter l'image.
Avec ces étapes, vous pouvez facilement commencer à utiliser MM-EUREKA et expérimenter ses capacités de raisonnement multimodal.
scénario d'application
- Aides pédagogiques
MM-EUREKA analyse des images de problèmes mathématiques et donne des solutions détaillées, adaptées à la pratique des étudiants ou à la préparation des enseignants. - Exploration scientifique
Les chercheurs peuvent l'utiliser pour tester l'efficacité de l'apprentissage par renforcement dans des tâches multimodales, améliorer les algorithmes ou développer de nouveaux modèles. - Développement AR/VR
Les développeurs peuvent utiliser ses capacités de raisonnement visuel pour créer des applications interactives plus intelligentes, telles que des assistants de résolution de problèmes en temps réel.
QA
- Quelles sont les langues prises en charge par MM-EUREKA ?
Actuellement, les données graphiques anglaises et chinoises sont principalement prises en charge, et le modèle a le meilleur effet d'inférence pour ces deux langues. - Quelle est la configuration informatique requise ?
Il est recommandé de disposer d'au moins 16 Go de RAM et d'un GPU de milieu de gamme (par exemple, NVIDIA GTX 1660). Un matériel plus puissant peut être nécessaire pour l'entraînement de grands modèles. - Comment contribuer au code ?
Pour soumettre une Pull Request sur GitHub, reportez-vous à la pageCONTRIBUTING.md
Les lignes directrices du document.
© déclaration de droits d'auteur
Article copyright Cercle de partage de l'IA Tous, prière de ne pas reproduire sans autorisation.
Articles connexes
Pas de commentaires...