Allgemeine Einführung
Long-VITA ist ein quelloffenes multimodales Makromodell, das vom VITA-MLLM-Team entwickelt wurde und sich auf visuelle und sprachliche Aufgaben mit sehr langen Kontexten konzentriert. Es ist in der Lage, Bilder, Videos und Text gleichzeitig zu analysieren und unterstützt bis zu 1 Million Token Inputs für Szenarien wie Videoverstehen, Parsing von hochauflösenden Bildern und multimodales intelligentes Schließen. Im Vergleich zu anderen Modellen schneidet Long-VITA bei kurzen Kontextaufgaben gut ab, während es bei der Verarbeitung langer Sequenzen bahnbrechende Vorteile bietet. Das Projekt wurde in Zusammenarbeit mit dem Youtu Lab von Tencent, der Universität Nanjing und der Universität Xiamen entwickelt. Es wird vollständig auf Open-Source-Datensätzen trainiert, unterstützt sowohl NPU- als auch GPU-Plattformen und zielt darauf ab, der Open-Source-Gemeinschaft ein leistungsfähiges Werkzeug für die multimodale Forschung mit langem Kontext zur Verfügung zu stellen. Der Modellcode, die Trainingsmethode und die Gewichte wurden veröffentlicht, so dass Forscher und Entwickler die innovativen Anwendungen der multimodalen KI erforschen können.
Funktionsliste
- Extrem lange KontextverarbeitungUnterstützt Bild-, Video- und Texteingaben von bis zu 1 Million Tokens oder 4K Frames für komplexe Szenenanalysen.
- multimodales VerständnisIntegrierte Bild-, Video- und Textverarbeitungsfunktionen zur gleichzeitigen Analyse mehrerer Datentypen.
- Effizientes verteiltes Reasoning:: Effiziente Argumentation für sehr lange Eingaben durch kontextuelle Parallelität.
- Open-Source-Datensatz-TrainingVerwendung von 17 Millionen öffentlichen Proben, um die Reproduzierbarkeit und Transparenz der Modelle zu gewährleisten.
- Plattformübergreifende UnterstützungKompatibel mit Ascend NPU und Nvidia GPU für flexible Anpassung an unterschiedliche Hardware-Umgebungen.
- Kurze Kontextoptimierung:: Beibehaltung der Spitzenleistung bei traditionellen multimodalen Aufgaben, die sowohl lange als auch kurze Sequenzen erfordern.
- Logits-maskierte Sprachmodellierung:: Innovatives Design von Sprachmodellköpfen zur Verbesserung des Denkens in langen Sequenzen.
Hilfe verwenden
Long-VITA ist ein Open-Source-Projekt, das es Nutzern ermöglicht, Code und Modellgewichte über ein GitHub-Repository zu beziehen und sie zur lokalen Verwendung oder auf einem Server einzusetzen. Hier finden Sie einen detaillierten Leitfaden, der den Benutzern den Einstieg erleichtert und ihnen hilft, die leistungsstarken Funktionen zu erkunden.
Ablauf der Installation
- Klon-Lager
Öffnen Sie ein Terminal und geben Sie den folgenden Befehl ein, um das Long-VITA-Repository zu klonen:git clone https://github.com/VITA-MLLM/Long-VITA.git cd Lang-VITA
Dadurch wird der gesamte Code und die Dokumentation für das Projekt heruntergeladen.
- Erstellen einer virtuellen Umgebung
Verwenden Sie Conda, um eine separate Python-Umgebung zu erstellen und die Isolierung von Abhängigkeiten zu gewährleisten:conda erstellen -n long-vita python=3.10 -y conda aktivieren long-vita
- Installation von Abhängigkeiten
Installieren Sie die für Ihr Projekt erforderlichen Python-Pakete:pip install --upgrade pip pip install -r anforderungen.txt
Wenn eine beschleunigte Argumentation erforderlich ist, kann Flash Attention zusätzlich installiert werden:
pip install flash-attn --no-build-isolation
- Download Modellgewichte
Long-VITA ist in verschiedenen Versionen (z.B. 16K, 128K, 1M Token) erhältlich, die von Hugging Face heruntergeladen werden können:- Lang-VITA-16K. Link (auf einer Website)
- Lang-VITA-128K. Link (auf einer Website)
- Lang-VITA-1M. Link (auf einer Website)
Legen Sie nach dem Herunterladen die Gewichtsdatei im Stammverzeichnis des Projekts oder im angegebenen Pfad ab.
- Konfigurieren der Hardwareumgebung
- Nvidia-GPUsStellen Sie sicher, dass CUDA und cuDNN installiert und die Umgebungsvariablen gesetzt sind:
export CUDA_VISIBLE_DEVICES=0
- Aufsteigen NPU: Konfigurieren Sie Ihre MindSpeed- oder Megatron-Umgebung gemäß der offiziellen Dokumentation.
- Nvidia-GPUsStellen Sie sicher, dass CUDA und cuDNN installiert und die Umgebungsvariablen gesetzt sind:
Verwendung
Long-VITA unterstützt zwei Hauptbetriebsarten, Inferenz und Auswertung, und die folgenden Schritte werden beschrieben.
logische Schlussfolgerungen
- Vorbereiten der Dateneingabe
- Bildmaterial: Platzieren Sie eine Bilddatei (z.B.
.jpg
vielleicht.png
(Berechnen) setzen (in)Vermögen
Mappe. - VideoUnterstützung für gängige Videoformate (z. B.
.mp4
), die im angegebenen Pfad abgelegt werden. - KopienFragen oder Anweisungen schreiben, speichern als
.txt
Datei oder geben Sie sie direkt in die Befehlszeile ein.
- Bildmaterial: Platzieren Sie eine Bilddatei (z.B.
- Ausführen von Argumentationsbefehlen
Führen Sie als Beispiel für das Verstehen von Bildern den folgenden Befehl aus:CUDA_VISIBLE_DEVICES=0 python video_audio_demo.py \ ---model_path [Modellgewichtspfad] \ --image_path asset/sample_image.jpg \ ---model_type qwen2p5_instruct \ --conv_mode qwen2p5_instruct \ --question "Beschreiben Sie, worum es in diesem Bild geht."
Für den Videoeingang fügen Sie
--video_pfad
Parameter:--video_path asset/beispiel_video.mp4
- Ansicht Ausgabe
Das Modell gibt am Endpunkt Ergebnisse aus, z. B. Bildbeschreibungen oder Inhalte der Videoanalyse.
Bewertung der Leistung
- Vorbereitung von Bewertungsdatensätzen
Laden Sie den Benchmark-Datensatz (z. B. Video-MME) herunter und organisieren Sie die Dateistruktur wie gewünscht. - Führen Sie das Auswertungsskript aus
Werten Sie mit dem mitgelieferten Skript aus:bash script/evaluate.sh [Modellpfad] [Datensatzpfad]
Featured Function Bedienung
Extrem lange Kontextverarbeitung
- Verfahren:
- Wählen Sie das Modell Long-VITA-1M, um sicherzustellen, dass die Gesamtzahl der Token der Eingabedaten (z. B. lange Videos oder mehrere HD-Bilder) 1 Million nicht überschreitet.
- ausnutzen
--max_seq_len 1048576
legt die maximale Sequenzlänge fest. - Führen Sie die Inferenz aus und beobachten Sie, wie das Modell mit langen Sequenzaufgaben umgeht (z. B. die Erstellung von Videozusammenfassungen).
- typisches BeispielGeben Sie ein einstündiges Video ein, stellen Sie die Frage "Fassen Sie die Haupthandlung des Videos zusammen", und das Modell wird eine kurze Textzusammenfassung ausgeben.
multimodales Verständnis
- Verfahren:
- Bereiten Sie multimodale Eingaben wie Bild + Text oder Video + Frage vor.
- Geben Sie beides in der Befehlszeile an
--bild_pfad
im Gesang antworten--Frage
Als:--image_path asset/sample_image.jpg --question "Wer ist die Person auf dem Bild?"
- Das Modell wird visuelle und textuelle Informationen kombinieren, um Antworten zu generieren.
- typisches Beispiel:: Geben Sie ein Foto eines Prominenten und die Frage "Was macht er gerade?" ein. Das Modell wird die Aktion auf dem Foto beschreiben.
verteilte Schlussfolgerung
- Verfahren:
- Um eine Multi-GPU-Umgebung zu konfigurieren, ändern Sie die
CUDA_VISIBLE_DEVICES=0,1,2,3
. - Mit der kontextuellen Paralleloption ausführen:
python -m torch.distributed.launch --nproc_per_node=4 video_audio_demo.py [Argumente]
- Das Modell weist Aufgaben automatisch mehreren Geräten zu, um die Verarbeitungsgeschwindigkeit zu erhöhen.
- Um eine Multi-GPU-Umgebung zu konfigurieren, ändern Sie die
- typisches Beispiel:: Verteiltes Reasoning kann den Zeitaufwand bei sehr langen Videos von Stunden auf Minuten reduzieren.
caveat
- Vergewissern Sie sich, dass Ihre Hardware über genügend Arbeitsspeicher verfügt. Für die Eingabe von 1 Mio. Token sind möglicherweise mehr als 32 GB Videospeicher erforderlich.
- Die Eingangsdaten müssen vorverarbeitet werden (z. B. Extraktion von Videobildern), um den Anforderungen des Modells zu entsprechen.
- Überprüfen Sie Ihre Internetverbindung. Sie benötigen eine stabile Hochgeschwindigkeits-Internetverbindung, um Gewichte herunterzuladen.
Mit diesen Schritten können Benutzer Long-VITA einfach einsetzen und die ultralangen Kontext- und multimodalen Verstehensfähigkeiten für Forschung, Entwicklung oder das Testen multimodaler KI-Anwendungen erleben.