📄 Gogo: Group-wise granularity-ordered codec for stable and efficient speech generation
#语音合成 #语音编解码 #流匹配 #自回归模型 #语音大模型
✅ 7.5/10 | 前25% | #语音合成 | #语音编解码 | #流匹配 #自回归模型
学术质量 7.0/7 | 选题价值 2.0/2 | 复现加成 0.5 | 置信度 高
👥 作者与机构
- 第一作者:Weidong Chen (The Chinese University of Hong Kong)
- 通讯作者:Xixin Wu (The Chinese University of Hong Kong)
- 作者列表:Weidong Chen(The Chinese University of Hong Kong)、Helen M. Meng(The Chinese University of Hong Kong)、Xixin Wu(The Chinese University of Hong Kong)
💡 毒舌点评
这篇工作最大的亮点在于将“组”作为语音量化的基本单元,并系统性地设计了粗细有序的token序列,这确实比传统逐帧量化更适合后续的语言模型建模,逻辑自洽且实验支撑有力。然而,其核心的token分配器虽然有效,但训练方法(GRPO)的引入略显“重”,对于一个动态分配离散资源的简单策略问题,是否有更轻量优雅的解法值得商榷,且论文最终未能开源代码,让这套精心设计的系统停留在了“可望”的层面。
🔗 开源详情
- 代码:论文中未提及代码仓库链接。
- 模型权重:未提及是否公开。
- 数据集:使用了公开的Emilia(英文子集)、LibriTTS、Seed-TTS测试集。
- Demo:提供了在线演示链接:https://happycolor.github.io/gogo。
- 复现材料:论文在正文和附录中详细给出了模型架构(表C)、训练超参数(表D)、硬件(8x H100)、评估指标定义等,复现信息较为充分。
- 论文中引用的开源项目:Vocos声码器、LLaMA(作为初始化基座)、ConVNeXt V2(用于特征处理)。
📌 核心摘要
本文旨在解决当前语音语言模型中,语音编解码器无法同时有效支持高层自回归建模和保留低层声学细节的矛盾,以及语音信号信息分布不均匀导致的编码效率低下问题。核心方法是提出Gogo编解码器,它将语音分组后,为每组生成一组从粗到细有序的离散token:粗token编码高层语义和韵律,细token逐步恢复声学细节。基于此,构建了两阶段的GogoSpeech模型:第一阶段仅以极低token率(~14Hz)生成粗token“骨架”;第二阶段条件于骨架,逐步补充细token。此外,利用GRPO强化学习训练了一个token分配器,根据每组的复杂度动态分配第二阶段所需生成的细token数量,以提升效率。实验表明,在47Hz的token率下,Gogo的重建性能(UT-MOS: 4.19, DNS-MOS: 3.99, SIM: 0.91)优于多数SOTA编解码器。GogoSpeech在零样本TTS任务上(SIM: 0.667, WER: 2.394)取得了领先结果,并且分配器能将平均token率从47Hz降至36Hz,同时保持性能。主要局限性在于占位符可能引入伪影,token率仍高于部分低比特率编解码器,以及模型可扩展性未验证。
🏗️ 模型架构
论文提出了三个核心组件,构成一个完整的语音生成系统。
Gogo 编解码器 是系统的核心,负责将语音信号转换为适合语言模型处理的离散token。其架构如图2所示。

其工作流程分为量化和重建两个方向:
- 量化流程:输入波形
w先提取梅尔频谱x,然后沿时间轴划分为多个非重叠的组(每组g=20帧)。每个组与一组可学习的语音查询向量q_i(n_q=10个)拼接,送入Transformer编码器。编码后,丢弃原始梅尔谱部分,仅保留语音查询向量对应的位置,并通过有限标量量化(FSQ)将其离散化为token索引s_i和对应的嵌入¯q_i。 - 重建流程:将量化后的嵌入
¯q_i用占位符填充以对齐原始组长度,再按时间顺序拼接成序列¯x。¯x被送入基于流匹配(Flow-matching)的生成模型,预测梅尔频谱。最终由预训练的Vocos声码器将梅尔谱转换为波形¯w。
粗细有序性的实�� 是Gogo的关键特性,通过两种技术强制实现:
- 嵌套dropout:训练时随机保留前
n_k个token,迫使模型将最重要的信息编码在靠前的token中。 - 损失平衡器:动态调整流匹配损失和ASR损失的权重,使得当保留token少时,模型更关注语义(ASR损失主导);当保留token多时,更关注声学细节(流匹配损失主导)。
GogoSpeech 语音语言模型 是基于Gogo构建的两阶段生成模型,其架构如图3所示。

- 第一阶段(骨架构建):给定文本
y和语音提示的粗token骨架(S:,1:b,b=3),自回归地逐组生成目标语音的粗token骨架˜S:,1:b。此阶段token率极低(~14Hz),旨在生成稳定的高层语义和结构指示。 - 第二阶段(细节丰富):对于每一组,基于已生成的粗token骨架
˜S_i,1:b、之前所有组的完整token序列˜S_{1:i-1},:以及语音提示S,自回归地生成剩余的细token˜S_i,b+1:n_q,从而逐步补充声学细节,恢复完整token序列。
GRPO训练的Token分配器 如图4所示,旨在提升第二阶段的效率。

它是一个轻量Transformer,输入为第一阶段生成的每组粗token骨架 ˜S_i,1:b,输出一个预算 ξ_i(可选细token数量)。训练时,对所有可能的预算 o_j(从 b 到 n_q)进行枚举,分别通过Gogo重建语音,并计算两个奖励:R_n(惩罚token使用数量)和 R_d(惩罚重建失真)。结合两个奖励得到总奖励 R,计算组相对优势 A_j,并通过最大化期望优势来优化分配器策略 π_ω。训练过程中,Gogo编解码器保持冻结。
💡 核心创新点
- 组级、粗细有序的语音量化范式:打破了传统逐帧量化的局限,将连续帧分组处理,并生成从高抽象到低细节的有序token序列。这直接增强了token对自回归建模的友好性(见表2的困惑度对比),并天然适配两阶段生成。
- 两阶段、异构token率的语音生成框架:第一阶段以极低的14Hz token率生成“骨架”,大幅降低了自回归预测的难度和误差累积;第二阶段在标准47Hz token率下补充细节,保证了高保真度。这种设计在稳定性和效率之间取得了良好平衡。
- 基于GRPO的自适应token分配器:将强化学习应用于语音生成的效率优化问题。它学习根据语音片段的复杂度(信息密度)动态分配计算资源(token预算),实现了在不显著牺牲质量的前提下降低平均token率(从47Hz降至36Hz),体现了对语音信号非均匀性的有效利用。
- 统一且模块化的系统设计:Gogo编解码器、GogoSpeech语言模型和token分配器三者相互独立又紧密配合,形成了一个从编码、建模到推理优化的完整闭环。系统性的消融实验(表7-10)验证了每个模块和设计选择的有效性。
🔬 细节详述
- 训练数据:在Emilia数据集的英文子集上训练,规模约50K小时。评测重建质量使用LibriTTS test-clean集(4837样本);评测零样本TTS使用Seed-TTS test-en集(1000样本)。所有音频重采样至24kHz。
- 损失函数:
- Gogo总损失:
L_Gogo = λ_CFM L_CFM + λ_AR L_AR + λ_ASR * L_ASR。L_CFM:流匹配目标,条件为量化嵌入¯x,预测速度场v_θ(x_t, ¯x, t)与真实v(x_0, x_1, t)的均方误差。L_AR:自回归先验损失,在特征空间预测下一token嵌入的均方误差(附录B)。L_ASR:ASR模块损失,将所有组的量化嵌入¯x_s送入ASR模型,计算转录文本的交叉熵损失(附录B)。λ_ASR和λ_CFM通过损失平衡器动态调整(公式5)。
- GogoSpeech损失:标准的下一token预测负对数似然损失,分两阶段定义(公式6,7)。
- Token分配器损失:基于GRPO算法的强化学习目标(公式13),奖励
R = λ_n R_n + λ_d R_d(公式11),其中R_n基于token数量,R_d基于重建梅尔谱的MSE。
- Gogo总损失:
- 训练策略:
- 优化器:均使用AdamW。Gogo学习率
2e-4,GogoSpeech Stage I/II为5e-4,分配器为1e-4。 - 调度:余弦退火学习率调度。
- Batch Size:Gogo为1440秒,GogoSpeech Stage I为1152样本,Stage II为288样本,分配器为128样本。
- 训练步数/轮数:Gogo为400k步,GogoSpeech Stage I为10 epoch,Stage II为5 epoch,分配器为1 epoch。具体步骤数见表4。
- 优化器:均使用AdamW。Gogo学习率
- 关键超参数:组大小
g=20,语音查询数n_q=10,骨干token数b=3。FSQ量化级数为[8, 8, 8, 5, 5],有效码本大小12,800。GogoSpeech基于Llama-3.2-1B-Instruct初始化。 - 训练硬件:8块NVIDIA H100 NVL 94GB GPU。
- 推理细节:
- Gogo:使用Euler ODE求解器进行流匹配采样,采用Sway Sampling策略,分类器自由引导(CFG)尺度为2,使用EMA权重。
- GogoSpeech:标准自回归解码,温度0.8,重复惩罚1.2,核采样p=1.0。第二阶段采用提前停止策略,即生成token数达到分配器预算即停止。
- 正则化技巧:Gogo的Transformer编码器使用非对称掩码(梅尔特征互相关注,但不关注语音查询;语音查询可关注所有梅尔特征及之前的查询)。在嵌套dropout中,对梯度进行重新加权以补偿不同token被更新次数的不平衡(公式16)。
📊 实验结果
编解码器重建性能对比(表1,LibriTTS test-clean集):
| Model | TPS | FPS | #CB | UT-MOS | DNS-MOS | STOI | PESQ(WB) | PESQ(NB) | SIM | WER |
|---|---|---|---|---|---|---|---|---|---|---|
| Ground Truth | - | - | - | 4.13 | 3.83 | 1.00 | 4.64 | 4.55 | 1.00 | 5.86 |
| DAC | 600 | 75 | 8 | 3.78 | 3.75 | 0.99 | 3.52 | 3.85 | 0.98 | 6.10 |
| EnCodec | 600 | 75 | 8 | 3.13 | 3.56 | 0.94 | 2.74 | 3.36 | 0.97 | 6.24 |
| WavTokenizer | 75 | 75 | 1 | 4.11 | 3.65 | 0.92 | 2.43 | 2.96 | 0.90 | 8.34 |
| MagiCodec | 50 | 50 | 1 | 4.21 | 3.96 | 0.93 | 2.55 | 3.18 | 0.86 | 7.45 |
| X-codec2 | 50 | 50 | 1 | 4.17 | 3.90 | 0.92 | 2.45 | 3.07 | 0.83 | 6.40 |
| Gogo | 47 | 47 | 1 | 4.19 | 3.99 | 0.92 | 2.59 | 3.26 | 0.91 | 6.35 |
结论:在47Hz的较低token率下,Gogo的UT-MOS和DNS-MOS得分甚至超过了高token率的DAC/EnCodec和真实语音,表明其生成模型带来了感知质量增强。在SIM和WER上也表现优异。
(图8描述:该图展示了评估自回归模型对不同量化方案产生token的预测困惑度(PPL)的流程。左侧为组级量化,取每组第j个token;右侧为帧级RVQ,取第j层RVQ的token。中间为一个6层LLaMA风格的自回归模型。)
对应的困惑度结果(表2)表明,组级量化在所有粒度上的困惑度均低于帧级量化,证明其产生的token更利于自回归建模。
(图5描述:堆叠面积图,展示了Gogo中不同位置token在多个声学、韵律和语言特征预测任务上的归一化损失。x轴为token位置(1最粗,10最细),y轴为相对最大损失的比例,值越高表示损失越大、预测性能越差。)
图5显示,前3个token主要编码全局信息(时长、词数等),中间token编码韵律,最后3个token编码声学细节,直观验证了粗细有序的设计。

(图7描述:折线图,展示了在LibriTTS test-clean集上,每组保留前n个token(n从1到10)进行重建时,各项归一化指标(WER, PESQ, STOI, UT-MOS, DNS-MOS, SIM)的变化趋势。)
图7显示,WER在保留前几个token时急剧下降,说明粗token捕获了主要语言内容;PESQ等声学指标在保留超过4个token后才有显著提升。
零样本TTS性能对比(表3,Seed-TTS test-en集):
| Model | SIM | WER | SIM† | WER† | RTF | SMOS | CMOS |
|---|---|---|---|---|---|---|---|
| Ground Truth | 0.734 | 2.143 | 0.809 | 2.037 | - | 4.752 | 0.000 |
| F5-TTS | 0.647 | 1.830 | 0.716 | 1.812 | 0.184 | 4.173 | +1.730 |
| CosyVoice 2 | 0.654 | 2.380 | 0.701 | 2.324 | 0.549 | 4.331 | +1.638 |
| GogoSpeech (47Hz) | 0.667 | 2.394 | 0.725 | 1.788 | 0.535 | 4.381 | +1.832 |
| w/ Allocator (36Hz) | 0.662 | 2.469 | 0.717 | 1.845 | 0.455 | 4.253 | +1.587 |
| († 表示仅对长语音样本评测) |
结论:GogoSpeech在说话人相似度(SIM)和长语音生成稳定性(SIM†, WER†)上取得最优,主观评价(SMOS, CMOS)也最佳。Token分配器在平均token率降低23%(47→36Hz)的情况下,性能仅有轻微下降,证明了其效率。
消融实验关键结果(表10,系统级控制变量对比):
| Codec (组级/帧级) | SLM (单/双阶段) | Allocator | TPS | SIM | WER |
|---|---|---|---|---|---|
| 帧级 | 单阶段 | - | 47 | 0.592 | 4.117 |
| 组级 | 单阶段 | - | 47 | 0.642 | 3.121 |
| 组级 | 双阶段 | - | 47 | 0.667 | 2.394 |
| 组级 | 双阶段 | ✓ | 36 | 0.662 | 2.469 |
结论:从上到下依次验证了组级量化、两阶段设计和token分配器各自的贡献。组级量化(Gogo)比帧级量化显著提升SLM性能;两阶段设计进一步大幅优化;分配器实现高效权衡。
⚖️ 评分理由
- 学术质量:7.0/7:论文创新性强,提出了一个新颖且完整的语音生成技术栈。方法论严谨,从编解码器设计到语言模型架构再到效率优化,层层递进。实验设计全面,有大量对比和消融,结果有说服力。技术细节披露充分。
- 选题价值:2.0/2:选题聚焦于语音大模型的核心瓶颈问题,前沿性强。Gogo和GogoSpeech的设计对推动高质量、高效率的语音生成有明确价值,潜在应用场景广泛。
- 开源与复现加成:+0.5/1:论文详尽披露了模型配置、训练超参数、数据集和评估协议,为复现提供了极佳的文本指南,并提供了演示样本。但未明确承诺开源代码和模型权重,这是复现的最后关键一环,因此扣分。