📄 Gogo: Group-wise granularity-ordered codec for stable and efficient speech generation

#语音合成 #流匹配 #自回归模型 #零样本 #语音大模型

🔥 8.5/10 | 前25% | #语音合成 | #流匹配 | #自回归模型 #零样本

学术质量 6.5/7 | 选题价值 1.8/2 | 复现加成 0.5 | 置信度 高

👥 作者与机构

  • 第一作者:Weidong Chen (香港中文大学电子工程系)
  • 通讯作者:Xixin Wu (香港中文大学电子工程系)
  • 作者列表:Weidong Chen (香港中文大学电子工程系), Helen M. Meng (香港中文大学电子工程系), Xixin Wu (香港中文大学电子工程系)

💡 毒舌点评

论文的亮点在于巧妙地将“组级量化”与“粒度排序”结合,从根源上解决了语音编解码器既要“高层抽象利于建模”又要“低层细节保证音质”的矛盾,设计思路清晰且优雅。但短板在于其框架组件繁多(编解码器、两阶段生成模型、额外训练的分配器),训练流程复杂,且token分配器的优化与主模型分离,可能并非全局最优,工程实现的门槛不低。

🔗 开源详情

  • 代码:论文中未提及官方代码仓库链接。
  • 模型权重:未提及公开预训练模型权重。
  • 数据集:训练使用Emilia(英文子集),评估使用LibriTTS和Seed-TTS,均为已有公开数据集。论文未提及提供新的数据集。
  • Demo:提供了在线演示链接:https://happycolor.github.io/gogo。
  • 复现材料:附录(A-M)提供了极其详细的实现细节、训练配置、评估设置、消融实验说明和可视化,复现信息非常充分。
  • 论文中引用的开源项目:Vocos (声码器), LLaMA-3.2-1B-Instruct (SLM基础模型), PyTorch等常见框架。对比实验中引用了EnCodec, DAC, SpeechTokenizer, Mimi, SNAC, WavTokenizer等众多开源编码器模型。

📌 核心摘要

本文旨在解决当前语音语言模型中核心的语音编解码器面临的双重挑战:传统帧级量化难以捕获高层语义信息,以及固定比特率分配忽略了语音信号信息分布的不均匀性。为此,作者提出了Gogo编解码器,它创新性地将连续帧分组,并为每组生成从粗到细、粒度有序的令牌,粗令牌编码高层抽象,细令牌逐步恢复声学细节。基于此,设计了GogoSpeech两阶段语音生成模型:第一阶段以极低令牌率生成高层语音骨架,第二阶段再丰富细节。此外,引入了一个基于GRPO训练的令牌分配器,根据语音片段的复杂度自适应分配细粒度令牌的预算,以提升效率。实验表明,在47 Hz的令牌率下,Gogo在多项重建指标(如UT-MOS 4.19, DNS-MOS 3.99)上优于其他SOTA编解码器。在零样本语音合成任务中,GogoSpeech取得了最佳的说话人相似度(SIM 0.667)和综合质量评分(SMOS 4.381, CMOS +1.832),并证明了令牌分配器能在几乎不损质量的前提下将平均令牌率从47 Hz降至36 Hz。这项工作为高效、稳定的语音生成提供了新的范式。其局限性在于依赖固定的分组策略,且令牌分配器的训练与主生成模型解耦,可能存在优化不足。

🏗️ 模型架构

本文提出了三个相互关联的模型组件,架构如下:

系统概览 图1展示了整体系统概览。文本输入通过GogoSpeech Stage I生成语音骨架(少量令牌),这些骨架令牌与文本共同输入Stage II,生成或跳过(由分配器决定)细粒度令牌。最终所有令牌通过Gogo解码为语音波形。

  1. Gogo编解码器 Gogo架构 图2详细展示了Gogo的内部结构。
  • 编码器:输入语音波形w先转换为梅尔频谱x。频谱按时间轴被划分为不重叠的“组”(每组g=20帧)。每组频谱xi与一组可学习的“语音查询”qi(nq=10个)拼接,形成zizi通过一个Transformer编码器处理后,丢弃原始频谱部分,仅对查询位置应用有限标量量化(FSQ),得到离散令牌si及其连续表示¯qi
  • 重建模块:¯qi与占位符拼接,对齐为原始组长度,再经时间轴拼接得到连续表示¯x¯x作为条件,输入一个基于流匹配(Flow-Matching) 的生成模型,逐步将高斯噪声x0去噪为目标梅尔频谱x1。最后,由预训练的Vocos声码器将梅尔频谱转换为波形¯w
  • 辅助模块:训练时,Gogo还集成了ASR模块(鼓励令牌捕获语言信息)和AR先验(建模组内令牌的时序依赖),以提升令牌的生成适用性。
  • 关键设计:采用嵌套丢弃(Nested Dropout) 和损失平衡器(Loss Balancer) 强制实现粒度排序。嵌套丢弃随机丢弃组内后面的令牌,迫使前面的粗令牌学习更核心的信息;损失平衡器动态调整流匹配损失与ASR损失的权重,使粗令牌更关注语义,细细节更关注声学。
  1. GogoSpeech两阶段生成模型 GogoSpeech架构 图3展示了GogoSpeech的两阶段生成流程。
  • Stage I (骨架构建):给定文本和提示语音的骨架令牌(每组前b=3个令牌),自回归模型逐组生成目标语音的骨架令牌˜Si,1:b。此阶段在极低的令牌率(约14 Hz)下运行,旨在稳定地预测高层内容。
  • Stage II (细节丰富):对于第i组,模型在给定提示语音所有令牌、之前生成组的所有令牌以及当前组骨架令牌的条件下,自回归地生成剩余的细粒度令牌˜Si,b+1:nq。此阶段令牌率恢复至标准水平(约33 Hz),以恢复声学细节。
  1. GRPO训练的令牌分配器 令牌分配器 图4展示了令牌分配器的训练与推理。
  • 功能:接收Stage I生成的骨架令牌˜Si,1:b作为输入,输出一个预算ξi,表示Stage II应为该组生成的细粒度令牌数量(0到nq-b之间)。未生成的细粒度令牌将被掩码令牌替换。
  • 训练:采用略作修改的群组相对策略优化(GRPO) 算法。训练时Gogo保持冻结。分配器对每个可能的预算(共nq-b+1种)生成重建样本,并计算两个奖励:Rn(惩罚使用的令牌数量)和Rd(惩罚重建失真)。通过组相对优势估计优化策略,使分配器学会在音质与效率间取得平衡。

💡 核心创新点

  1. 组级粒度有序量化:与传统的帧级量化不同,Gogo将连续帧作为组进行整体量化,并通过嵌套丢弃等技术强制令牌按“粗到细”的顺序编码信息。这打破了帧级量化固有的局部性偏差,使编码器能更有效地学习高层语义(由粗令牌编码)和低层声学细节(由细令牌编码),更适配语音语言模型的需求。
  2. 两阶段生成范式:GogoSpeech利用了Gogo的粒度排序特性,将生成过程解耦为先构建稳定、低帧率的高层骨架,再在第二阶段高帧率地丰富细节。这有效缓解了自回归模型在长序列生成中易出现的错误累积问题,提升了生成稳定性。
  3. 自适应令牌分配:针对语音信息分布不均的特点,首次将强化学习(GRPO)应用于语音编解码中的比特率自适应分配。分配器根据语音片段的声学复杂度动态决定为其分配的细粒度令牌数量,从而显著提升了生成效率。

🔬 细节详述

  • 训练数据:使用Emilia数据集的英文子集进行训练,规模约50K小时。重建评估使用LibriTTS test-clean集(4837样本),零样本TTS评估使用Seed-TTS test-en集(1000样本)。
  • 损失函数:
    • Gogo:LGogo = λCFM LCFM + λAR LAR + λASR * LASRLCFM是流匹配的向量场回归损失;LAR是自回归先验的MSE损失;LASR是ASR模块的交叉熵损失。λCFMλASR由损失平衡器根据保留的令牌数nk动态调整(λmin=0.2, λmax=1.8)。
    • GogoSpeech:Stage I和II均采用标准的下一令牌预测交叉熵损失。
    • 令牌分配器:R = λnRn + λdRd,其中Rn = -Num(¯x)(惩罚令牌数),Rd = -E[||Mel(w)-Mel(¯w)||²](惩罚重建失真)。设置λn=0.2, λd=1.0
  • 训练策略:所有组件单独优化。使用AdamW优化器,余弦退火学习率调度。Gogo训练400k步,batch size为1440秒语音;GogoSpeech Stage I训练10个epoch,Stage II训练5个epoch;分配器训练1个epoch。具体超参数见论文Table 4。
  • 关键超参数:
    • Gogo:组大小g=20,查询数nq=10,因此令牌率= (94Hz/20)*10 = 47 Hz。FSQ量化级为[8,8,8,5,5],码本大小12800。编码器12层,ASR模块8层,AR先验4层,隐藏维度512,注意力头数8。
    • GogoSpeech:基于Llama-3.2-1B-Instruct初始化。Speech backbone定义为每组前b=3个令牌。Stage I最大序列长度256,Stage II最大序列长度1024。
  • 训练硬件:在8张NVIDIA H100 NVL 94G GPU上训练。
  • 推理细节:
    • Gogo解码:使用Euler ODE求解器,采用Sway Sampling策略加速,并应用无分类器引导(CFG,scale=2)。使用EMA权重。
    • GogoSpeech解码:标准自回归解码,温度0.8,重复惩罚1.2,核采样p=1.0。Stage II采用早期停止策略,生成到分配器指定的令牌数即停止。
    • 分配器推理:输入Stage I生成的骨架,输出每组的细粒度令牌预算。
  • 正则化与稳定技巧:嵌套丢弃中的梯度重缩放(补偿稀疏更新);损失平衡器(动态调整损失权重);AR先验的梯度放大50倍;流匹配中的CFG和EMA。

📊 实验结果

编解码器重建性能对比(LibriTTS test-clean集)

模型TPSFPS#CBUT-MOSDNS-MOSSTOIPESQ (WB)PESQ (NB)SIMWER
Ground Truth---4.133.831.004.644.551.005.86
DAC (600)6007583.783.750.993.523.850.986.10
EnCodec (600)6007583.133.560.942.743.360.976.24
Gogo (47)474714.193.990.922.593.260.916.35
MagiCodec (50)505014.213.960.932.553.180.867.45

关键结论:在47 Hz的低令牌率下,Gogo的UT-MOS和DNS-MOS得分甚至超过了原始语音,表明其生成模型在感知质量上有增强效果。在大多数指标上,Gogo优于或接近使用更高令牌率或更复杂架构的基线。

零样本TTS性能对比(Seed-TTS test-en集)

模型SIMWERSIM†WER†RTFSMOSCMOS
Ground Truth0.7342.1430.8092.037-4.7520.000
F5-TTS0.6471.8300.7161.8120.1844.173+1.730
CosyVoice 20.6542.3800.7012.3240.5494.331+1.638
GogoSpeech (47 Hz)0.6672.3940.7251.7880.5354.381+1.832
w/ Allocator (→36 Hz)0.6622.4690.7171.8450.4554.253+1.587

关键结论:GogoSpeech在长语音生成稳定性(†指标)上表现最佳,取得了最高的SIM和最低的WER。主观评价SMOS和CMOS也位列第一。令牌分配器使平均令牌率从47Hz降至36Hz,RTF从0.535降至0.455,而性能仅有微小下降,证明了其有效性。

关键消融实验 信息编码分析 图5(论文Figure 5)展示了不同位置令牌对各类特征的预测损失。可以清晰看到:前3个令牌主要预测时长、词汇数等全局语言特征;中间令牌主要预测语速、抖动等韵律特征;后3个令牌主要预测音高、频谱质心等声学特征,验证了粒度排序的有效性。

令牌数影响 图7展示了随着每组保留令牌数增加,重建性能的变化。WER在保留前3-4个令牌时已显著下降并趋于平稳,而PESQ等声学指标在保留更多令牌(>4个)后仍有提升,验证了粗细令牌的功能分化。

系统性消融(保持相同训练条件)

编解码器SLM令牌分配器TPSSIMWER
帧级单阶段-470.5924.117
组级单阶段-470.6423.121
组级两阶段-470.6672.394
组级两阶段360.6622.469

结论:从上到下,依次证明了组级量化、两���段生成设计、令牌分配器各自带来的性能提升。

⚖️ 评分理由

  • 学术质量:6.5/7:论文的创新点明确且相互支撑,技术细节(如嵌套丢弃的梯度重缩放、损失平衡器公式)扎实。实验设计全面,覆盖了编解码重建、自回归建模友好性、信息编码分析、端到端TTS生成以及多方面的消融,结果具有很强的说服力。扣分点在于整体系统复杂度高,且分配器的GRPO训练与主生成模型优化分离。
  • 选题价值:1.8/2:直击语音大模型中编解码器设计的痛点,提出的解决方案(组级、粒度有序、自适应)思路新颖,且实验结果证明了其在质量和效率上的实际收益,对推动语音生成领域发展有明确价值。
  • 开源与复现加成:0.5/1:论文附录提供了详尽的模型配置、训练超参数、评估细节和部分代码实现思路,复现基础较好。但主要模型和代码未开源,扣分。

← 返回 ICLR 2026 论文分析