Continuous Audio Language Models¶
会议: ICLR2026
OpenReview: https://openreview.net/forum?id=MFrJ3NzA5H
代码: https://github.com/kyutai-labs/pocket-tts (Pocket TTS)
领域: 音频语音生成 / 自回归连续建模
关键词: 连续音频语言模型, 一致性模型, VAE, 自回归生成, 语音合成
一句话总结¶
作者提出 CALM(Continuous Audio Language Models),让自回归 Transformer 直接在 VAE 的连续潜空间里逐帧预测音频,用"一致性模型采样头"替代扩散头实现单步生成,从而绕开离散 RVQ token 在音质与算力之间的硬权衡,在语音和音乐上同时拿到更高保真度和更快推理,并据此放出可在笔记本 CPU 上超实时运行的 100M 参数 TTS 模型 Pocket TTS。
研究背景与动机¶
领域现状:当下主流的音频生成范式是"音频语言模型"(ALM)——把音频用神经编解码器(如 SoundStream、Mimi)压成离散 token 序列,再像建模文本一样用自回归 Transformer 去预测。为了控制序列长度,编解码器通常用残差矢量量化(RVQ),把每一帧音频压成一个由粗到细的 token 层级 \(\{q_{s,k}\}\),\(s\) 是时间、\(k\) 是码本深度。
现有痛点:文本 token 是可逆的,但音频 token 来自有损编解码器、码率有限。想提升音质就得增加码率,也就是加深 RVQ 层级、生成更多 token。可同一帧内不同深度的 token 之间有强依赖,无法完全并行生成,于是音质一上去算力就线性甚至平方级地涨。现有的缓解手段——延迟模式(delay pattern)、RQ-Transformer 深度自回归头——能省一点,但"量化引入的质量-算力权衡"这个根本约束还在,尤其难以在边缘设备上做高质量音频。
核心矛盾:有损量化是病根。只要还在离散 token 上建模,高保真就必然要更深的码本、更大的 token 矩阵、更重的采样头。
本文目标:彻底绕开量化——直接在连续潜空间里做自回归建模,既要保证音质和稳定性(连续自回归容易误差累积、采样慢),又要把采样头做到足够快、足够轻。
切入角度:视觉领域的 GIVT / MAR 已经证明可以自回归地建模 VAE 连续潜变量:用大 Transformer backbone 预测一个中间潜变量 \(z_s\),再用一个小 MLP(扩散头)建模 \(p(x_s \mid z_s)\)。但直接搬到音频会失败——音乐生成会很快发散、采样还慢。作者从这个失败点出发,逐个补齐缺口。
核心 idea:用 VAE 连续潜空间替代 RVQ 离散 token,并把扩散采样头换成"一致性模型"做单步生成——在更低算力下拿到比离散模型更高的音质。
方法详解¶
整体框架¶
CALM 要解决的是"如何在连续潜空间里又稳又快地做音频自回归"。整条管线是:原始波形先经 VAE-GAN 编码成连续潜序列 \((x_1,\dots,x_S)\),\(x_s\in\mathbb{R}^C\);自回归阶段,一个因果 backbone Transformer 看历史潜变量产出粗粒度的长程上下文 \(z_s^{\text{long}}\),一个轻量短上下文 Transformer 看最近若干个"干净"潜变量产出细粒度的 \(z_s^{\text{short}}\),二者相加得到条件 \(Z_s\);最后一个小 MLP 一致性采样头以 \(Z_s\) 为条件、单步从噪声生成下一帧潜变量 \(\hat x_s\),再经 VAE 解码回波形。
关键在于训练时对 backbone 的输入历史注入噪声(逼它聚焦粗结构、抗误差累积),而短上下文走的是未加噪的干净潜变量(补回被噪声抹掉的局部细节)——这一"脏长程 + 干净短程"的分工是音乐能稳定生成的核心。此外还有几个工程化创新:Head Batch Multiplier 摊薄训练开销、Gaussian 温度采样换取保真度、Latent CFG 与潜空间蒸馏支撑条件生成与轻量化部署。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400, 'subGraphTitleMargin': {'top': 8, 'bottom': 16}}}}%%
flowchart TD
A["音频波形"] --> B["VAE-GAN 连续潜表示<br/>x_1..x_S"]
B -->|训练时注入噪声| C["噪声注入长上下文 backbone<br/>z_long 粗结构"]
subgraph DC["双上下文条件 Z_s = z_long + z_short"]
direction TB
C
E["短上下文 transformer<br/>z_short 局部细节"]
end
B -->|最近 K 个干净潜变量| E
DC --> F["一致性采样头<br/>1 步生成 x_s"]
F --> G["VAE 解码 → 音频"]
关键设计¶
1. VAE-GAN 连续潜表示:用连续 latent 替代 RVQ 离散 token
这一步直击"有损量化是病根"的痛点。作者放弃常用的 RVQ-GAN,改用 VAE-GAN 框架:把残差量化瓶颈换成 VAE 瓶颈,用 KL 正则把潜空间约束成高斯先验。VAE 比矢量量化更好训——不会有码本坍塌、不用平衡量化损失、也没有量化训练不稳定的问题,而且在相同潜维度下重建保真度更高。架构上沿用 Mimi 的全因果设计(编码器/解码器里在卷积之外加 Transformer),语音 VAE 还像 Mimi 一样用 WavLM 做语义蒸馏,但不同于 Mimi 只蒸馏第一码本,这里把蒸馏损失扩展到整个潜表示。总损失把时域/频域重建、对抗、特征匹配、KL 正则和语义蒸馏揉在一起: $\(L_{\text{VAE}} = \lambda_t L_t + \lambda_f L_f + \lambda_{\text{adv}} L_{\text{adv}} + \lambda_{\text{feat}} L_{\text{feat}} + \lambda_{\text{KL}} L_{\text{KL}} + \lambda_{\text{distill}} L_{\text{distill}}\)$ 实测一个 32 维的 VAE 在 MOSNet 音质上与 8-RVQ 的 Mimi 持平,在语义可分性 ABX、PESQ、STOI 上更优——说明把离散瓶颈换成连续瓶颈并没有牺牲表示质量,反而为下游连续建模铺平了道路。
2. 噪声注入长上下文 backbone + 短上下文 transformer:兼顾粗结构稳定与局部细节
直接套 MAR 在音乐上会迅速发散,原因是连续自回归对误差累积不鲁棒——一旦某帧预测略有偏差,误差会沿时间放大。作者用两条互补的上下文路解决。长上下文路在训练时对历史输入注入噪声:对每个 \(s\) 采样 \(k_s\sim U(0,1)\)、\(\epsilon_s\sim\mathcal N(0,I)\),构造保方差的加噪输入 \(\tilde x_s = \sqrt{k_s}\,\epsilon_s + \sqrt{1-k_s}\,x_s\),于是 \(z_s^{\text{long}} = T_{\text{long}}(\tilde x_1,\dots,\tilde x_{s-1})\)(推理时不加噪)。加噪逼着 backbone 去抓粗结构、对历史扰动更鲁棒,但副作用是它会丢失细粒度信息——单靠它音乐只能保住节奏、十几秒后渐渐归于沉默。
于是补一条短上下文路:一个轻量因果 Transformer 只看最近 \(K\) 个未加噪的干净潜变量(音乐用 \(K=10\),约 0.4 秒),\(z_s^{\text{short}} = T_{\text{short}}(x_{s-K},\dots,x_{s-1})\),把噪声注入抹掉的局部高分辨细节补回来。两路相加 \(Z_s = z_s^{\text{long}} + z_s^{\text{short}}\) 作为采样头条件。消融显示:只加噪不够、只看短上下文也不够,二者合起来才是高质量音乐生成的关键。\(K\) 本身不是敏感超参,但短上下文模块的"有无"是决定性的。
3. 一致性采样头 + Gaussian 温度采样:单步生成 + 可控多样性
MAR 的扩散头每帧要几百步去噪,采样太慢。作者把扩散头换成连续时间一致性模型(Lu & Song, 2025 的 TrigFlow 形式):用 \(T=\tfrac\pi2\)、\(\alpha_t=\cos t\)、\(\sigma_t=\sin t\),噪声轨迹 \(x_t^s=\cos(t)\,x_s+\sin(t)\,\epsilon\),整段序列的一致性损失为 $\(L_{\text{CALM}} = \sum_{s=1}^{S}\mathbb E_{t,\epsilon}\Big[e^{w_\psi(t)}\big\|F_\phi(x_t^s,t,Z_s)-F_{\bar\phi}(x_t^s,t,Z_s)-\cos(t)\tfrac{df_{\bar\phi}}{dt}\big\|_2^2 - w_\psi(t)\Big]\)$ backbone、短上下文 Transformer、一致性 MLP 与自适应权重 \(w_\psi\) 联合训练,地位正好对应离散范式里 backbone + RQ-Transformer 用交叉熵联合训练。推理时单步即可:取 \(t=1\)、\(\epsilon\sim\mathcal N(0,I)\),\(\hat x_s = f_\phi(x_1^s=\epsilon,\,t=1,\,Z_s)\)。相比 RQ-Transformer 头,采样头提速音乐约 ×20、语音约 ×12。
但一致性模型缺少离散范式里"温度采样"那样的多样性-保真度旋钮,而温度对语音质量很关键。作者给出一个启发式:类比 BigGAN 的截断技巧,不去截断高斯而是直接缩小高斯噪声的方差——把标准差设为 \(\sqrt\tau\) 在数学上等价于施加温度 \(\tau\),这让连续与离散范式的温度数值大致可比。语音续写用 \(\tau=0.8\) 效果最好,质量和语义性都明显改善。
4. Head Batch Multiplier:摊薄 backbone 计算、加速训练收敛
训练的真正瓶颈是用大因果 Transformer 生成条件 \(z_s^{\text{long}}\)。作者的观察是:一旦 \(z_s^{\text{long}}\) 算出来,它对同一帧的多个噪声样本是复用的。于是每个训练步把 \(z_s^{\text{long}}\) 只算一次,却用它做 \(N\) 次损失计算,每次独立采不同的噪声水平 \(t\) 和 \(\epsilon\)。这等于在几乎不加 backbone 开销的前提下,把采样头的有效 batch 放大 \(N\) 倍——既提效率,又因为对多噪声样本平均损失而稳定了训练。消融与收敛曲线都显示在相当训练成本下收敛更快、终点更好。
5. Latent CFG 与潜空间蒸馏:条件生成增强 + Pocket TTS 轻量化
无分类器引导(CFG)能提升条件生成质量,但它依赖在采样轨迹上做引导——而单步一致性模型没有轨迹可引导。作者改为在潜变量上做 CFG(称 Latent CFG):给定条件 \(C\) 和系数 \(\alpha\),对每个 \(s\) 计算 \(Z_s^{\text{CFG}} = Z_s^{\varnothing} + \alpha(Z_s^{C}-Z_s^{\varnothing})\),再用它作为一致性头的条件。这避免了在轨迹上引导的不可行性。
选定 \(\alpha\) 后还有一招潜空间蒸馏来省推理开销:CFG 推理时要对有/无条件各跑一遍 backbone,batch 翻倍。作者把 CFG 引导后的教师潜表示 \(Z_s^{\text{CFG}}\) 用 \(\ell_2\) 损失蒸馏进一个学生 backbone,并直接把教师的 MLP 头原样拷给学生——学生只需单次前向就能复现 CFG 效果,推理 batch 减半;学生还可以更浅。Pocket TTS 正是这么来的:把 24 层教师 TTS 蒸馏成 6 层学生(\(\alpha=1.5\)),得到 100M 参数、能在笔记本 CPU 上超实时运行的开源 TTS。
损失函数 / 训练策略¶
- VAE-GAN:式 (2),时域+频域重建、对抗、特征匹配、KL 正则、(语音)WavLM 语义蒸馏联合训练。
- CALM 主体:式 (3) 的连续时间一致性损失,backbone / 短上下文 Transformer / 一致性 MLP / 权重 \(w_\psi\) 端到端联合优化;历史输入按 \(\tilde x_s=\sqrt{k_s}\epsilon_s+\sqrt{1-k_s}x_s\) 加噪。
- 语音特化:以预训练 2B 文本 LM(Helium-1)为 backbone,引入"内心独白"(inner monologue)文本流,并让文本流相对音频延迟 2 帧(160ms),解耦高层规划与低层合成。语音任务实测不需要短上下文与噪声注入,架构更简。
- 蒸馏:Latent CFG 教师 → 学生 backbone(\(\ell_2\) 对齐潜表示,复制 MLP 头)。
实验关键数据¶
主实验¶
语音续写(30 秒生成,对比 8-RVQ RQ-Transformer 头):
| 模型 | 温度 | 采样头提速 | 整体提速 | 采样头耗时占比 | 声学质量(↑) | 意义性 Elo(↑) | 排名 |
|---|---|---|---|---|---|---|---|
| 参考真值 | – | – | – | – | 4.02 | 2180 | – |
| RQ-Transformer 8 RVQ | 0.8 | ×1.0 | ×1.0 | 26.7% | 2.75 | 1870 | 3 |
| CALM 一致性 1 步 | 1.0 | ×12.3 | ×1.3 | 2.9% | 2.82 | 1947 | 2 |
| CALM 一致性 1 步 | 0.8 | ×12.3 | ×1.3 | 2.9% | 3.45 | 2023 | 1 |
文本转语音(LibriSpeech test-clean):
| 模型 | 参数量 | WER(↓) | 声学质量(↑) | 说话人相似 Elo(↑) |
|---|---|---|---|---|
| F5-TTS (NFE=32) | 336M | 2.42 | 54.7 | 2032 |
| DSM (16 RVQ, CFG=3) | 750M | 1.95 | 60.2 | 2112 |
| DiTAR (NFE=10) | 600M | 2.39 | – | – |
| CALM w/ LSD (NFE=1, CFG=1.5) | 313M | 1.81 | 61.1 | 1966 |
音乐续写(30 秒,对比 RQ-Transformer 32 RVQ 基线):
| 模型 | 整体提速(↑) | 采样头提速(↑) | 采样头占比 | FAD(↓) | 享受度 Elo(↑) | 排名 |
|---|---|---|---|---|---|---|
| RQ-Transformer 32 RVQ(基线) | ×1.0 | ×1.0 | 57.7% | 1.06 | 1824 | 4 |
| MusicGen Medium | ×1.3 | – | 0.0% | 1.72 | 1761 | 6 |
| CALM 一致性 1 步 | ×2.2 | ×19.3 | 6.6% | 0.83 | 1857 | 2 |
| CALM 一致性 4 步 | ×1.9 | ×5.4 | 20.1% | 0.71 | 1847 | 3 |
| CALM TrigFlow 100 步 | ×0.3 | ×0.2 | 86.6% | 0.64 | 1921 | 1 |
消融实验¶
| 配置 | 现象 | 说明 |
|---|---|---|
| 仅噪声注入(无短上下文) | 音乐只保留节奏、十几秒后归于沉默 | 加噪抹掉细粒度信息,单用不够 |
| 噪声注入 + 短上下文 | 音质最佳 | 干净短程恢复局部细节,是高质量音乐的关键 |
| 无 Head Batch Multiplier | 收敛更慢、终点更差 | 多噪声样本平均损失稳定训练 |
| TrigFlow 头 vs 一致性头 | TrigFlow 音质略高但推理极慢(×0.3 整体) | 保真-速度权衡,实时场景选一致性 |
关键发现¶
- 短上下文 Transformer 贡献最大:它的有无是音乐能否稳定长时生成的分水岭;而其窗口 \(K\) 本身不敏感。
- 采样头是离散范式的算力黑洞:RQ-Transformer 头在音乐基线里吃掉 57.7% 推理时间,换成一致性头后只占 6.6%,这才是整体提速的来源。
- 温度采样意外有效:缩小高斯方差等价于施加温度,\(\tau=0.8\) 让语音质量和意义性同时提升;CALM 在意义性上甚至超过有文本流引导的离散基线,作者推测是 backbone 把更多容量让给了文本预测。
- 说话人相似度偏低是 VAE 假象:参考音频过一遍 VAE 后相似度就掉到 0.57,人评里所有方法都"超过"真值,说明声纹其实保留得很好。
亮点与洞察¶
- 把"扩散头"换成"一致性头"是四两拨千斤:MAR 系方法慢在每帧几百步去噪,单步一致性直接把采样头从推理瓶颈(57.7%)打到边角料(6.6%),且音质不降反升——这是连续音频自回归能落地边缘设备的关键开关。
- "脏长程 + 干净短程"的双上下文分工很巧:用噪声注入逼 backbone 抓粗结构抗漂移,再用干净短上下文补细节,正好对冲噪声注入的副作用;这种"一个模块制造问题、另一个模块修复"的互补设计可迁移到任何易误差累积的连续自回归任务。
- 温度采样的连续化翻译:把离散的温度采样翻译成"缩高斯方差",并论证 \(\sqrt\tau\) 等价性,让连续/离散范式的温度数值可比——一个简单却实用的工程桥。
- Latent CFG + 潜空间蒸馏闭环:CFG 不能用在单步轨迹上,就搬到潜变量上;蒸馏再把 CFG 的双前向折叠回单前向,直接产出可在 CPU 超实时跑的 Pocket TTS,从研究到部署一气呵成。
局限与展望¶
- 音乐 VAE 无语义蒸馏:语音用 WavLM 蒸馏语义,音乐因"语义难定义"被留作未来工作,这可能限制音乐生成的可控性与长程结构。
- TTS 说话人相似度偏低:CALM w/ LSD 的 SIM 仅 0.52,虽部分归因于 VAE 重建(参考过 VAE 后只有 0.57),但客观指标上仍逊于离散基线,声纹克隆场景需谨慎。
- 跨任务数值不可直接比大小:语音/音乐用不同 backbone(2B Helium / 1.35B MusicGen)、不同采样步数与温度,表格里的提速倍数与质量分受任务设置影响,不宜横向硬比。
- TrigFlow 揭示的上限:100 步 TrigFlow 头音质最好但慢到 ×0.3,说明单步一致性是在牺牲一点保真换速度;若不计实时约束,仍有质量提升空间。
相关工作与启发¶
- vs RQ-Transformer / 离散 ALM(MusicGen、Moshi 等):它们在有损 RVQ token 上自回归,高保真要加深码本、采样头算力暴涨;CALM 在连续 VAE 潜空间一次出帧,质量-算力权衡更优。
- vs MAR / GIVT(视觉连续自回归):CALM 沿用 MAR 的"backbone 出潜变量 + 小头建分布"骨架,但把扩散头换成一致性头(单步 vs 数百步),并加噪声注入与短上下文解决音频特有的误差累积。
- vs SALAD / DiTAR(MAR 风格 TTS):它们把 MAR 扩散头用于小规模、领域特定的 TTS;CALM 把范式扩展到语音续写(无文本监督)与音乐这类更复杂的域,并验证局部短上下文的重要性(与 DiTAR 的 patch 观察相互印证)。
- vs Shortcut / 少步扩散(Hang et al. 2025):shortcut 把扩散从 100 步压到 8 步;CALM 用一致性做到 1 步且质量比肩最优离散模型,是更激进的加速路线。
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 首次把连续 VAE 自回归 + 单步一致性头系统性地用到语音与音乐两域,并解决误差累积与采样速度两大拦路虎。
- 实验充分度: ⭐⭐⭐⭐ 覆盖语音续写/TTS/音乐续写四任务、含自动+人评+消融,但部分对比模型闭源、跨任务设置不一。
- 写作质量: ⭐⭐⭐⭐ 动机链与失败点交代清楚,六个创新条理分明;个别消融细节放在附录。
- 价值: ⭐⭐⭐⭐⭐ 直接产出可在 CPU 超实时运行的开源 Pocket TTS,对边缘端高质量音频生成有实打实的工程价值。