模型概述
模型特點
模型能力
使用案例
🚀 Qwen2.5-Omni-7B GGUF模型
Qwen2.5-Omni-7B GGUF模型是一款功能強大的多模態模型,能夠感知文本、圖像、音頻和視頻等多種模態信息,並以流式方式生成文本和自然語音響應。本項目詳細介紹了該模型的生成細節、量化方法以及不同模型格式的選擇建議,幫助用戶根據自身需求選擇合適的模型。
🚀 快速開始
本項目的模型生成和使用涉及到一些特定的工具和方法。以下是一些關鍵信息,幫助你快速瞭解如何開始使用Qwen2.5-Omni-7B GGUF模型:
- 模型生成:該模型使用 llama.cpp 在提交版本
1f63e75f
下生成。 - 量化方法:採用了一種新的量化方法,通過規則提升重要層的量化精度,雖然會增加模型文件大小,但能提高給定模型大小下的精度。具體可參考 Layer bumping with llama.cpp。
- 模型格式選擇:根據硬件能力和內存限制,選擇合適的模型格式,如BF16、F16、Q4_K等。詳細信息可參考下面的“選擇合適的模型格式”部分。
✨ 主要特性
模型生成特性
- 基於特定版本生成:使用 llama.cpp 的特定提交版本生成模型,確保模型的穩定性和可復現性。
量化特性
- 新量化方法:測試了一種新的量化方法,通過規則提升重要層的量化精度,在低比特量化和MOE模型中表現更優。
- 精度與文件大小平衡:雖然會增加模型文件大小,但能提高給定模型大小下的精度。
多模態特性
- 全模態感知:能夠感知文本、圖像、音頻和視頻等多種模態信息。
- 流式響應:以流式方式生成文本和自然語音響應,實現即時交互。
性能特性
- 多模態任務表現出色:在多模態任務中,如OmniBench,表現優於類似規模的單模態模型和閉源模型。
- 單模態任務優秀:在語音識別、翻譯、音頻理解、圖像推理、視頻理解和語音生成等單模態任務中也有出色表現。
📚 詳細文檔
模型生成細節
該模型使用 llama.cpp 在提交版本 1f63e75f
下生成。
量化方法
測試了一種新的量化方法,使用規則提升重要層的量化精度,使其高於標準imatrix的使用。標準IMatrix在低比特量化和MOE模型中表現不佳,因此使用 llama.cpp 的 --tensor-type
選項提升選定層的量化精度。具體可參考 Layer bumping with llama.cpp。這種方法會增加模型文件大小,但能提高給定模型大小下的精度。
選擇合適的模型格式
選擇正確的模型格式取決於你的硬件能力和內存限制。以下是不同模型格式的詳細介紹:
BF16 (Brain Float 16) – 若支持BF16加速則使用
- 特點:一種16位浮點格式,專為快速計算設計,同時保留良好的精度。與FP32具有相似的動態範圍,但內存使用更低。
- 適用場景:
- 硬件支持BF16加速(檢查設備規格)。
- 希望在節省內存的同時獲得更高的精度。
- 計劃將模型重新量化為其他格式。
- 避免場景:
- 硬件不支持BF16(可能會回退到FP32並運行較慢)。
- 需要與缺乏BF16優化的舊設備兼容。
F16 (Float 16) – 比BF16更廣泛支持
- 特點:一種16位浮點格式,具有高精度,但動態範圍比BF16小。適用於大多數支持FP16加速的設備(包括許多GPU和一些CPU)。
- 適用場景:
- 硬件支持FP16但不支持BF16。
- 需要在速度、內存使用和準確性之間取得平衡。
- 在GPU或其他針對FP16計算優化的設備上運行。
- 避免場景:
- 設備缺乏原生FP16支持(可能運行比預期慢)。
- 有內存限制。
混合精度模型 (如 bf16_q8_0
, f16_q4_K
) – 兼顧兩者優點
- 特點:這些格式選擇性地量化非關鍵層,同時保持關鍵層的全精度(如注意力和輸出層)。
- 適用場景:
- 需要比僅量化模型更高的準確性,但無法承受全BF16/F16的內存需求。
- 設備支持混合精度推理。
- 希望在受限硬件上優化生產級模型的權衡。
- 避免場景:
- 目標設備不支持混合或全精度加速。
- 在超嚴格的內存限制下運行(此時應使用全量化格式)。
量化模型 (Q4_K, Q6_K, Q8, 等) – 用於CPU和低VRAM推理
- 特點:量化可以減小模型大小和內存使用,同時儘可能保持準確性。
- 適用場景:
- 在CPU上運行推理,需要優化的模型。
- 設備具有低VRAM,無法加載全精度模型。
- 希望在保持合理準確性的同時減少內存佔用。
- 避免場景:
- 需要最高準確性(全精度模型更適合)。
- 硬件有足夠的VRAM用於更高精度的格式(BF16/F16)。
極低比特量化 (IQ3_XS, IQ3_S, IQ3_M, Q4_K, Q4_0)
- 特點:這些模型針對非常高的內存效率進行了優化,適用於低功耗設備或大規模部署,其中內存是關鍵限制因素。
- 不同類型介紹:
- IQ3_XS:超低位量化(3位),具有非常高的內存效率。適用於超低內存設備,即使Q4_K也太大的情況。但準確性較低。
- IQ3_S:小塊大小,用於最大內存效率。適用於低內存設備,比IQ3_XS更實用。
- IQ3_M:中等塊大小,比IQ3_S具有更好的準確性。適用於低內存設備,IQ3_S過於受限的情況。
- Q4_K:4位量化,具有逐塊優化,以提高準確性。適用於低內存設備,Q6_K太大的情況。
- Q4_0:純4位量化,針對ARM設備進行了優化。適用於基於ARM的設備或低內存環境。
超低比特量化 (IQ1_S, IQ1_M, IQ2_S, IQ2_M, IQ2_XS, IQ2_XSS)
- 特點:超低位量化(1 - 2位),具有極高的內存效率。
- 適用場景:適用於必須將模型放入非常受限內存的情況。
- 注意事項:準確性非常低,可能無法按預期工作。使用前請充分測試。
模型格式選擇總結表
模型格式 | 精度 | 內存使用 | 設備要求 | 最佳使用場景 |
---|---|---|---|---|
BF16 | 非常高 | 高 | 支持BF16的GPU/CPU | 高速推理,減少內存使用 |
F16 | 高 | 高 | 支持FP16的GPU/CPU | 當BF16不可用時進行推理 |
Q4_K | 中低 | 低 | CPU或低VRAM設備 | 內存受限的推理 |
Q6_K | 中等 | 適中 | 內存較多的CPU | 量化時獲得更好的準確性 |
Q8_0 | 高 | 適中 | 具有適中VRAM的GPU/CPU | 量化模型中最高的準確性 |
IQ3_XS | 低 | 非常低 | 超低內存設備 | 最大內存效率,低準確性 |
IQ3_S | 低 | 非常低 | 低內存設備 | 比IQ3_XS更實用 |
IQ3_M | 中低 | 低 | 低內存設備 | 比IQ3_S具有更好的準確性 |
Q4_0 | 低 | 低 | 基於ARM的/嵌入式設備 | Llama.cpp自動優化ARM推理 |
超低比特 (IQ1/2_*) | 非常低 | 極低 | 小型邊緣/嵌入式設備 | 將模型放入極緊的內存中;低準確性 |
混合 (如 bf16_q8_0 ) |
中高 | 適中 | 支持混合精度的硬件 | 平衡性能和內存,關鍵層接近FP準確性 |
模型概述
簡介
Qwen2.5-Omni是一個端到端的多模態模型,旨在感知多種模態,包括文本、圖像、音頻和視頻,同時以流式方式生成文本和自然語音響應。
關鍵特性
- 全模態與新穎架構:提出了Thinker-Talker架構,這是一個端到端的多模態模型,能夠感知多種模態,並以流式方式生成文本和自然語音響應。還提出了一種新穎的位置嵌入,名為TMRoPE(時間對齊多模態RoPE),用於同步視頻輸入與音頻的時間戳。
- 即時語音和視頻聊天:架構設計用於完全即時交互,支持分塊輸入和即時輸出。
- 自然而強大的語音生成:在語音生成方面優於許多現有的流式和非流式替代方案,表現出卓越的魯棒性和自然度。
- 跨模態強大性能:在與類似規模的單模態模型和閉源模型(如Qwen2.5-VL-7B、Qwen2-Audio和Gemini-1.5-pro)進行基準測試時,在所有模態上表現出出色的性能。在需要集成多種模態的任務中,如OmniBench,Qwen2.5-Omni達到了最先進的性能。
- 出色的端到端語音指令跟隨:Qwen2.5-Omni在端到端語音指令跟隨方面的表現與文本輸入時的效果相當,如在MMLU和GSM8K等基準測試中得到證明。
模型架構
性能
對Qwen2.5-Omni進行了全面評估,與類似規模的單模態模型和閉源模型(如Qwen2.5-VL-7B、Qwen2-Audio和Gemini-1.5-pro)相比,在所有模態上表現出強大的性能。在需要集成多種模態的任務中,如OmniBench,Qwen2.5-Omni達到了最先進的性能。此外,在單模態任務中,它在語音識別(Common Voice)、翻譯(CoVoST2)、音頻理解(MMAU)、圖像推理(MMMU、MMStar)、視頻理解(MVBench)和語音生成(Seed-tts-eval和主觀自然度)等領域表現出色。
多模態到文本性能
多模態 -> 文本
數據集 | 模型 | 性能 |
---|---|---|
OmniBench 語音 | 聲音事件 | 音樂 | 平均 |
Gemini-1.5-Pro | 42.67%|42.26%|46.23%|42.91% |
OmniBench 語音 | 聲音事件 | 音樂 | 平均 |
MIO-Instruct | 36.96%|33.58%|11.32%|33.80% |
OmniBench 語音 | 聲音事件 | 音樂 | 平均 |
AnyGPT (7B) | 17.77%|20.75%|13.21%|18.04% |
OmniBench 語音 | 聲音事件 | 音樂 | 平均 |
video-SALMONN | 34.11%|31.70%|56.60%|35.64% |
OmniBench 語音 | 聲音事件 | 音樂 | 平均 |
UnifiedIO2-xlarge | 39.56%|36.98%|29.25%|38.00% |
OmniBench 語音 | 聲音事件 | 音樂 | 平均 |
UnifiedIO2-xxlarge | 34.24%|36.98%|24.53%|33.98% |
OmniBench 語音 | 聲音事件 | 音樂 | 平均 |
MiniCPM-o | - |
OmniBench 語音 | 聲音事件 | 音樂 | 平均 |
Baichuan-Omni-1.5 | - |
OmniBench 語音 | 聲音事件 | 音樂 | 平均 |
Qwen2.5-Omni-3B | 52.14%|52.08%|52.83%|52.19% |
OmniBench 語音 | 聲音事件 | 音樂 | 平均 |
Qwen2.5-Omni-7B | 55.25%|60.00%|52.83%|56.13% |
音頻到文本性能
音頻 -> 文本
數據集 | 模型 | 性能 |
---|---|---|
ASR | ||
Librispeech dev-clean | dev other | test-clean | test-other |
SALMONN | - |
Librispeech dev-clean | dev other | test-clean | test-other |
SpeechVerse | - |
Librispeech dev-clean | dev other | test-clean | test-other |
Whisper-large-v3 | - |
Librispeech dev-clean | dev other | test-clean | test-other |
Llama-3-8B | - |
Librispeech dev-clean | dev other | test-clean | test-other |
Llama-3-70B | - |
Librispeech dev-clean | dev other | test-clean | test-other |
Seed-ASR-Multilingual | - |
Librispeech dev-clean | dev other | test-clean | test-other |
MiniCPM-o | - |
Librispeech dev-clean | dev other | test-clean | test-other |
MinMo | - |
Librispeech dev-clean | dev other | test-clean | test-other |
Qwen-Audio | 1.8 |
Librispeech dev-clean | dev other | test-clean | test-other |
Qwen2-Audio | 1.3 |
Librispeech dev-clean | dev other | test-clean | test-other |
Qwen2.5-Omni-3B | 2.0 |
Librispeech dev-clean | dev other | test-clean | test-other |
Qwen2.5-Omni-7B | 1.6 |
Common Voice 15 en | zh | yue | fr |
Whisper-large-v3 | 9.3 |
Common Voice 15 en | zh | yue | fr |
MinMo | 7.9 |
Common Voice 15 en | zh | yue | fr |
Qwen2-Audio | 8.6 |
Common Voice 15 en | zh | yue | fr |
Qwen2.5-Omni-3B | 9.1 |
Common Voice 15 en | zh | yue | fr |
Qwen2.5-Omni-7B | 7.6 |
Fleurs zh | en |
Whisper-large-v3 | 7.7 |
Fleurs zh | en |
Seed-ASR-Multilingual | - |
Fleurs zh | en |
Megrez-3B-Omni | 10.8 |
Fleurs zh | en |
MiniCPM-o | 4.4 |
Fleurs zh | en |
MinMo | 3.0 |
Fleurs zh | en |
Qwen2-Audio | 7.5 |
Fleurs zh | en |
Qwen2.5-Omni-3B | 3.2 |
Fleurs zh | en |
Qwen2.5-Omni-7B | 3.0 |
Wenetspeech test-net | test-meeting |
Seed-ASR-Chinese | **4.7 |
Wenetspeech test-net | test-meeting |
Megrez-3B-Omni | - |
Wenetspeech test-net | test-meeting |
MiniCPM-o | 6.9 |
Wenetspeech test-net | test-meeting |
MinMo | 6.8 |
Wenetspeech test-net | test-meeting |
Qwen2.5-Omni-3B | 6.3 |
Wenetspeech test-net | test-meeting |
Qwen2.5-Omni-7B | 5.9 |
Voxpopuli-V1.0-en | Llama-3-8B | 6.2 |
Voxpopuli-V1.0-en | Llama-3-70B | 5.7 |
Voxpopuli-V1.0-en | Qwen2.5-Omni-3B | 6.6 |
Voxpopuli-V1.0-en | Qwen2.5-Omni-7B | 5.8 |
S2TT | ||
CoVoST2 en-de | de-en | en-zh | zh-en |
SALMONN | 18.6 |
CoVoST2 en-de | de-en | en-zh | zh-en |
SpeechLLaMA | - |
CoVoST2 en-de | de-en | en-zh | zh-en |
BLSP | 14.1 |
CoVoST2 en-de | de-en | en-zh | zh-en |
MiniCPM-o | - |
CoVoST2 en-de | de-en | en-zh | zh-en |
MinMo | - |
CoVoST2 en-de | de-en | en-zh | zh-en |
Qwen-Audio | 25.1 |
CoVoST2 en-de | de-en | en-zh | zh-en |
Qwen2-Audio | 29.9 |
CoVoST2 en-de | de-en | en-zh | zh-en |
Qwen2.5-Omni-3B | 28.3 |
CoVoST2 en-de | de-en | en-zh | zh-en |
Qwen2.5-Omni-7B | 30.2 |
SER | ||
Meld | WavLM-large | 0.542 |
Meld | MiniCPM-o | 0.524 |
Meld | Qwen-Audio | 0.557 |
Meld | Qwen2-Audio | 0.553 |
Meld | Qwen2.5-Omni-3B | 0.558 |
Meld | Qwen2.5-Omni-7B | 0.570 |
VSC | ||
VocalSound | CLAP | 0.495 |
VocalSound | Pengi | 0.604 |
VocalSound | Qwen-Audio | 0.929 |
VocalSound | Qwen2-Audio | 0.939 |
VocalSound | Qwen2.5-Omni-3B | 0.936 |
VocalSound | Qwen2.5-Omni-7B | 0.939 |
Music | ||
GiantSteps Tempo | Llark-7B | 0.86 |
GiantSteps Tempo | Qwen2.5-Omni-3B | 0.88 |
📄 許可證
本項目採用 Apache-2.0 許可證。









