Qwen2.5-Omni-7B: 究極のエンドツーエンドマルチモーダルAIモデル

💡最新のAIトレンドに興味がありますか? それなら、Anakin AIを見逃してはいけません! Anakin AIはワークフローの自動化のためのオールインワンプラットフォームで、使いやすいノーコードアプリビルダーを使って強力なAIアプリを作成できます。Deepseek、OpenAIのo3-mini-high、Claude 3.7 Sonnet、FLUX、Minimax Video、Hunyuanなど... Anakin AIで数分で夢のAIアプリを作成しましょう!無料で始める 紹介 Qwen2.5-Omni-7Bは、Alibaba CloudのQwenチームによるマルチモーダルAI技術の最新のブレークスルーです。Qwen2.5シリーズの一部としてリリースされたこの7Bパラメータモデルは、エンドツーエンドのマルチモーダル機能において重要な進展を示しており、テキスト、画像、音声、動画などの多様な入力モダリティを認識し処理することができる一方で、テキストと自然な音声応答をストリーミング方式で同時に生成します。 Qwen2.5-Omni-7Bの特筆すべき点は、すべてのモダリティ

Anakin AIを無料で利用開始

Qwen2.5-Omni-7B: 究極のエンドツーエンドマルチモーダルAIモデル

Start for free
目次
💡
最新のAIトレンドに興味がありますか?

それなら、Anakin AIを見逃してはいけません!

Anakin AIはワークフローの自動化のためのオールインワンプラットフォームで、使いやすいノーコードアプリビルダーを使って強力なAIアプリを作成できます。Deepseek、OpenAIのo3-mini-high、Claude 3.7 Sonnet、FLUX、Minimax Video、Hunyuanなど...

Anakin AIで数分で夢のAIアプリを作成しましょう!
Anakin AI: Your All-in-One AI Platform
Anakin AI: あなたのオールインワンAIプラットフォーム

紹介

Qwen2.5-Omni-7Bは、Alibaba CloudのQwenチームによるマルチモーダルAI技術の最新のブレークスルーです。Qwen2.5シリーズの一部としてリリースされたこの7Bパラメータモデルは、エンドツーエンドのマルチモーダル機能において重要な進展を示しており、テキスト、画像、音声、動画などの多様な入力モダリティを認識し処理することができる一方で、テキストと自然な音声応答をストリーミング方式で同時に生成します。

Qwen2.5-Omni-7Bの特筆すべき点は、すべてのモダリティにおける卓越した汎用性とパフォーマンスであり、さまざまなAIアプリケーションに対応する真の「オムニ」モデルです。このモデルの音声、視覚、テキストを同時に処理する能力は、現在入手可能な最も先進的なオープンソースのマルチモーダルモデルの一つとして位置づけられています。

主な特徴と機能

革新的なシンカー・トーカーアーキテクチャ

Qwen2.5-Omni-7Bの中心には、包括的なマルチモーダル認識のために特別に設計された革新的なシンカー・トーカーアーキテクチャがあります。このアーキテクチャは、モデルに以下の能力を提供します:

  • 複数の入力モダリティを同時に処理する
  • テキストと音声の出力を生成する
  • リアルタイムでストリーミング応答を提供する

このアーキテクチャには、動画入力のタイムスタンプを音声と同期させ、より一貫したマルチモーダル理解を可能にする新しい位置埋め込みシステムTMRoPE(Time-aligned Multimodal RoPE)が含まれています。

リアルタイム音声およびビデオチャット

このモデルは、完全なリアルタイムインタラクションのために構築されており、チャンク入力処理と即時出力生成をサポートしています。この機能は、仮想アシスタントやインタラクティブシステムのような自然な会話フローが必要なアプリケーションにとって重要です。

自然で堅牢な音声生成

Qwen2.5-Omni-7Bは、多くの既存のストリーミングおよび非ストリーミングの選択肢に比べて優れた音声生成能力を示します。このモデルの音声出力は、卓越した堅牢性と自然さを特徴としており、高品質の音声出力が必須とされるアプリケーションに適しています。

強力なクロスモーダル性能

サイズが類似の単一モダリティモデルと比較して、Qwen2.5-Omni-7Bはすべてのモダリティにおいて特別なパフォーマンスを発揮します。音声機能においては、同じサイズのQwen2-Audioを上回り、視覚と言語タスクにおいては、Qwen2.5-VL-7Bと同等のパフォーマンスを達成し、真のマルチモーダルシステムとしての汎用性を示しています。

優れた音声指示のフォロー

Qwen2.5-Omni-7Bの最も印象的な点の一つは、音声入力を介して指示に従う能力であり、テキスト入力の能力に匹敵するパフォーマンスを持っています。これは、音声入力が提供された際のMMLUやGSM8Kのようなベンチマークにおける強力なパフォーマンスによって証明されており、モデルが入力モダリティに関係なく高い認知能力を維持していることを示しています。

ベンチマークパフォーマンス

Qwen2.5-Omni-7Bは、複数のベンチマークに渡って包括的な評価を受けており、さまざまな分野で一貫して強力なパフォーマンスを示しています:

マルチモーダルベンチマーク

音声、音の出来事、音楽理解におけるパフォーマンスをテストするOmniBenchにおいて:

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

これにより、Qwen2.5-Omni-7Bは比較可能なサイズのモデルの中でマルチモーダル理解タスクの最前線に位置付けられます。

音声処理

LibriSpeechでの音声認識において:

  • Qwen2.5-Omni-7B: テストクリーンで1.8 WER、テストオザーで3.4 WER
  • Qwen2-Audio: テストクリーンで1.6 WER、テストオザーで3.6 WER
  • Whisper-large-v3: テストクリーンで1.8 WER、テストオザーで3.6 WER

MMAUでの音声理解において:

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

画像および動画理解

画像理解ベンチマークにおいて:

  • MMMU val: 59.2%(GPT-4o-miniの60.0%およびQwen2.5-VL-7Bの58.6%と比較)
  • MMBench-V1.1-ENテスト: 81.8%(Qwen2.5-VL-7Bの82.6%およびGPT-4o-miniの76.0%と比較)

動画理解において:

  • MVBench: 70.3%(Qwen2.5-VL-7Bの69.6%と比較)
  • 字幕なし動画-MME: 64.3%(Qwen2.5-VL-7Bの65.1%と比較)

テキスト専用ベンチマーク

マルチモーダルモデルでありながら、Qwen2.5-Omni-7Bはテキスト専用ベンチマークにおいても強力なパフォーマンスを維持しています:

  • MMLU-redux: 71.0%(Qwen2.5-7Bの75.4%と比較)
  • GSM8K: 88.7%(Qwen2.5-7Bの91.6%と比較)
  • HumanEval: 78.7%(Qwen2.5-7Bの84.8%と比較)

テキスト専用のパフォーマンスは、専門のテキストモデル(Qwen2.5-7B)にはやや劣りますが、Llama3.1-8BやGemma2-9Bなどの同様のモデルに対して多くのベンチマークで大幅に上回っています。

Qwen2.5-Omni-7Bをローカルで実行する

Qwen2.5-Omni-7Bをローカルで実行するには、マルチモーダル要件のためにいくつかの準備が必要です。以下は、始めるための包括的なガイドです:

システム要件

Qwen2.5-Omni-7Bを効果的に実行するには、以下が必要です:

  • 十分なメモリを搭載したCUDA互換のGPU:
  • 15秒の動画:31.11 GB(BF16)
  • 30秒の動画:41.85 GB(BF16)
  • 60秒の動画:60.19 GB(BF16)
  • 注意:実際のメモリ使用量は通常、これらの理論的最小値の1.2倍高くなります
  • ソフトウェア要件:
  • Python 3.8+
  • PyTorch 2.0+
  • FFmpeg(音声/ビデオ処理用)

インストール手順

必要なパッケージをインストールします

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

Flash Attention 2をインストールします(性能向上のために推奨):

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

基本の使用例

以下は、Transformersを使用してQwen2.5-Omni-7Bを使う基本的な例です:

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

# モデルを読み込む
model = Qwen2_5OmniModel.from_pretrained(
    "Qwen/Qwen2.5-Omni-7B",
    torch_dtype="auto",
    device_map="auto",
    # 互換性のあるハードウェアでの性能向上のためにコメント解除
    # attn_implementation="flash_attention_2",
)

# プロセッサを読み込む
processor = Qwen2_5OmniProcessor.from_pretrained("Qwen/Qwen2.5-Omni-7B")

# 会話を準備する
conversation = [
    {
        "role": "system",
        "content": "あなたはQwenであり、Qwenチーム、Alibaba Groupによって開発されたバーチャルヒューマンで、聴覚および視覚入力を受け取り、テキストと音声を生成する能力を持っています。",
    },
    {
        "role": "user",
        "content": [
            {"type": "video", "video": "<https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen2.5-Omni/draw.mp4>"},
        ],
    },
]

# 推論の準備
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)

# 推論: 出力のテキストと音声を生成
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)

# 音声出力を保存
sf.write(
    "output.wav",
    audio.reshape(-1).detach().cpu().numpy(),
    samplerate=24000,
)

使用のヒント

音声出力要件

音声出力を有効にするには、システムプロンプトを以下のように正確に設定する必要があります:

{
    "role": "system",
    "content": "あなたはQwenであり、Qwenチーム、Alibaba Groupによって開発されたバーチャルヒューマンで、聴覚および視覚入力を受け取り、テキストと音声を生成する能力を持っています。"
}

音声タイプの選択

Qwen2.5-Omni-7Bは2つの音声タイプをサポートしています:

  • Chelsie(女性):優しい温かさと明るい透明感を持つハニーボイス
  • Ethan(男性):エネルギーと温かさに満ちた明るく陽気な声

音声を指定するには、spkパラメーターを使用します:

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

動画処理オプション

動画URLの互換性は、サードパーティライブラリのバージョンによります:

  • torchvision >= 0.19.0:HTTPとHTTPSの両方をサポート
  • decord:HTTPのみをサポート

環境変数を設定することでバックエンドを変更できます:

FORCE_QWENVL_VIDEO_READER=torchvision
# または
FORCE_QWENVL_VIDEO_READER=decord

Dockerデプロイメント

簡略なデプロイメントのために、公式のDockerイメージを使用できます:

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

Dockerを通じてWebデモを起動するには:

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

vLLMデプロイメント

推論を速くするために、vLLMを推奨します:

Qwen2.5-OmniサポートでvLLMをインストールします:

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 .

基本的なvLLMの使用(現在はテキスト出力のみサポート):

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'  # vLLMエンジンv1はまだサポートされていません
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
)

# 入力を処理し、出力を生成します(例に従って)

結論

Qwen2.5-Omni-7Bは、マルチモーダルAI技術の重要な進歩を代表しており、単一モデルでテキスト、画像、音声、動画処理において印象的なパフォーマンスを提供します。7Bパラメータのサイズにより、機能とリソース要件のバランスが取れており、さまざまなデプロイメントシナリオでのアクセスが可能です。

複数のモダリティを理解する能力だけでなく、テキストと音声の両方の出力を生成する能力は、仮想アシスタント、コンテンツ作成、アクセシビリティツールなどのさまざまなアプリケーションの可能性を広げます。より大きな専門モデルに対抗する競争力のあるパフォーマンスは、アーキテクチャとトレーニングアプローチの効果を示しています。

AIがより人間らしい対話能力に向かって進化し続ける中で、Qwen2.5-Omni-7Bのようなモデルは、複数のコミュニケーション形式をシームレスに橋渡しできる、より自然で多様な人工知能システムを作成する重要な一歩を示しています。