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.

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