AI Personal Learning
und praktische Anleitung
CyberKnife-Zeichenspiegel

Long-VITA: Ein visuelles Sprachmodell, das sehr lange kontextuelle Ausgaben unterstützt

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 Tencent YouTuber Lab, der Nanjing University und der Xiamen University 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 in langen Kontexten 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.

Long-VITA: Ein visuelles Sprachmodell, das ultralange kontextuelle Ausgaben unterstützt-1


 

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.

Einbauverfahren

  1. 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 Long-VITA

Dadurch wird der gesamte Code und die Dokumentation für das Projekt heruntergeladen.

  1. Erstellen einer virtuellen Umgebung
    Verwenden Sie Conda, um eine separate Python-Umgebung zu erstellen und die Isolierung von Abhängigkeiten zu gewährleisten:

    conda create -n long-vita python=3.10 -y
    conda activate long-vita
    
  2. Installation von Abhängigkeiten
    Installieren Sie die für Ihr Projekt erforderlichen Python-Pakete:

    pip install --upgrade pip
    pip install -r requirements.txt
    

    Wenn eine beschleunigte Argumentation erforderlich ist, kann Flash Attention zusätzlich installiert werden:

    pip install flash-attn --no-build-isolation
    
  3. Download Modellgewichte
    Long-VITA ist in verschiedenen Versionen (z.B. 16K, 128K, 1M Token) erhältlich, die von Hugging Face heruntergeladen werden können:

  4. 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.

Verwendung

Long-VITA unterstützt zwei Hauptbetriebsarten, Inferenz und Auswertung, und die folgenden Schritte werden beschrieben.

logische Schlussfolgerung

  1. Vorbereiten der Dateneingabe
    • Bildmaterial: Platzieren Sie eine Bilddatei (z.B. .jpg vielleicht .png(Berechnen) setzen (in) asset 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.
  2. 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 [模型权重路径] \
    --image_path asset/sample_image.jpg \
    --model_type qwen2p5_instruct \
    --conv_mode qwen2p5_instruct \
    --question "描述这张图片的内容。"
    

    Für den Videoeingang fügen Sie --video_path Parameter:

    --video_path asset/sample_video.mp4
    
  3. Ansicht Ausgabe
    Das Modell gibt am Endpunkt Ergebnisse aus, z. B. Bildbeschreibungen oder Inhalte der Videoanalyse.

Bewertung der Leistung

  1. Vorbereitung von Bewertungsdatensätzen
    Laden Sie den Benchmark-Datensatz (z. B. Video-MME) herunter und organisieren Sie die Dateistruktur wie gewünscht.
  2. Führen Sie das Auswertungsskript aus
    Werten Sie mit dem mitgelieferten Skript aus:

    bash script/evaluate.sh [模型路径] [数据集路径]
    

Featured Function Bedienung

Extrem lange Kontextverarbeitung

  • Verfahren:
    1. 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.
    2. ausnutzen --max_seq_len 1048576 legt die maximale Sequenzlänge fest.
    3. 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:
    1. Bereiten Sie multimodale Eingaben wie Bild + Text oder Video + Frage vor.
    2. Geben Sie beides in der Befehlszeile an --image_path im Gesang antworten --questionAls:
      --image_path asset/sample_image.jpg --question "图片中的人物是谁?"
      
    3. 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 beschreibt die Aktion auf dem Foto.

verteilte Schlussfolgerung

  • Verfahren:
    1. Um eine Multi-GPU-Umgebung zu konfigurieren, ändern Sie die CUDA_VISIBLE_DEVICES=0,1,2,3.
    2. Mit der kontextuellen Paralleloption ausführen:
      python -m torch.distributed.launch --nproc_per_node=4 video_audio_demo.py [参数]
      
    3. Das Modell weist Aufgaben automatisch mehreren Geräten zu, um die Verarbeitungsgeschwindigkeit zu erhöhen.
  • 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.

Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " Long-VITA: Ein visuelles Sprachmodell, das sehr lange kontextuelle Ausgaben unterstützt
de_DEDeutsch