Better Visual Grounding für LVLMs: ReVisiT im Detail
In der Welt der großen vision-sprachlichen Modelle (LVLMs) ist die Fähigkeit, visuelle Informationen präzise zu interpretieren und zu generieren, von entscheidender Bedeutung. ReVisiT ist ein innovativer Ansatz, der die Dekodierung für LVLMs verbessert, indem er die Generierung mithilfe interner Vision Tokens steuert.
Einführung in ReVisiT
ReVisiT ist ein Algorithmus, der während der Dekodierungsphase arbeitet und darauf abzielt, die visuelle Verankerung zu verbessern. Dies geschieht durch die Verwendung interner Vision Tokens als Referenzinformationen. Der Algorithmus projiziert diese Vision Tokens in den Text-Token-Raum, wählt den relevantesten Token aus und leitet die Generierung so um, dass sie besser mit den visuellen Semantiken übereinstimmt, ohne das zugrunde liegende Modell zu verändern.
Implementierung von ReVisiT
Die Implementierung von ReVisiT variiert je nach den unterstützten Versionen von Transformers für jede LVLM-Familie. Aktuell gibt es separate Implementierungen für LLaVA-1.5 und Qwen2.5-VL. Während LLaVA-1.5 auf Transformers v4.31.0 basiert, ist Qwen2.5-VL mit v4.50.0 kompatibel. Diese Unterschiede erfordern isolierte Umgebungen und maßgeschneiderte Integrationsskripte für jedes Modell.
Integration in eigene Umgebungen
Um ReVisiT in Ihre eigene Umgebung zu integrieren, fügen Sie einfach die entsprechenden Dekodierungsfunktionen in den Quellcode von Hugging Face Transformers ein. Die spezifischen Schritte sind:
- Für v4.31.0: Kopieren Sie den Code aus LLaVA1.5/data/transformers-4.31.0/src/transformers/generation/utils.py (Zeilen 2472–2851) und fügen Sie ihn in Ihre lokale transformers/generation/utils.py ein.
- Für v4.50.0: Kopieren Sie den Code aus Qwen2.5-VL/data/transformers-4.50.0/src/transformers/generation/utils.py (Zeilen 2579–2830) und fügen Sie ihn ebenfalls in Ihre lokale transformers/generation/utils.py ein.
Voraussetzungen für die Nutzung
Um ReVisiT erfolgreich zu nutzen, müssen einige Voraussetzungen erfüllt sein. Hier sind die Schritte zur Einrichtung der Umgebung:
mkdir -p ./prerequisites
mkdir -p ./prerequisites/coco
wget http://images.cocodataset.org/zips/val2014.zip -P ./prerequisites/coco && unzip ./prerequisites/coco/val2014.zip -d ./prerequisites/coco
wget http://images.cocodataset.org/annotations/annotations_trainval2014.zip -P ./prerequisites/coco && unzip ./prerequisites/coco/annotations_trainval2014.zip -d ./data/coco
Umgebungseinrichtung für LLaVA1.5
conda env create -f LLaVA1.5/ReVisiT_LLaVA.yaml
conda activate revisit_llava
pip install numpy==1.26.4
cd LLaVA1.5/data/transformers-4.31.0
pip install -e .
cd ../../..
python prerequisites/download_from_huggingface.py --model llava
Umgebungseinrichtung für Qwen2.5-VL
conda env create -f Qwen2.5-VL/ReVisiT_Qwen.yaml
conda activate revisit_qwen
cd Qwen2.5-VL/data/transformers-4.50.0
pip install -e .
cd ../../..
python prerequisites/download_from_huggingface.py --model qwen
Evaluation und Danksagungen
Die Evaluation der Modelle erfolgt über spezifische Skripte, die für jedes Modell bereitgestellt werden. ReVisiT baut auf den Open-Source-Implementierungen von LLaVA, VCD und RITUAL auf. Ein besonderer Dank gilt den Autoren dieser Projekte, die ihre Codes öffentlich zugänglich gemacht haben.
Fazit
Mit ReVisiT wird ein bedeutender Schritt in der Verbesserung der visuellen Verankerung für LVLMs gemacht. Die Möglichkeit, interne Vision Tokens zur Steuerung der Dekodierung zu verwenden, eröffnet neue Perspektiven für die Entwicklung intelligenterer und kontextbewussterer Modelle.
Quellenliste:
- Quelle: Revisit What You See: Disclose Language Prior in Vision Tokens for Efficient Guided Decoding of LVLMs
- ReVisiT GitHub Repository
- Hugging Face Paper
Hinterlasse einen Kommentar
An der Diskussion beteiligen?Hinterlasse uns deinen Kommentar!