Qwen2.5-Omni-7B : Le Modèle IA Multimodal de Bout en Bout Ultime

💡Vous êtes intéressé par les dernières tendances en IA ? Alors, ne manquez pas Anakin AI ! Anakin AI est une plateforme tout-en-un pour toute votre automatisation de flux de travail, créez des applications IA puissantes avec un constructeur d'applications sans code facile à utiliser, avec Deepseek, le o3-mini-high de OpenAI, Claude

Build APIs Faster & Together in Apidog

Qwen2.5-Omni-7B : Le Modèle IA Multimodal de Bout en Bout Ultime

Start for free
Inhalte
💡
Vous êtes intéressé par les dernières tendances en IA ?

Alors, ne manquez pas Anakin AI !

Anakin AI est une plateforme tout-en-un pour toute votre automatisation de flux de travail, créez des applications IA puissantes avec un constructeur d'applications sans code facile à utiliser, avec Deepseek, le o3-mini-high de OpenAI, Claude 3.7 Sonnet, FLUX, Minimax Video, Hunyuan...

Construisez votre application IA de rêve en quelques minutes, pas en semaines avec Anakin AI !
Anakin AI: Votre plateforme IA tout-en-un
Anakin AI : Votre plateforme IA tout-en-un

Introduction

Qwen2.5-Omni-7B représente la dernière avancée en matière de technologie IA multimodale de l'équipe Qwen chez Alibaba Cloud. Lancé dans le cadre de la série Qwen2.5, ce modèle de 7 milliards de paramètres marque une avancée significative dans les capacités multimodales de bout en bout, capable de percevoir et de traiter diverses modalités d'entrée, y compris le texte, les images, l'audio et la vidéo, tout en générant simultanément des réponses textuelles et des réponses vocales naturelles de manière continue.

Ce qui distingue Qwen2.5-Omni-7B, c'est son exceptionnelle polyvalence et performance dans toutes les modalités, en faisant un véritable modèle "omni" pour diverses applications IA. La capacité du modèle à gérer la parole, la vision et le texte simultanément le place parmi les modèles multimodaux open-source les plus avancés actuellement disponibles.

Fonctionnalités et Capacités Clés

Nouvelle Architecture Penseur-Parleur

Au cœur de Qwen2.5-Omni-7B se trouve son architecture innovante Penseur-Parleur, spécialement conçue pour une perception multimodale complète. Cette architecture permet au modèle de :

  • Traiter plusieurs modalités d'entrée simultanément
  • Générer à la fois des sorties textuelles et vocales
  • Fournir des réponses en continu en temps réel

L'architecture comprend un nouveau système d'embededding de position appelé TMRoPE (Time-aligned Multimodal RoPE), qui synchronise les horodatages des entrées vidéo avec l'audio, permettant une compréhension multimodale plus cohérente.

Chat Vocal et Vidéo en Temps Réel

Le modèle est conçu pour des interactions entièrement en temps réel, prenant en charge le traitement d'entrées par segments et la génération immédiate de sorties. Cette capacité est cruciale pour les applications nécessitant un flux conversationnel naturel, telles que les assistants virtuels et les systèmes interactifs.

Génération de Discours Naturel et Robuste

Qwen2.5-Omni-7B démontre des capacités de génération de discours supérieures à de nombreuses alternatives existantes, qu'elles soient en streaming ou non. La sortie vocale du modèle est caractérisée par une robustesse et une naturalité exceptionnelles, la rendant adaptée à des applications où une sortie vocale de haute qualité est essentielle.

Excellente Performance Cross-Modal

Lorsqu'il est comparé à des modèles à modalité unique de taille similaire, Qwen2.5-Omni-7B présente une performance exceptionnelle dans toutes les modalités. Il surpasse le Qwen2-Audio de taille comparable en ce qui concerne les capacités audio et atteint une performance comparable avec le Qwen2.5-VL-7B dans les tâches de vision-langage, démontrant sa polyvalence en tant que véritable système multimodal.

Excellent Suivi des Instructions Vocales

Un des aspects les plus impressionnants de Qwen2.5-Omni-7B est sa capacité à suivre des instructions via des entrées vocales avec une performance rivalisant avec ses capacités d'entrée textuelle. Cela est démontré par sa forte performance dans des benchmarks tels que MMLU et GSM8K lorsqu'il reçoit des entrées vocales, montrant que le modèle maintient des capacités cognitives élevées indépendamment de la modalité d'entrée.

Performance Benchmark

Qwen2.5-Omni-7B a subi une évaluation complète à travers plusieurs benchmarks, démontrant de manière constante une forte performance dans divers domaines :

Benchmarks Multimodaux

Dans OmniBench, qui teste la performance à travers la compréhension de la parole, des événements sonores et de la musique :

  • Qwen2.5-Omni-7B : 56.13 % de performance moyenne
  • Gemini-1.5-Pro : 42.91 %
  • Baichuan-Omni-1.5 : 42.90 %
  • MiniCPM-o : 40.50 %

Cela place Qwen2.5-Omni-7B à la pointe de la technologie pour les tâches de compréhension multimodale parmi des modèles de taille comparable.

Traitement Audio

Pour la reconnaissance vocale sur LibriSpeech :

  • Qwen2.5-Omni-7B : 1.8 WER sur test-clean, 3.4 WER sur test-other
  • Qwen2-Audio : 1.6 WER sur test-clean, 3.6 WER sur test-other
  • Whisper-large-v3 : 1.8 WER sur test-clean, 3.6 WER sur test-other

Pour la compréhension audio sur MMAU :

  • Qwen2.5-Omni-7B : 65.60 % (moyenne)
  • Gemini-Pro-V1.5 : 54.90 %
  • Qwen2-Audio : 49.20 %

Compréhension d'Image et de Vidéo

Sur les benchmarks de compréhension d'image :

  • MMMU val : 59.2 % (comparé à 60.0 % pour GPT-4o-mini et 58.6 % pour Qwen2.5-VL-7B)
  • MMBench-V1.1-EN test : 81.8 % (comparé à 82.6 % pour Qwen2.5-VL-7B et 76.0 % pour GPT-4o-mini)

Pour la compréhension vidéo :

  • MVBench : 70.3 % (comparé à 69.6 % pour Qwen2.5-VL-7B)
  • Video-MME sans sous-titres : 64.3 % (comparé à 65.1 % pour Qwen2.5-VL-7B)

Benchmarks Texte-Seul

Bien qu'il s'agisse d'un modèle multimodal, Qwen2.5-Omni-7B maintient une forte performance sur les benchmarks uniquement textuels :

  • MMLU-redux : 71.0 % (comparé à 75.4 % pour Qwen2.5-7B)
  • GSM8K : 88.7 % (comparé à 91.6 % pour Qwen2.5-7B)
  • HumanEval : 78.7 % (comparé à 84.8 % pour Qwen2.5-7B)

Bien que la performance uniquement textuelle soit légèrement inférieure à celle de son homologue textuel spécialisé (Qwen2.5-7B), elle surpasse largement de nombreux modèles comparables comme Llama3.1-8B et Gemma2-9B dans la plupart des benchmarks.

Exécution de Qwen2.5-Omni-7B Localement

Mettre en place et exécuter Qwen2.5-Omni-7B localement nécessite certaines préparations en raison de ses exigences multimodales. Voici un guide complet pour commencer :

Exigences Systèmes

Pour exécuter Qwen2.5-Omni-7B efficacement, vous aurez besoin de :

  • GPU compatible CUDA avec une mémoire suffisante :
  • Pour une vidéo de 15s : 31.11 Go (BF16)
  • Pour une vidéo de 30s : 41.85 Go (BF16)
  • Pour une vidéo de 60s : 60.19 Go (BF16)
  • Remarque : L'utilisation de mémoire réelle est généralement 1.2x plus élevée que ces minimums théoriques
  • Exigences logicielles :
  • Python 3.8+
  • PyTorch 2.0+
  • FFmpeg (pour le traitement audio/vidéo)

Étapes d'Installation

Installez les packages nécessaires :

pip uninstall transformers
pip install git+https://github.com/huggingface/transformers@3a1ead0aabed473eafe527915eea8c197d424356
pip install accelerate
pip install qwen-omni-utils[decord]

Installez Flash Attention 2 (optionnel mais recommandé pour de meilleures performances) :

pip install -U flash-attn --no-build-isolation

Exemple d'Utilisation de Base

Voici un exemple de base de la façon d'utiliser Qwen2.5-Omni-7B avec Transformers :

import soundfile as sf
from transformers import Qwen2_5OmniModel, Qwen2_5OmniProcessor
from qwen_omni_utils import process_mm_info

# Charger le modèle
model = Qwen2_5OmniModel.from_pretrained(
    "Qwen/Qwen2.5-Omni-7B",
    torch_dtype="auto",
    device_map="auto",
    # Décommenter pour de meilleures performances avec du matériel compatible
    # attn_implementation="flash_attention_2",
)

# Charger le processeur
processor = Qwen2_5OmniProcessor.from_pretrained("Qwen/Qwen2.5-Omni-7B")

# Préparer la conversation
conversation = [
    {
        "role": "system",
        "content": "Vous êtes Qwen, un humain virtuel développé par l'équipe Qwen, le groupe Alibaba, capable de percevoir des entrées auditives et visuelles, ainsi que de générer du texte et de la parole.",
    },
    {
        "role": "user",
        "content": [
            {"type": "video", "video": "<https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen2.5-Omni/draw.mp4>"},
        ],
    },
]

# Préparation pour l'inférence
text = processor.apply_chat_template(conversation, add_generation_prompt=True, tokenize=False)
audios, images, videos = process_mm_info(conversation, use_audio_in_video=True)
inputs = processor(
    text=text,
    audios=audios,
    images=images,
    videos=videos,
    return_tensors="pt",
    padding=True
)
inputs = inputs.to(model.device).to(model.dtype)

# Inférence : Génération du texte de sortie et de l'audio
text_ids, audio = model.generate(**inputs, use_audio_in_video=True)
text = processor.batch_decode(text_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)
print(text)

# Sauvegarder la sortie audio
sf.write(
    "output.wav",
    audio.reshape(-1).detach().cpu().numpy(),
    samplerate=24000,
)

Conseils d'Utilisation

Exigences de Sortie Audio

Pour activer la sortie audio, l'invite système doit être définie exactement comme indiqué :

{
    "role": "system",
    "content": "Vous êtes Qwen, un humain virtuel développé par l'équipe Qwen, le groupe Alibaba, capable de percevoir des entrées auditives et visuelles, ainsi que de générer du texte et de la parole."
}

Sélection du Type de Voix

Qwen2.5-Omni-7B prend en charge deux types de voix :

  • Chelsie (Femme) : Une voix douce et veloutée avec une chaleur douce et une clarté lumineuse
  • Ethan (Homme) : Une voix vive et optimiste avec une énergie infectieuse et une chaleur

Vous pouvez spécifier la voix en utilisant le paramètre spk :

text_ids, audio = model.generate(**inputs, spk="Ethan")

Options de Traitement Vidéo

La compatibilité des URL vidéo dépend de la version de la bibliothèque tierce :

  • torchvision >= 0.19.0 : prend en charge à la fois HTTP et HTTPS
  • decord : prend en charge uniquement HTTP

Vous pouvez changer le backend en définissant des variables d'environnement :

FORCE_QWENVL_VIDEO_READER=torchvision
# ou
FORCE_QWENVL_VIDEO_READER=decord

Déploiement Docker

Pour un déploiement simplifié, vous pouvez utiliser l'image Docker officielle :

docker run --gpus all --ipc=host --network=host --rm --name qwen2.5-omni -it qwenllm/qwen-omni:2.5-cu121 bash

Pour lancer la démo web via Docker :

bash docker/docker_web_demo.sh --checkpoint /path/to/Qwen2.5-Omni-7B --flash-attn2

Déploiement vLLM

Pour une inférence plus rapide, vLLM est recommandé :

Installez vLLM avec un support pour Qwen2.5-Omni :

pip install git+https://github.com/huggingface/transformers@1d04f0d44251be5e236484f8c8a00e1c7aa69022
pip install accelerate
pip install qwen-omni-utils
git clone -b qwen2_omni_public_v1 <https://github.com/fyabc/vllm.git> vllm
cd vllm
pip install .

Utilisation de base de vLLM (sortie texte seule actuellement prise en charge) :

import os
import torch
from transformers import Qwen2_5OmniProcessor
from vllm import LLM, SamplingParams
from qwen_omni_utils import process_mm_info

os.environ['VLLM_USE_V1'] = '0'  # moteur vLLM v1 non encore supporté
MODEL_PATH = "Qwen/Qwen2.5-Omni-7B"

llm = LLM(
    model=MODEL_PATH,
    trust_remote_code=True,
    gpu_memory_utilization=0.9,
    tensor_parallel_size=torch.cuda.device_count(),
    limit_mm_per_prompt={'image': 1, 'video': 1, 'audio': 1},
    seed=1234
)

# Traiter les entrées et générer des sorties comme indiqué dans l'exemple

Conclusion

Qwen2.5-Omni-7B représente une avancée significative dans la technologie IA multimodale, offrant des performances impressionnantes dans le traitement du texte, des images, de l'audio et de la vidéo dans un seul modèle. Avec sa taille de 7 milliards de paramètres, il offre un bon équilibre entre capacité et exigences en ressources, le rendant accessible pour divers scénarios de déploiement.

La capacité du modèle à non seulement comprendre plusieurs modalités mais aussi à générer à la fois des sorties textuelles et vocales ouvre de nombreuses possibilités pour des applications dans des assistants virtuels, la création de contenu, des outils d'accessibilité, et bien plus encore. Sa performance compétitive par rapport à des modèles spécialisés plus grands démontre l'efficacité de son architecture et de son approche de formation.

Alors que l'IA continue d'évoluer vers des capacités d'interaction plus semblables à celles des humains, des modèles comme Qwen2.5-Omni-7B représentent une étape importante dans la création de systèmes d'intelligence artificielle plus naturels et polyvalents pouvant établir une passerelle entre plusieurs formes de communication.