AI Personal Learning
und praktische Anleitung
Sitzsack Marscode1

Ovis: ein visuelles und textuelles Ausrichtungsmodell für genaue Backpropagation von Bildstichwörtern

Allgemeine Einführung

Ovis (Open VISion) ist ein vom AIDC-AI-Team der International Digital Commerce Group von Alibaba entwickeltes und auf GitHub gehostetes Open-Source-Multimodal-Large-Language-Model (MLLM), das eine innovative strukturelle Einbettungsausrichtungstechnik verwendet, um visuelle und textuelle Daten effizient zusammenzuführen, multimodale Eingaben wie Bilder, Texte und Videos zu unterstützen und die entsprechenden Ausgabeinhalte zu erzeugen. Ab März 2025 hat Ovis die Ovis2-Familie (Parameterskalen 1B bis 34B) auf den Markt gebracht, die eine überlegene Miniaturisierungsleistung, verbesserte Inferenzfähigkeiten und die Fähigkeit zur Verarbeitung hochauflösender Bilder und Videos bietet. Das Projekt, das sich an Entwickler und Forscher richtet, bietet eine ausführliche Dokumentation und Code, betont die Open-Source-Zusammenarbeit und hat in der Gemeinschaft bereits an Boden gewonnen.

Ovis: visuelles und textuelles Ausrichtungsmodell für genaue Backpropagation von Bildwörtern-1


 

Funktionsliste

  • Multimodale EingabeunterstützungVerarbeitet mehrere Eingabearten wie Bilder, Text, Video usw.
  • Visuelle TextausrichtungGenerieren Sie Textbeschreibungen, die genau zum Bild- oder Videoinhalt passen.
  • Hochauflösende BildverarbeitungOptimiert, um hochauflösende Bilder zu unterstützen und Details zu erhalten.
  • Video- und MultigraphenanalyseUnterstützt die sequentielle Verarbeitung von Videobildsequenzen und mehreren Bildern.
  • Verbessertes logisches DenkenVerbesserung des logischen Denkens durch Unterrichtsoptimierung und DPO-Training.
  • Mehrsprachige OCR-UnterstützungErkennung und Verarbeitung von mehrsprachigem Bildtext.
  • Mehrere ModelloptionenModelle mit Parametern von 1B bis 34B sind für unterschiedliche Hardware erhältlich.
  • Unterstützung der quantitativen Version: z.B. Modell GPTQ-Int4, um die operationelle Schwelle zu senken.
  • Integration der Gradio-SchnittstelleBereitstellung einer intuitiven Schnittstelle für die Web-Interaktion.

 

Hilfe verwenden

Einbauverfahren

Die Installation von Ovis ist auf bestimmte Python-Umgebungen und -Bibliotheken angewiesen, die im Folgenden beschrieben werden:

  1. Vorbereitung der Umwelt
    • Stellen Sie sicher, dass Git und Anaconda installiert sind.
    • Klonen Sie das Ovis-Repository:
      git clone git@github.com:AIDC-AI/Ovis.git
      
    • Erstellen und aktivieren Sie eine virtuelle Umgebung:
      conda create -n ovis python=3.10 -y
      conda activate ovis
      
  2. Abhängige Installation
    • Rufen Sie den Projektkatalog auf:
      cd Ovis
      
    • Abhängigkeiten installieren (basierend auf requirements.txt):
      pip install -r requirements.txt
      
    • Installieren Sie das Ovis-Paket:
      pip install -e .
      
    • (Optional) Installation von Beschleunigungsbibliotheken (z. B. Flash Attention):
      pip install flash-attn==2.7.0.post2 --no-build-isolation
      
  3. Validierung der Umwelt
    • Überprüfen Sie die PyTorch-Version (2.4.0 empfohlen):
      python -c "import torch; print(torch.__version__)"
      

Wie man Ovis verwendet

Ovis unterstützt sowohl Befehlszeilen- als auch Gradio-Schnittstellen-Operationen. Hier finden Sie eine detaillierte Anleitung:

Befehlszeilenargumentation

  1. Aufbereitung von Modellen und Inputs
    • Laden Sie das Modell von Hugging Face herunter (z. B. Ovis2-8B):
      git clone https://huggingface.co/AIDC-AI/Ovis2-8B
      
    • Vorbereiten von Eingabedateien, z. B. Bilder example.jpg und die Aufforderung "Beschreiben Sie dieses Bild".
  2. logische Schlussfolgerung
    • Skripte erstellen run_ovis.py::
      import torch
      from PIL import Image
      from transformers import AutoModelForCausalLM
      # 加载模型
      model = AutoModelForCausalLM.from_pretrained(
      "AIDC-AI/Ovis2-8B",
      torch_dtype=torch.bfloat16,
      multimodal_max_length=32768,
      trust_remote_code=True
      ).cuda()
      # 获取 tokenizer
      text_tokenizer = model.get_text_tokenizer()
      visual_tokenizer = model.get_visual_tokenizer()
      # 处理输入
      image = Image.open("example.jpg")
      text = "描述这张图片"
      query = f"<image>\n{text}"
      prompt, input_ids, pixel_values = model.preprocess_inputs(query, [image])
      attention_mask = torch.ne(input_ids, text_tokenizer.pad_token_id)
      # 生成输出
      with torch.inference_mode():
      output_ids = model.generate(
      input_ids.unsqueeze(0).cuda(),
      pixel_values=[pixel_values.cuda()],
      attention_mask=attention_mask.unsqueeze(0).cuda(),
      max_new_tokens=1024
      )
      output = text_tokenizer.decode(output_ids[0], skip_special_tokens=True)
      print("输出结果:", output)
      
    • Führen Sie das Skript aus:
      python run_ovis.py
      
  3. Ergebnisse anzeigen
    • Beispiel: "Das Bild zeigt einen Hund auf einer Wiese mit blauem Himmel im Hintergrund".

Gradio Interface Betrieb

  1. Neue Dienste
    • Führen Sie es über den Ovis-Katalog aus:
      python ovis/serve/server.py --model_path AIDC-AI/Ovis2-8B --port 8000
      
    • Warten auf das Laden, Zugriff auf http://127.0.0.1:8000.
  2. Schnittstellenbetrieb
    • Laden Sie ein Bild auf die Schnittstelle hoch.
    • Geben Sie Aufforderungen wie "Was ist auf diesem Bild?" ein. .
    • Klicken Sie auf Senden, um die generierten Ergebnisse anzuzeigen.

Ausgewählte Funktionen

Hochauflösende Bildverarbeitung

  • VerfahrenLaden Sie hochauflösende Bilder hoch und das Modell wird automatisch partitioniert (maximale Anzahl von Partitionen 9).
  • Nehmen Sie: Geeignet für Aufgaben wie die Analyse von Kunstwerken und die Interpretation von Karten.
  • Hardware-EmpfehlungenDie neueste Ergänzung des Betriebssystems ist der 16 GB große Grafikspeicher, der für einen reibungslosen Betrieb sorgt.

Video- und Multigraphenanalyse

  • Verfahren::
    1. Bereiten Sie Videobilder oder mehrere Bilder vor, z. B. [Image.open("frame1.jpg"), Image.open("frame2.jpg")].
    2. Ändern Sie den Inferenzcode in der Datei pixel_values Der Parameter ist eine Liste mit mehreren Bildern.
  • Nehmen SieAnalyse von Videoclips oder Sequenzen von kontinuierlichen Bildern.
  • Beispielhafte AusgabeDer erste Rahmen ist eine Straße, der zweite ein Fußgänger".

Mehrsprachige OCR-Unterstützung

  • VerfahrenHochladen von Bildern mit Text in mehreren Sprachen und Eingabe der Aufforderung "Text aus Bild extrahieren".
  • Nehmen SieScannen von Dokumenten, Übersetzen von Bildtext.
  • Beispiele für ErgebnisseExtrahieren gemischter chinesischer und englischer Texte und Erstellen von Beschreibungen.

Verbessertes logisches Denken

  • VerfahrenEingabe komplexer Fragen wie "Wie viele Personen sind auf dem Bild zu sehen? Bitte erklären Sie Schritt für Schritt".
  • Nehmen SieBildung, Aufgaben der Datenanalyse.
  • Beispielhafte AusgabeDer erste Schritt besteht darin, eine Person auf der linken Seite zu beobachten und der zweite Schritt darin, eine zweite Person auf der rechten Seite zu beobachten.

caveat

  • Hardware-VoraussetzungOvis2-1B benötigt 4 GB Videospeicher, Ovis2-34B empfiehlt mehrere GPUs (48 GB+).
  • Kompatibilität der ModelleUnterstützung für LLM (z. B. Qwen2.5) und ViT (z. B. aimv2).
  • Feedback der GemeinschaftIssues können auf GitHub Issues eingereicht werden.

 

Ovis2 Image Backpropagation Prompt Word Ein-Klick-Installer

Basierend auf den Modellen Ovis2-4B und Ovis2-2B.

Quark: https://pan.quark.cn/s/23095bb34e7c

Baidu: https://pan.baidu.com/s/12fWAbshwKY8OYcCcv_5Pkg?pwd=2727

Entpacken Sie das Passwort und finden Sie es selbst unter jian27.

Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " Ovis: ein visuelles und textuelles Ausrichtungsmodell für genaue Backpropagation von Bildstichwörtern
de_DEDeutsch