资料摘要:AudioCALM
HKUST + 阿里通义 Fun Team 提出 CALM(Continuous Autoregressive Language Modeling) 范式——将自回归 next-token prediction 从离散 token 扩展到连续音频潜变量,以单一模型统一语音、音效和音乐生成,并在三类基准上均达到 SOTA。 AudioCALM - Continuous Autoregressive Language Modeling for Universal Audio Generation
核心要点
- 新范式 CALM:在因果 Transformer 的每个音频位置,用一个薄流匹配头(flow-matching head)替代 softmax,预测连续隐空间上的 rectified-flow 速度——离散 softmax 的连续对应物。消除了离散 codec 的量化瓶颈。
- AR-Flow 注意力:块因果注意力模式——跨块自回归(causal)、块内全双向(bidirectional),使得流匹配的迭代去噪与自回归提交可以共存,支持原生流式变长生成(无需外部时长预测器)。
- 非对称文本-音频失配:语音需要局部时间对齐的注意力(transcript→time span),音效/音乐只需全局语义注意力(caption→overall semantics)。联合训练中,加入语音会不成比例地损害音效/音乐生成(~4× 更大的保真度损失)。
- 双层解决:
- 数据层:用 audio-conditioned MLLM (Gemini 3 Pro) 将语音 transcript + 音效/音乐短 caption 统一改写为长文本描述(description-style conditioning),消除条件界面差异
- 架构层:A-MoME(Asymmetric Mixture-of-Modality-Experts)——在共享 backbone 上仅为语音添加一个残差 FFN expert,音效/音乐不受推理开销影响
- SOTA 结果:LibriTTS WER 0.020、SeedTTS-eval WER 0.011;AudioCaps FAD 1.95(超越 TangoFlux 的 2.70,降低 28%);Song-Describer FAD 2.02(超越 Stable Audio Open 的 2.23)
详细笔记
动机:统一音频生成的四大需求
现有三种生成范式各有限制:
| 范式 | 代表工作 | 限制 |
|---|---|---|
| 离散 token AR | VALL-E, MusicGen, UniAudio | codec 量化瓶颈,多音音乐/复杂音效保真度受限 |
| 级联 LM→生成器 | CosyVoice2, MaskGCT | 中间语义 code 冻结,阻断端到端优化 |
| 非自回归流匹配 | Audiobox, Stable Audio Open, UniFlow-Audio | 放弃自回归的上下文条件能力,需外部时长预测 |
AudioCALM 提出的四大需求(desiderata):保真度、端到端优化、上下文理解、原生变长生成——现有范式无一全部满足。
CALM 范式细节
序列建模:训练样本将文本条件 c 与来自冻结 VAE 的连续音频潜变量 x = (x₁,…,x_L) ∈ R^(L×C) 配对,自回归分解 p(x|c) = ∏_i p(x_i | x_{<i}, c)。
流匹配头:每个音频位置 i 上,线性投影 v_θ(h_i) = φ_out(h_i) ∈ R^C 将 LM 隐状态映射为同一潜空间中的速度向量(rectified-flow velocity)。φ_out 零初始化,避免未训练头干扰 backbone。
训练目标(rectified flow):
- 时间步 t = σ(u),u ~ N(0,1),logit-normal 调度,质量集中在 t≈0.5
- 线性插值:x_i^(t) = (1-t)x_i + t·ϵ_i
- 目标速度:v_i* = ϵ_i - x_i
- 损失:L_FM = E[ (1/|N|) Σ ||v_θ(h_i) - v_i*||² ]
AR-Flow 注意力
每个生成步,LM 处理一个打包序列:[c₁,...,c_T, x₁,...,x_i, x̃^(t)_{i+1},...,x̃^(t)_{i+B}]
掩码规则:
- 文本 token 只能关注前面的文本 token
- 已提交的干净潜变量 ← 全部文本 + 前面的干净潜变量
- 当前块内的噪声潜变量 ← 全部文本 + 全部已提交潜变量 + 块内全双向
训练时使用单次前向 teacher forcing(左右两半:干净前缀 + 每位置噪声副本),训练/推理掩码完全一致。
非对称模态专业化
Description-Style Conditioning:
- 短变体(short):原始 transcript/caption
- 长变体(long):MLLM 产出的自然语言描述,包含模态相关属性(语音:音色/韵律/声学环境;音效:事件/场景;音乐:流派/乐器/节奏/情绪)
- 训练时各 50% 概率采样,推理时两种提示均可使用
A-MoME:
FFN_A-MoME(h) = FFN_shared(h) + FFN_speech(h) if modality = speech
FFN_shared(h) otherwise
- 自注意力和主 FFN 全模态共享
- 仅 speech 位置激活额外的残差 FFN(零初始化,从 no-op 逐步成长)
- 确定性路由(按模态标签),无需门控网络
- 非语音推理零额外开销
训练与推理
暴露偏差正则化:
- Per-block clean-prefix noise(σ_clean=0.1):干净前缀嵌入加噪,模拟逐块漂移
- Exposure-bias perturbation(γ_exp=0.1):扰动干净目标,训练模型从微小噪声提交中恢复
推理:
- 块大小 B=1.0s(11 个 VAE token,~10.75Hz)
- 每块 24 步 Euler 积分 rectified flow
- 轻量 stop head(二分类)实现 token 级终止(τ_stop=0.95)
- CFG scale w=3.0
LLM Backbone:Qwen3-1.7B,28 层,2048 维,16 头 训练:300k steps,A800×8,FSDP HYBRID_SHARD,全局 batch ~64k tokens
关键实验结果
消融实验(Table 3)揭示了清晰的因果链:
| 变体 | Sp. WER↓ | Sn. FAD↓ | Mu. FAD↓ |
|---|---|---|---|
| 单语音训练 | 0.022 | — | — |
| 单非语音训练 | — | 2.45 | 2.55 |
| (a) 离散 token AR baseline | 0.040 | 4.50 | 4.80 |
| (b) 连续 AR + flow head | 0.024 | 3.30 | 3.45 |
| (c) + description-style reframing | 0.023 | 2.70 | 2.85 |
| (d) + symmetric MoME (3 experts) | 0.022 | 2.30 | 2.40 |
| (e) + A-MoME (speech only) | 0.020 | 1.95 | 2.02 |
关键发现:
- (a)→(b) 连续流匹配头是最大单一提升(FAD 分别降低 1.20/1.35)
- 单语音 vs 单非语音 → 联合训练(b):语音几乎不变,非语音 FAD +35%——非对称 crowd-out ~4×
- (b)→(c) 描述式改写主要提升非语音(Sn FAD 3.30→2.70, Mu FAD 3.45→2.85)
- (e) A-MoME 以更少参数超越 symmetric MoME
Backbone 缩放(0.6B→1.7B→4B):持续提升,4B 达到 Sp. WER 0.018 / Sn. FAD 1.89 / Mu. FAD 1.97。
引用与数据
- 训练数据:LibriTTS + EMILIA(语音)、VGG-Sound + AudioCaps + WavCaps(音效)、FMA + MTG-Jamendo(音乐)
- 评估基准:LibriTTS test-clean、SeedTTS-eval、AudioCaps、Song-Describer
- 指标:WER/Sim(语音)、FAD/CLAP(音效/音乐)、MOS(主观)
- 基线:F5-TTS、CosyVoice 3.0、AudioLDM 2、TangoFlux、Stable Audio Open、MusicGen、UniAudio、UniMoE-Audio、UniFlow-Audio、Ming-omni
相关
- 音频生成 — 领域导航
- 音频生成 — 概念页
- 条件流匹配(CFM) — 流匹配概念
- DiT(Diffusion Transformer) — 扩散 Transformer 架构
- MoE(混合专家) — 混合专家架构
- Wiki 目录