AI Personal Learning
und praktische Anleitung
讯飞绘镜

Qwen2.5-Omni: ein Endmessungsmodell für multimodale Eingabe und Sprachinteraktion in Echtzeit

Allgemeine Einführung

Qwen2.5-Omni ist ein Open-Source-Modell für multimodale KI, das vom Alibaba Cloud Qwen-Team entwickelt wurde. Es kann mehrere Eingaben wie Text, Bilder, Audio und Video verarbeiten und Antworten in Text oder natürlicher Sprache in Echtzeit erzeugen. Das Modell wurde am 26. März 2025 veröffentlicht. Der Code und die Modelldateien werden auf GitHub gehostet und können von jedermann kostenlos heruntergeladen und genutzt werden. Es nutzt die Thinker-Talker-Architektur und die TMRoPE-Technologie, um eine effiziente Verarbeitung multimodaler Daten zu gewährleisten.Qwen2.5-Omni ist gut für Aufgaben wie Spracherkennung, Bildverständnis und Videoanalyse geeignet und eignet sich für Szenarien wie intelligente Assistenten und Multimedia-Verarbeitung.

Qwen2.5-Omni:多模态输入和实时语音交互的端测模型-1


 

Funktionsliste

  • Unterstützt multimodale Eingaben: kann Text, Bilder, Audio und Video gleichzeitig verarbeiten.
  • Echtzeit-Streaming-Antwort: Text- oder Sprachfeedback wird sofort nach der Eingabe generiert.
  • Natürliche Sprachsynthese: Erzeugt klare und natürliche Sprache, unterstützt mehrere Töne.
  • Verstehen von Bildern und Videos: Identifizieren von Bildinhalten oder Analysieren von Videoclips.
  • End-to-End-Befehlsverfolgung: Erledigen Sie Aufgaben direkt auf der Grundlage von Sprach- oder Textbefehlen.
  • Open Source und kostenlos: Der vollständige Code und die Modelle werden zur Verfügung gestellt, um die Benutzeranpassung zu unterstützen.

 

Wir haben eine umfassende Evaluierung von Qwen2.5-Omni durchgeführt. Die Ergebnisse zeigen, dass es in allen Modalitäten eine starke Leistung erbringt, was ihm einen Vorteil gegenüber gleich großen Modellen mit nur einer Modalität sowie gegenüber Closed-Source-Modellen wie Qwen2.5-VL-7B, Qwen2-Audio und Gemini-1.5-Pro verschafft. Bei Aufgaben, die die Integration mehrerer Modalitäten erfordern, wie z. B. OmniBench, erreicht Qwen2.5-Omni die beste Leistung. Bei Aufgaben, die nur eine einzige Modalität erfordern, ist Qwen2.5-Omni in den Bereichen Spracherkennung (Common Voice), Übersetzung (CoVoST2), Audioverstehen (MMAU), Image Reasoning (MMMU, MMStar), Videoverstehen (MVBench) und Spracherzeugung (Seed-tts-eval und Subjective Naturalness) führend.

Qwen2.5-Omni:多模态输入和实时语音交互的端测模型-1

 

Hilfe verwenden

Die Verwendung von Qwen 2.5-Omni erfordert ein gewisses Maß an technischem Wissen. Nachfolgend finden Sie eine ausführliche Anleitung zur Installation und Bedienung, die den Benutzern einen schnellen Einstieg ermöglicht.

Einbauverfahren

  1. Vorbereiten der Umgebung
    • Stellen Sie sicher, dass Python 3.10 oder höher installiert ist.
    • Git ist erforderlich, um den Code herunterzuladen.
    • Empfohlen für Linux-Systeme, Nicht-Linux-Systeme erfordern möglicherweise eine zusätzliche Konfiguration.
  2. Code herunterladen
    • Klonen Sie Ihr GitHub-Repository, indem Sie den Befehl im Terminal eingeben:
      git clone https://github.com/QwenLM/Qwen2.5-Omni.git
      
    • Rufen Sie den Projektkatalog auf:
      cd Qwen2.5-Omni
      
  3. Installation von Abhängigkeiten
    • Da der Code noch nicht vollständig in den Master-Zweig von Hugging Face integriert wurde, muss eine spezielle Version von Transformers installiert werden:
      pip uninstall transformers
      pip install git+https://github.com/huggingface/transformers@3a1ead0aabed473eafe527915eea8c197d424356
      pip install accelerate
      
    • Installieren Sie das multimodale Verarbeitungsprogramm:
      pip install qwen-omni-utils[decord]
      
      • Hinweis: Eine Vorinstallation ist erforderlich. ffmpegLinux-Benutzer können Folgendes ausführen sudo apt install ffmpeg.
      • Nicht-Linux-Benutzer, die nicht installieren können decordkann ersetzt werden durch:
        pip install qwen-omni-utils
        
  4. Modelle herunterladen
  5. Überprüfen der Installation
    • Führen Sie den folgenden Befehl aus, um die Umgebung zu überprüfen:
      python -c "from transformers import Qwen2_5OmniModel; print('安装成功')"
      

Funktion Betriebsablauf

1. die Verarbeitung von Texteingaben

  • Verfahren::
    • Modelle und Prozessoren laden:
      from transformers import Qwen2_5OmniModel, Qwen2_5OmniProcessor
      model = Qwen2_5OmniModel.from_pretrained("Qwen/Qwen2.5-Omni-7B", device_map="auto")
      processor = Qwen2_5OmniProcessor.from_pretrained("Qwen/Qwen2.5-Omni-7B")
      
    • Geben Sie Text ein und erzeugen Sie eine Antwort:
      text = "今天天气怎么样?"
      inputs = processor(text=text, return_tensors="pt")
      outputs = model.generate(**inputs)
      print(processor.batch_decode(outputs, skip_special_tokens=True))
      
  • am EndeRückgabe von Textantworten wie "Es ist ein sonniger Tag mit einer angenehmen Temperatur".

2. die Verarbeitung von Bildeingängen

  • Verfahren::
    • Bereiten Sie die Bilddatei vor (z. B. image.jpg).
    • Ändern Sie das Skript so, dass es Bilder enthält:
      images = ["image.jpg"]
      text = "图片里有什么?"
      inputs = processor(text=text, images=images, return_tensors="pt")
      outputs = model.generate(**inputs)
      print(processor.batch_decode(outputs, skip_special_tokens=True))
      
  • am EndeBeschreiben Sie den Inhalt des Bildes, z. B. "Auf dem Bild ist ein Hund zu sehen, der im Gras läuft."

3. die Verarbeitung von Audioeingängen

  • Verfahren::
    • Bereiten Sie die Audiodatei vor (z. B. audio.wav).
    • Ändern Sie das Skript so, dass es Audio enthält:
      audios = ["audio.wav"]
      text = "音频里说了什么?"
      inputs = processor(text=text, audios=audios, return_tensors="pt")
      outputs = model.generate(**inputs)
      print(processor.batch_decode(outputs, skip_special_tokens=True))
      
  • am EndeTranskribieren Sie den Audioinhalt, z.B.: "Im Audio heißt es 'Es wird morgen regnen.'"

4. die Verarbeitung von Videoeingängen

  • Verfahren::
    • Bereiten Sie die Videodatei vor (z. B. video.mp4).
    • Ändern Sie das Skript so, dass es ein Video enthält:
      videos = ["video.mp4"]
      text = "视频里发生了什么?"
      inputs = processor(text=text, videos=videos, return_tensors="pt")
      outputs = model.generate(**inputs)
      print(processor.batch_decode(outputs, skip_special_tokens=True))
      
  • am EndeBeschreiben Sie den Inhalt des Videos, z. B. "Jemand im Video zeichnet".

5. die Erzeugung der Sprachausgabe

  • Verfahren::
    • Richten Sie Systemansagen ein und aktivieren Sie die Sprachsteuerung:
      conversation = [
      {"role": "system", "content": "You are Qwen, a virtual human developed by the Qwen Team, Alibaba Group, capable of perceiving auditory and visual inputs, as well as generating text and speech."},
      {"role": "user", "content": "请用语音回答:今天天气如何?"}
      ]
      text = processor.apply_chat_template(conversation, tokenize=False, add_generation_prompt=True)
      inputs = processor(text=text, return_tensors="pt")
      text_ids, audio = model.generate(**inputs, use_audio_in_video=True)
      import soundfile as sf
      sf.write("output.wav", audio.reshape(-1).detach().cpu().numpy(), samplerate=24000)
      
  • am Ende: Erzeugen output.wav Datei mit dem Inhalt der Sprachausgabe.

6. die Anpassung der Stimmtöne

  • Verfahren::
    • Geben Sie den Ton (z. B. Chelsie oder Ethan) bei der Erstellung an:
      text_ids, audio = model.generate(**inputs, spk="Ethan")
      sf.write("output.wav", audio.reshape(-1).detach().cpu().numpy(), samplerate=24000)
      
  • am EndeErzeugt eine Sprachdatei mit der angegebenen Klangfarbe.

7. die Beschleunigung mit FlashAttention-2

  • Verfahren::
    • Installieren Sie FlashAttention-2:
      pip install -U flash-attn --no-build-isolation
      
    • Wird beim Laden eines Modells aktiviert:
      model = Qwen2_5OmniModel.from_pretrained("Qwen/Qwen2.5-Omni-7B", device_map="auto", attn_implementation="flash_attention_2")
      
  • am EndeSchnellere Erzeugung und geringerer Speicherbedarf.

caveat

  • Hardware-Voraussetzung: GPUs werden empfohlen, mit mindestens 16 GB Videospeicher.
  • NetzanforderungDas Netz muss beim Herunterladen von Modellen und Abhängigkeiten stabilisiert werden.
  • Unterstützung bei der FehlersucheWenn Sie Probleme haben, lesen Sie die GitHub-Seite README.md oder eine Diskussion in der Gemeinschaft.

 

Anwendungsszenario

  1. Sprachassistent in Echtzeit
    Die Nutzer stellen Fragen per Sprache, und das Modell generiert in Echtzeit sprachliche Antworten, die sich für den Kundendienst oder persönliche Assistenten eignen.
  2. Analyse des Videoinhalts
    Geben Sie das Video ein, und das Modell extrahiert die wichtigsten Informationen, die dem Benutzer helfen, das Filmmaterial zu organisieren oder einen Bericht zu erstellen.
  3. Pädagogische Unterstützung
    Die Schüler laden Audio- oder Videodateien hoch, und die Modelle beantworten Fragen oder extrahieren wichtige Punkte, um das Lernen zu verbessern.

 

QA

  1. Welche Sprachen werden unterstützt?
    Es unterstützt hauptsächlich Chinesisch und Englisch und bietet Chelsie, Ethan und andere Töne für die Sprachsynthese.
  2. Wie viel Speicherplatz wird benötigt?
    Das Modell Qwen2.5-Omni-7B hat etwa 14 GB, und es wird empfohlen, mehr als 20 GB zu reservieren.
  3. Ist sie im Handel erhältlich?
    Ja, basierend auf der Apache 2.0-Lizenz, frei für kommerzielle Nutzung unter bestimmten Bedingungen.
Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " Qwen2.5-Omni: ein Endmessungsmodell für multimodale Eingabe und Sprachinteraktion in Echtzeit
de_DEDeutsch