AI Personal Learning
und praktische Anleitung
讯飞绘镜

VLM-R1: Ein visuelles Sprachmodell zur Lokalisierung von Bildzielen durch natürliche Sprache

Allgemeine Einführung

VLM-R1 ist ein Open-Source-Projekt zur visuellen Sprachmodellierung, das von Om AI Lab entwickelt und auf GitHub gehostet wird. Das Projekt basiert auf DeepSeek Die R1-Methode, kombiniert mit der Qwen2.5-VL VLM-R1 ist besonders geschickt im Umgang mit dem Darstellenden Ausdrucksverständnis (Representational Expression Comprehension, REC), z. B. bei der Beantwortung von Fragen wie "Wo ist die rote Tasse auf dem Bild?" und beim Auffinden von Zielen in einem Bild. Ziele. Das Projekt bietet detaillierte Installationsskripte, Datensatzunterstützung und Trainingscode für Entwickler und Forscher zur Erforschung und Entwicklung von visuellen Sprachaufgaben. Bis Februar 2025 hat das Projekt fast 2.000 GitHub-Hashtags erhalten, was das große Interesse an multimodaler KI zeigt.

VLM-R1:擅长视觉理解任务的强化学习视觉语言模型-1

Demo-Adresse: https://huggingface.co/spaces/omlab/VLM-R1-Referral-Expression


 

Funktionsliste

  • Bezieht sich auf Representational Expression of Understanding (REC)Die Fähigkeit, Befehle in natürlicher Sprache zu analysieren, um bestimmte Ziele in einem Bild zu lokalisieren.
  • Gemeinsame Bild- und TextverarbeitungUnterstützt die gleichzeitige Eingabe von Bild und Text, um genaue Analyseergebnisse zu erzielen.
  • Verbesserte LernoptimierungVerbesserung der Modellleistung bei komplexen visuellen Aufgaben durch Training mit der R1-Methode.
  • Quelloffener SchulungscodeVollständige Trainingsskripte und Konfigurationsdateien werden zur einfachen Anpassung des Modells bereitgestellt.
  • Unterstützung von DatensätzenIntegrierte Funktionen zum Herunterladen und Verarbeiten von COCO- und RefCOCO-Datensätzen vereinfachen den Entwicklungsprozess.
  • Leistungsstarke Unterstützung für InferenzenKompatibel mit Flash Attention und anderen Technologien zur Verbesserung der Rechenleistung.

 

Hilfe verwenden

Einbauverfahren

VLM-R1 ist ein auf Python basierendes Projekt, das zur Ausführung eine bestimmte Umgebungskonfiguration erfordert. Hier sind die detaillierten Installations- und Verwendungsschritte, um den Benutzern einen schnellen Einstieg zu ermöglichen.

1. die Vorbereitung der Umwelt

  • Installation von AnacondaEs wird empfohlen, Anaconda zur Verwaltung Ihrer Python-Umgebung zu verwenden, um die Systemkompatibilität zu gewährleisten. Download: Anaconda offizielle Website. Nach Abschluss der Installation öffnen Sie das Terminal.
  • Erstellen einer virtuellen UmgebungGeben Sie den folgenden Befehl in das Terminal ein, um eine Datei namens vlm-r1 Python 3.10 Umgebung:
    conda create -n vlm-r1 python=3.10
  • AktivierungsumgebungAktivieren Sie die Umgebung, die Sie gerade erstellt haben:
    conda activate vlm-r1
    

2. die Projektabhängigkeiten installieren

  • Klonprojekt: Laden Sie das Code-Repository für VLM-R1 lokal herunter. Öffnen Sie ein Terminal und geben Sie ein:
    git clone https://github.com/om-ai-lab/VLM-R1.git  
    cd VLM-R1
    
  • Führen Sie das Installationsskript aus: Das Projekt bietet eine setup.sh Skript für die automatische Installation von Abhängigkeiten. Führen Sie es im Terminal aus:
    bash setup.sh
    

    Dieses Skript installiert Kernbibliotheken wie PyTorch, Transformers usw., um sicherzustellen, dass die Umgebung bereit ist.

3. die Datenaufbereitung

  • COCO-Datensatz herunterladenVLM-R1 wurde mit dem COCO Train2014 Bilddatensatz trainiert. Führen Sie den folgenden Befehl aus, um ihn herunterzuladen und zu entpacken:
    wget http://images.cocodataset.org/train2014/train2014.zip  
    unzip train2014.zip -d <your_image_root>
    

    Notieren Sie sich den Entpackungspfad <your_image_root>die in späteren Konfigurationen benötigt werden.

  • Laden Sie die RefCOCO-Kennzeichnungsdatei herunterRefCOCO: Der RefCOCO-Datensatz wird verwendet, um auf Darstellungsaufgaben zu verweisen. Den Download-Link finden Sie in der Projektdokumentation, entpacken Sie ihn und legen Sie ihn im entsprechenden Verzeichnis ab.

4. die Ausbildungsmodelle

  • Konfigurieren Sie die Trainingsparameter: Zugang src/open-r1-multimodal Verzeichnis, bearbeiten Sie die Parameter im Trainingsskript. Beispiel:
    cd src/open-r1-multimodal
    

    Änderungen grpo_rec.py oder geben Sie bei der Ausführung des Befehls Parameter an. Im Folgenden finden Sie ein Beispiel für einen Befehl:

    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
    
    • Parameter Beschreibung:
      • --nproc_per_nodeDie Anzahl der GPUs muss entsprechend Ihrer Hardware angepasst werden.
      • --image_rootErsetzen Sie durch den Pfad zu Ihrem COCO-Datensatz.
      • --output_dir: Der Speicherpfad des Modells.

5. funktionaler Betriebsablauf

Bezieht sich auf Representational Expression of Understanding (REC)
  • Ausführen von TestskriptenSobald das Training abgeschlossen ist, verwenden Sie das mitgelieferte Testskript, um die Wirksamkeit des Modells zu überprüfen. eingeben src/eval Katalog:
    cd src/eval  
    python test_rec_r1.py --model_path <your_trained_model> --image_root <your_image_root> --annotation_path <refcoco_annotation>
    
  • Eingabe BeispielLaden Sie ein Bild hoch und geben Sie eine Frage ein, z. B. "Wo ist das blaue Auto auf dem Bild?". . Das Modell gibt die Koordinaten oder die Beschreibung des Zielortes zurück.
Bild- und Textanalyse
  • Vorbereiten auf den EintrittPlatzieren Sie die Bilddatei und den Fragentext im angegebenen Verzeichnis, oder geben Sie den Pfad direkt im Skript an.
  • logische SchlussfolgerungMit Hilfe des obigen Testskripts gibt das Modell eine Analyse des Bildinhalts aus, z. B. Objektkategorie, Position usw.
Maßgeschneiderte Ausbildung
  • Ändern Sie den DatensatzWenn Sie Ihren eigenen Datensatz verwenden möchten, bearbeiten Sie die Datei data_config/rec.yaml, Bildpfade und beschriftete Dateien hinzufügen.
  • Anpassung von Hyperparametern: Angepasst an die Bedürfnisse des Mandats grpo_rec.py Parameter wie Lernrate, Chargengröße usw. in der

6. vorsichtsmaßnahmen

  • Hardware-VoraussetzungEs wird empfohlen, einen Grafikprozessor mit mindestens 8 GB RAM zu verwenden, oder weniger, wenn die Ressourcen begrenzt sind. num_generations um den Speicherbedarf zu verringern.
  • Debug-Modus: Kann während des Trainings eingestellt werden export DEBUG_MODE="true"können Sie das detaillierte Protokoll einsehen.
  • Unterstützung der GemeinschaftWenn Sie auf Probleme stoßen, stellen Sie Fragen auf der GitHub Issues-Seite und das Om AI Lab Team und die Community werden Ihnen helfen.

Wenn Sie die oben genannten Schritte befolgen, können Sie das VLM-R1 vollständig installieren und verwenden, um schnell loszulegen und die Vorteile seiner leistungsstarken Funktionen zu nutzen, egal ob Sie an Bildverarbeitungsaufgaben forschen oder reale Anwendungen entwickeln.

Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " VLM-R1: Ein visuelles Sprachmodell zur Lokalisierung von Bildzielen durch natürliche Sprache
de_DEDeutsch