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.
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.
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
- 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.
- 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
- Klonen Sie Ihr GitHub-Repository, indem Sie den Befehl im Terminal eingeben:
- 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.
ffmpeg
Linux-Benutzer können Folgendes ausführensudo apt install ffmpeg
. - Nicht-Linux-Benutzer, die nicht installieren können
decord
kann ersetzt werden durch:pip install qwen-omni-utils
- Hinweis: Eine Vorinstallation ist erforderlich.
- Da der Code noch nicht vollständig in den Master-Zweig von Hugging Face integriert wurde, muss eine spezielle Version von Transformers installiert werden:
- Modelle herunterladen
- Laden Sie das Modell Qwen2.5-Omni-7B von Hugging Face (https://huggingface.co/Qwen/Qwen2.5-Omni-7B), speichern Sie sie lokal.
- Ü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('安装成功')"
- Führen Sie den folgenden Befehl aus, um die Umgebung zu überprüfen:
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))
- Modelle und Prozessoren laden:
- 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))
- Bereiten Sie die Bilddatei vor (z. B.
- 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))
- Bereiten Sie die Audiodatei vor (z. B.
- 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))
- Bereiten Sie die Videodatei vor (z. B.
- 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)
- Richten Sie Systemansagen ein und aktivieren Sie die Sprachsteuerung:
- 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)
- Geben Sie den Ton (z. B. Chelsie oder Ethan) bei der Erstellung an:
- 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")
- Installieren Sie FlashAttention-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
- 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. - 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. - 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
- 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. - 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. - Ist sie im Handel erhältlich?
Ja, basierend auf der Apache 2.0-Lizenz, frei für kommerzielle Nutzung unter bestimmten Bedingungen.