VLM-R1 : Un modèle de langage visuel pour localiser des cibles d'images par le biais du langage naturel

Introduction générale

VLM-R1 est un projet open source de modélisation du langage visuel développé par Om AI Lab et hébergé sur GitHub. Le projet est basé sur DeepSeek La méthode R1, combinée à la Qwen2.5-VL VLM-R1 est particulièrement doué pour la compréhension de l'expression représentationnelle (REC), par exemple pour répondre à des questions telles que "Où se trouve le gobelet rouge dans l'image ?" et pour repérer des cibles dans une image. Cibles. Le projet fournit des scripts d'installation détaillés, un support pour les ensembles de données et un code de formation pour les développeurs et les chercheurs afin d'explorer et de développer des tâches de langage visuel. En février 2025, le projet avait reçu près de 2 000 étoiles sur GitHub, ce qui témoigne de l'intérêt qu'il suscite dans le domaine de l'IA multimodale.

VLM-R1:通过自然语言定位图像目标的视觉语言模型

Adresse de démonstration : https://huggingface.co/spaces/omlab/VLM-R1-Referral-Expression

 

Liste des fonctions

  • Se réfère à l'expression représentationnelle de la compréhension (REC)Le langage naturel : la capacité d'analyser des commandes en langage naturel afin de localiser des cibles spécifiques dans une image.
  • Traitement conjoint d'images et de textesLe système d'analyse de l'information : il prend en charge la saisie simultanée d'images et de textes pour générer des résultats d'analyse précis.
  • Optimisation de l'apprentissage renforcé: Amélioration de la performance des modèles dans les tâches visuelles complexes par l'entraînement avec la méthode R1.
  • Code de formation en libre accèsLes scripts d'entraînement et les fichiers de configuration sont fournis pour faciliter la personnalisation du modèle.
  • Soutien aux ensembles de donnéesLes capacités de téléchargement et de traitement des jeux de données COCO et RefCOCO intégrés simplifient le processus de développement.
  • Support d'inférence performantLe système est compatible avec Flash Attention et d'autres technologies permettant d'améliorer l'efficacité informatique.

 

Utiliser l'aide

Processus d'installation

VLM-R1 est un projet basé sur Python qui nécessite une certaine configuration de l'environnement pour fonctionner. Voici les étapes détaillées de l'installation et de l'utilisation pour aider les utilisateurs à démarrer rapidement.

1. préparation à l'environnement

  • Installation d'AnacondaIl est recommandé d'utiliser Anaconda pour gérer votre environnement Python afin d'assurer la compatibilité de votre système. Téléchargement : site officiel d'Anaconda. Une fois l'installation terminée, ouvrez le terminal.
  • Créer un environnement virtuel: Tapez la commande suivante dans le terminal pour créer un fichier nommé vlm-r1 Environnement Python 3.10 :
    conda create -n vlm-r1 python=3.10
  • environnement d'activationActivation de l'environnement : Activez l'environnement que vous venez de créer :
    conda activate vlm-r1
    

2. installer les dépendances du projet

  • projet de clonageTélécharger localement le dépôt de code pour VLM-R1. Ouvrez un terminal et tapez :
    git clone https://github.com/om-ai-lab/VLM-R1.git  
    cd VLM-R1
    
  • Exécuter le script d'installationLe projet fournit un setup.sh Script pour l'installation automatique des dépendances. Exécutez-le dans le terminal :
    bash setup.sh
    

    Ce script installe les bibliothèques de base telles que PyTorch, Transformers, etc. pour s'assurer que l'environnement est prêt.

3. la préparation des données

  • Télécharger l'ensemble de données COCOVLM-R1 a été entraîné à l'aide de l'ensemble de données d'images COCO Train2014. Exécutez la commande suivante pour le télécharger et le décompresser :
    wget http://images.cocodataset.org/train2014/train2014.zip  
    unzip train2014.zip -d <your_image_root>
    

    Notez le chemin de décompression <your_image_root>qui sera nécessaire dans les configurations ultérieures.

  • Télécharger le fichier d'étiquetage du RefCOCORefCOCO : Le jeu de données RefCOCO est utilisé pour se référer aux tâches de représentation. Le lien de téléchargement se trouve dans la documentation du projet, décompressez-le et placez-le dans le répertoire approprié.

4. les modèles de formation

  • Configurer les paramètres de formation: Accès src/open-r1-multimodal modifiez les paramètres du script de formation. Exemple :
    cd src/open-r1-multimodal
    

    modifications grpo_rec.py ou spécifier des paramètres lors de l'exécution de la commande. Voici un exemple de commande :

    torchrun --nproc_per_node=8 --nnodes=1 --node_rank=0 --master_addr="127.0.0.1" --master_port="12346" \  
    src/open_r1/grpo_rec.py \  
    --deepspeed local_scripts/zero3.json \  
    --output_dir output/my_model \  
    --model_name_or_path Qwen/Qwen2.5-VL-3B-Instruct \  
    --dataset_name data_config/rec.yaml \  
    --image_root <your_image_root> \  
    --max_prompt_length 1024 \  
    --num_generations 8 \  
    --per_device_train_batch_size 1 \  
    --gradient_accumulation_steps 2 \  
    --logging_steps 1 \  
    --bf16 \  
    --torch_dtype bfloat16 \  
    --num_train_epochs 2 \  
    --save_steps 100
    
    • Paramètre Description :
      • --nproc_per_node: Nombre de GPU, à ajuster en fonction de votre matériel.
      • --image_root: Remplacer par le chemin d'accès à votre jeu de données COCO.
      • --output_dirChemin d'enregistrement du modèle : Le chemin d'enregistrement du modèle.

5. déroulement de l'opération fonctionnelle

Se réfère à l'expression représentationnelle de la compréhension (REC)
  • Exécution des scripts de testUne fois la formation terminée, utilisez le script de test fourni pour vérifier l'efficacité du modèle. Entrer src/eval Catalogue :
    cd src/eval  
    python test_rec_r1.py --model_path <your_trained_model> --image_root <your_image_root> --annotation_path <refcoco_annotation>
    
  • Exemple de saisie... : Téléchargez une image et posez une question telle que "Où se trouve la voiture bleue sur l'image ? . Le modèle renverra les coordonnées ou la description de l'emplacement cible.
Analyse d'images et de textes
  • Se préparer à entrer: Placez le fichier image et le texte de la question dans le répertoire spécifié, ou indiquez le chemin d'accès directement dans le script.
  • raisonnement en cours d'exécutionLe modèle produit une analyse du contenu de l'image, par exemple la catégorie d'objet, la position, etc.
Formation sur mesure
  • Modifier l'ensemble des donnéesSi vous souhaitez utiliser votre propre jeu de données, modifiez le fichier data_config/rec.yamlajouter des chemins d'accès aux images et des fichiers étiquetés.
  • Ajustement des hyperparamètresLe mandat : Modifié pour répondre aux besoins du mandat grpo_rec.py Des paramètres tels que le taux d'apprentissage, la taille du lot, etc.

6) Précautions

  • exigences en matière de matérielIl est recommandé d'utiliser un GPU avec au moins 8 Go de RAM, ou moins si les ressources sont limitées. num_generations afin de réduire l'empreinte mémoire.
  • mode débogage: Peut être réglée pendant la formation export DEBUG_MODE="true"pour afficher le journal détaillé.
  • Soutien communautaireSi vous rencontrez des problèmes, posez des questions sur la page GitHub Issues et l'équipe et la communauté d'Om AI Lab vous aideront.

En suivant les étapes ci-dessus, les utilisateurs peuvent installer et utiliser complètement le VLM-R1 pour démarrer rapidement et profiter de ses puissantes fonctionnalités, qu'ils mènent des recherches sur les tâches de vision ou qu'ils développent des applications dans le monde réel.

© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...