Qwen2.5-Omni Technical Report

algorithm 2503.20215
multimodal-trainingthinker-talkerpositional-embeddingdpostreaming-generation

§1 TL;DR #

Qwen2.5-Omni 提出 Thinker-Talker 双组件框架实现 text/image/audio/video → text+speech 端到端流式生成,通过 TMRoPE 对齐音视频时间轴、DPO 提升语音稳定性,在 OmniBench 达到 SOTA (56.13%),语音指令跟随接近纯文本输入水平。

§2 Q1 / Q2 / Q3 #

Q1 痛点 #

统一多模态(text/image/audio/video)端到端理解与生成面临三个核心挑战:

  1. 音视频时间对齐:视觉帧率和音频帧率不同,传统 positional embedding 无法表达绝对时间对应关系
  2. 输出模态干扰:同时训练 text token 和 speech token 会互相干扰,降低两者质量
  3. 流式延迟:实时对话要求低首包延迟,但多模态编码器和语音合成链各引入 latency
  4. Q2 方法 #

    核心创新(单一最难复现 insight):Thinker-Talker 架构将 LLM 的 hidden state 直接作为 Talker 的 conditioning signal(而非仅传递 discrete token),使 Talker 能"预判"语调和态度,实现比 cascaded TTS 更自然的流式语音生成。

    三个对应解法:

    挑战解法之前做法
    音视频时间对齐TMRoPE:M-RoPE [16,24,24] + 40ms/step 绝对时间 ID + 2s chunk interleaveM-RoPE 无绝对时间,靠相对位置
    输出模态干扰Thinker (text) + Talker (speech) 双组件解耦训练单模型多 head 共享输出
    流式延迟Block-wise 2s encoder attention + sliding-window DiT (4-block)全序列 attention → offline

    核心技术壁垒:Talker 的 DPO 训练(LDPO objective)要求构造 (preferred, dispreferred) 语音对,preferred 由 WER 低 + 标点停顿合理度高定义;这两个指标的精确实现和阈值论文未公开。第二壁垒是 TMRoPE 实现——将 absolute time ID 与 M-RoPE rotational angles 精确对齐并保证音视频同步。

    Q3 结果 #

    指标数值对比
    OmniBench avg56.13%Gemini-1.5-Pro 42.91% (+13.2pp)
    GSM8K* (speech input)85.4Qwen2-7B text 82.3 (超越)
    seed-tts-eval WER (zh/en/hard)1.42 / 2.33 / 6.54MaskGCT 2.27/2.62/10.27
    Video-MME w/ sub72.4Qwen2.5-VL-7B 71.6
    Image benchmarks与 Qwen2.5-VL-7B 持平MMMU 59.2 vs 58.6

    §3 架构 / 方法图 #

    Figure 2: Thinker-Talker architecture overview

    Paper Figure 2: The overview of Qwen2.5-Omni. Thinker is tasked with text generation while Talker focuses on generating streaming speech tokens by receiving high-level representations directly from Thinker.

    架构由四个主要组件组成:(1) Vision Encoder (Qwen2.5-VL ViT, 32L×1280, ~675M params) 处理图像/视频帧;(2) Audio Encoder (Whisper-large-v3 init, 32L×1280, 2s block attention) 处理音频 mel-spectrogram;(3) Thinker (dense 28L×3584, GQA 28Q/4KV, ~7B) 作为核心 LLM 生成 text + hidden representations;(4) Talker (dense 24L×896, dual-track AR) 消费 Thinker hidden + sampled token embedding 生成 codec tokens。

    Figure 3: TMRoPE positional encoding

    Paper Figure 3: An illustration of Time-aligned Multimodal RoPE (TMRoPE).

    TMRoPE 将 RoPE 维度分为 temporal/height/width 三段 [16, 24, 24],在此基础上为 audio 每 40ms 分配一个绝对时间 ID,video 帧根据实际时间戳动态调整 temporal ID。2 秒 chunk 内先排视觉 token 再排音频 token (time-interleaving),确保 Thinker 的 attention 可以同时感知同一时间窗口的视听信息。

    Figure 4: Sliding-window DiT for streaming codec-to-wav

    Paper Figure 4: An illustration of sliding window block attention mechanism in DiT for codec to wav generation.

    DiT (22L×1024, Flow-Matching) 使用 sliding-window block attention,感受野限制为 4 blocks (2 lookback + current + 1 lookahead)。Mel spectrogram 按 chunk 生成后送入 Modified BigVGAN (upsample rates [5,3,2,2,2,2] → 480× → PCM 24kHz),实现 chunk-by-chunk 流式波形合成。首包延迟约 640ms+(受限于 1 个 lookahead block)。

    flowchart LR subgraph Input["Multimodal Input"] Text["Text tokens"] Audio["Audio mel 128ch"] Video["Video frames"] end subgraph Encoders["Encoders"] AE["Audio Enc\n32L×1280\n2s block attn"] VE["Vision Enc\n32L×1280\n2×2 merge"] end TMR["TMRoPE\n[16,24,24]\n40ms/step"] TH["Thinker\n28L×3584\nGQA 28/4"] TK["Talker\n24L×896\ndual-track AR"] DiT["DiT 22L\nsliding 4-blk"] BV["BigVGAN\n→ 24kHz"] Audio --> AE --> TMR Video --> VE --> TMR Text --> TMR TMR --> TH TH -->|"text logits"| TextOut["Text Output"] TH -->|"hidden + token embed"| TK TK -->|"codec 8448"| DiT --> BV --> Speech["Speech Output"]

    §4 作者证明 #

    符号表 #

    符号含义
    $\mathcal{P}_\theta$当前 Talker policy
    $\mathcal{P}_{\text{ref}}$参考 policy (DPO 基线)
    $(x, y_w, y_l)$输入序列, preferred speech, dispreferred speech
    $\beta$DPO temperature 参数
    $\sigma$sigmoid 函数
    $\mathcal{D}$训练三元组数据集

    方程物理意义 #

    论文唯一的显式方程为 Talker DPO 损失:

    $$\mathcal{L}_{\text{DPO}}(\mathcal{P}_\theta; \mathcal{P}_{\text{ref}}) = -\mathbb{E}_{(x, y_w, y_l) \sim \mathcal{D}} \left[ \log \sigma \left( \beta \log \frac{\mathcal{P}_\theta(y_w | x)}{\mathcal{P}_{\text{ref}}(y_w | x)} - \beta \log \frac{\mathcal{P}_\theta(y_l | x)}{\mathcal{P}_{\text{ref}}(y_l | x)} \right) \right]$$

    物理意义:标准 DPO loss,令 policy 相对 reference 的 log-likelihood ratio 在 preferred speech 上高于 dispreferred speech。这里 preferred/dispreferred 由 WER (word error rate) 和 punctuation pause error rate 排序确定——WER 低且停顿自然的为 preferred。

    6 项最低检验 #

    #检验项结论
    1方程是否有完整推导否——直接引用 Rafailov et al. 2023 的 DPO 公式,无自身推导
    2假设是否明确列出隐含假设 Bradley-Terry preference model;未讨论
    3变量维度是否一致$y_w, y_l$ 均为 codec token 序列,$x$ 包含 multimodal context + Thinker hidden
    4边界条件是否合理$\beta \to 0$ 时 loss 退化为常数(符合预期:无偏好信号);$\beta \to \infty$ 时变为硬约束
    5实验是否验证关键变量Table 9 对比 ICL vs RL (DPO):WER 从 1.70→1.42 (zh), 2.72→2.32 (en)
    6是否与已知结果矛盾与 DPO 文献一致;应用于 speech 领域属新颖但合理

    无形式化收敛定理——仅实证验证 DPO 提升 WER 和 speaker similarity。TMRoPE 和 Thinker-Talker 架构无任何形式化数学建模。

    §5 实验与数据 #

    训练 recipe #

    Stage目的数据量TrainableContext
    S1 Encoder Alignmentencoder↔LLM 对齐image-text + audio-text pairsencoders + adapters (LLM frozen)8192
    S2 Joint Pretrain多模态联合训练800B img + 300B audio + 100B video-audio tokens全参8192
    S3 Long Context长序列扩展long audio + long video全参32768
    Post-train Thinker指令跟随text/visual/audio/mix dialogue (ChatML)Thinker32768
    Post-train Talker (ICL)语音续写dialogue + spoken responsesTalker
    Post-train Talker (DPO)稳定性(x, y_w, y_l) triplets (WER+pause ranked)Talker
    Post-train Talker (Speaker FT)自然度multi-speaker instruction dataTalker

    关键超参 [论文未披露]:$\beta$ (DPO temperature)、optimizer、learning rate schedule、GPU hours、训练并行策略。

    关键实验结果 #

    Table 1: Text→Text performance

    Paper Table 1: Text → Text performance of 7B+ pure text models and Qwen2.5-Omni.

    Qwen2.5-Omni-7B 在 text→text 上落后于纯文本 Qwen2.5-7B(MMLU-Pro 47.0 vs 56.3,差 9.3pp),说明多模态联合训练产生了显著的 alignment tax。但相比 Qwen2-7B 和 Llama3.1-8B 仍有竞争力。

    Table 8: OmniBench multimodal results

    Paper Table 8: Multimodality → Text performance on OmniBench.

    在 OmniBench 上 Qwen2.5-Omni 以 56.13% 大幅领先 Gemini-1.5-Pro (42.91%) 和 Baichuan-Omni-1.5 (42.90%)。值得注意的是 Music 子任务 (52.83%) 弱于 video-SALMONN (56.60%),暗示音乐理解相对不足。

    Table 9: Zero-shot speech generation (seed-tts-eval)

    Paper Table 9: Zero-Shot Speech Generation results on seed-tts-eval.

    DPO 训练 (RL 标签) 相比 ICL baseline 将 WER 从 1.70→1.42 (zh), 2.72→2.32 (en), 7.97→6.54 (hard)。Speaker similarity 从 0.752→0.754 (zh), 0.632→0.641 (en)。WER 优势明显但 speaker similarity 仍显著落后 Seed-TTS_RL (0.801/0.766/0.782),表明模型倾向于牺牲说话人保真度换取内容准确度。

    收敛与稳定性 #

    • DPO 阶段解决了 pretrain label noise 和发音错误导致的 hallucination(论文定性陈述,未给 learning curve)
    • Speaker fine-tuning 后 NMOS 达 4.46–4.62(接近 Human 4.51),表明稳定性良好
    • 训练稳定性技巧 [论文未披露]:推测使用 RMSNorm + gradient clipping

    数据集分析 #

    • S2 数据组成:image-text 800B + audio-text 300B + video-with-audio 100B + text-only (保持语言能力)
    • 质量过滤 [论文未披露]
    • Contamination [论文未披露]
    • DPO 数据构造:request/response text 配对 reference speech → WER + punctuation pause metric 排序 → (preferred, dispreferred) 对
    • annotation:DPO reward 为自动化指标 (WER, pause error rate),非人工标注

    §6 论证链 #

    Step论点证据逻辑
    1多模态端到端需要解决音视频时间对齐现有 M-RoPE 无绝对时间概念,audio 和 video 帧率不同无法直接 concat观察→问题定义
    2TMRoPE + 2s interleave 实现时间对齐Figure 3 图示 + position ID 40ms resolution + 2s chunk 先视觉后音频设计→机制
    3Thinker-Talker 解耦避免 text/speech 训练干扰Table 1 text 能力保持在 Qwen2-7B 到 Qwen2.5-7B 之间 (非灾难性退化)消融型证据
    4Talker 消费 Thinker hidden (非仅 token) 提升语音自然度论文定性声明 "implicitly convey tone and attitude";Table 10 NMOS ≈ Human定性+定量
    5DPO 基于 WER+pause reward 消除 pretrain noiseTable 9: ICL→RL WER 降 16-18% (zh: 1.70→1.42)对比实验
    6Block-wise encoding + sliding-window DiT 支持实时流式论文声明 streaming 可行 + 4-block DiT receptive field 图示 (Figure 4)架构设计论证
    7综合效果在多模态 benchmark SOTAOmniBench 56.13% > Gemini-1.5-Pro 42.91%;VoiceBench avg 74.12 > 所有开源端到端实验

    §7 实现 cross-reference #

    开源代码 #

    组件代码位置
    完整模型transformers/models/qwen2_5_omni/modeling_qwen2_5_omni.py
    Thinker configHuggingFace Qwen/Qwen2.5-Omni-7Bconfig.jsontext_config
    Talker configconfig.jsontalker_config: 24L×896, GQA 12/4, vocab=8448
    Audio Encoderconfig.jsonaudio_config: 32L×1280, 20 heads, encoder_ffn_dim=5120
    Vision Encoderconfig.jsonvision_config: depth=32, hidden_size=1280, fullatt_block_indexes=[7,15,23,31]
    DiT + BigVGANconfig.jsontoken2wav_config.dit_config: 22L×1024, mel_dim=80
    TMRoPEconfig.jsonrope_scaling.mrope_section=[16, 24, 24], position_id_per_seconds=25
    vLLM (thinker-only)vllm/model_executor/models/qwen2_5_omni_thinker.py
    Official repohttps://github.com/QwenLM/Qwen2.5-Omni

    关键实现细节 #

    1. Talker embedding bridge:Talker 的 embedding_size=3584 将 Thinker 的 3584-dim hidden state 直接作为 input embedding,与 codec token embedding (dim=896) 通过 linear projection 拼接——这是端到端 gradient flow 的关键。
      1. TMRoPE position_id_per_seconds=25:每秒 25 个位置 ID (即 40ms/step),与 audio encoder 每帧 40ms 精确对齐。视频帧通过动态 temporal ID 调整映射到同一时间网格。
      2. 核心技术壁垒 (§2 Q2 展开) #

        Talker LDPO 的完整实现需要:(a) 高质量的 ASR → WER 计算 pipeline;(b) punctuation/pause error rate 的定义与阈值;(c) 大规模 (preferred, dispreferred) 三元组的高效构造。这三者的具体实现论文均未公开,构成最大复现壁垒。

        可复现性与生态 #

        • 开源:模型权重 Apache 2.0,HuggingFace + transformers 支持完整推理
        • 训练代码:未开源
        • 社区复现:vLLM 已集成 thinker-only 推理路径;完整 Thinker+Talker+DiT 链需 transformers 原生
        • 后续:Qwen3-Omni (2509.17765) 是同团队直接升级,全面改进 Thinker-Talker 架构