无需重训,测试时 beam search 让 RVQ 音频编解码器量化误差降约 9%

Improving Test-Time Performance of RVQ-based Neural Codecs

Hyeongju Kim, Junhyeok Lee, Jacob Morton, Juheon Lee, Jinhyeok Yang

eess.AS, cs.SD

2025-09-24

把 RVQ 逐级贪婪选码换成测试时 beam search,无需重训:EnCodec 量化误差 5.10→4.63、PESQ 2.73→2.85,低码率收益最大。

这篇在解决什么

EnCodec、SoundStream、HiFi-Codec 这类神经音频编解码器(neural audio codec)把音频压成几 kbps 的离散 token,既用来压缩传输,也是 TTS、音频生成模型(AudioLM、VALL-E 一族)的音频分词器。这些模型几乎都用 RVQ(residual vector quantization,残差向量量化)把连续特征变成离散码:第一个码本逼近原始特征,第二个码本逼近残差,层层叠加,低层码本管粗结构、高层码本补细节。

RVQ 的量化是逐级贪心做的,每一级只在上一步的输出上挑当前最近的那一个码。论文用一个三码本的小例子点破了问题:输入值 2.13,贪心选码逐级逼近最后落在 3.0,量化误差 0.87;而把三级的码换成 [1, 1, 0.1],结果落在 2.1,误差只有 0.03。逐级最优不等于全局最优,贪心 RVQ 一直在白白丢掉的就是这块。

方法

论文的修法是一个测试时的 beam search 编码算法(Algorithm 1),核心是把每一级「只留一个最优码」改成「留 B 个候选」:

普通贪心 RVQ 就是这个算法在 B=1、k=1 时的特例。关键在于它把「后面几级会怎么量化」纳入了当前级的选码决策,不只看眼前残差最小。穷举所有码组合的复杂度是 O(S^L)(S 是码本大小、L 是码本级数),beam search 用一个固定的 B 把它压成可接受的开销。

最重要的一点:这个算法只改编码(encode)这一步,完全不动解码器、不重训任何模型,官方 checkpoint 直接套用。

结果

在两个主流编解码器上验证:EnCodec(Meta,6 kbps 默认)和 HiFi-Codec。语音用 LibriTTS、音乐用 MUSDB18,外加一个内部的非言语发声(笑、叹气)库。主要指标是量化误差(L2)、mel 距离、SI-SNR、PESQ、STOI、NISQA。

EnCodec 6 kbps 语音,beam size 越大越好的趋势很清楚:

Beam sizeMel 距离↓SI-SNR↑PESQ↑NISQA↑
B=1(贪心)1.8934.2392.7263.491
B=161.8424.6492.8503.588

量化误差从 5.096 降到 4.625(B=16),约降 9%。音乐上 SI-SNR 从 5.396 升到 5.835。HiFi-Codec 的提升明显小一截,PESQ 只从 3.013 动到 3.034,mel 距离和 SI-SNR 的变化都在小数点后两位。

变码率测试更说明问题:3 kbps 时 PESQ 从 2.053 升到 2.139,低码率收益最大;到 24 kbps(32 个码本)只剩 3.670→3.691。码本越多,贪心留下的可修正空间越小。

推理开销是这套方法能不能落地的关键。朴素 CPU 实现下,beam size 从 4 涨到 16,处理时间增加 229%。但论文把算法里 lines 7–16 的循环并行到 GPU 上,同样从 B=4 到 B=16,开销只增加 1.6%;5 秒音频在 RTX 4090 上从 6.78 ms 涨到 7.37 ms。GPU 路径基本没有代价。

为什么重要

对做 TTS、音频生成的团队这是个低成本的免费升级:不重训、不换模型,在编码端加个 beam search,就在客观指标上拿到稳定提升,低码率场景尤其值。神经音频编解码器现在既是压缩工具又是生成模型的分词器,编码质量直接传导到下游合成音质,所以「编码端省一点误差」不是无关紧要的数字。

它也给 RVQ 本身提了个设计层面的醒:逐级贪心是个工程上省事的近似,不是信息论意义上的最优。在离线、对延迟不敏感的场景(比如素材库批量编码)里要榨取音质,beam search 是个现成杠杆。

局限与存疑

论文没做主观听感测试(MUSHRA、真人 MOS),全靠客观指标。NISQA 是个估计 MOS 的神经网络,不是真人打分;PESQ、STOI 主要面向语音可懂度。量化误差(L2)是这套方法直接优化的目标,但它和感知音质之间的关系是假设的、不是被证明的:误差降了 9%,PESQ 涨了 0.12,这个换算比论文没给理论解释。

只在 EnCodec 和 HiFi-Codec 两个模型上验证,没有 SoundStream、Descript Audio Codec(DAC)或更新的编解码器。提升幅度随码率升高迅速衰减,24 kbps 几乎可以忽略,意味着这套方法主要服务于低码率、对带宽敏感的场景。

HiFi-Codec 的收益明显比 EnCodec 小,论文没有解释原因。一个可能的解释是它只有四个码本、可搜索路径少,但这是推测,作者没展开。CPU 路径的 229% 开销也说明:没有 GPU、要实时编码的部署(端上低延迟 TTS)用不了大 beam size,得在 B=4 左右停下来。

术语

原文与代码

社区讨论

相关论文

全部论文解读