📄 FlexiSLM: A Dynamic and Controllable Frame Rate Spoken Language Model
#自监督学习 #语音合成 #语音识别 #模型压缩
7.2/10 | 创新 1.5/2 | 严谨 1.1/1.5 | 实验 1.2/1.5 | 清晰 1/1 | 影响 0.7/1.5 | 开源 0.8/1.5 | 复现 0.4/0.5 | 工程 0.5/1.5
✅ 7.2/10 | 前25% | #语音合成 | #自监督学习 | #语音识别 #模型压缩 | arxiv
👥 作者与机构
本文由香港中文大学(深圳)和字节跳动联合完成。作者为:Jiaqi Li, Chaoren Wang, Xiaohai Tian, Mingjie Chen, Xinyu Liang, Xu Li, Yufan Lin, Junwen Qiu, Jun Zhang, Lu Lu, Haizhou Li, Zhizheng Wu。其中,通讯作者为jiaqili3@link.cuhk.edu.cn和wuzhizheng@cuhk.edu.cn。
💡 毒舌点评
这篇论文就像给语言模型装上了一个“智能节拍器”。它敏锐地抓住了固定帧率SLM在处理信息密度不均的语音时的“笨拙”之处——在静音时还在勤勤恳恳地输出令牌。FlexiSLM的创新点在于将音频编解码领域的动态帧率技术“升维”应用到了端到端SLM框架中,并且实现了用户可直接指定输出帧率的可控性。架构设计(Thinker-Talker + Talker-to-Thinker反馈)清晰且合理,体现了对系统设计的成熟考量。然而,审稿人(也就是我)要指出几个问题:首先,声称“首个”需要更严谨的界定,特别是Table 1中其他模型使用了“补丁”技术达到类似有效帧率,论文对此的区分略显不足。其次,实验验证部分在提供的文本中缺乏关键的定量结果表格(如WER、PESQ等),使得“优于固定帧率7B模型”的结论缺乏直观数据支撑。最后,对动态帧率策略可能带来的语音质量、韵律保真度等潜在负面影响的讨论几乎缺失,论文在指出自己局限性方面显得“不够诚实”。总的来说,它提出了一个好想法和一个扎实的框架,但要成为一篇完美的顶会论文,还需要更扎实的实验“铁证”和更深刻的自我批判。
📌 核心摘要
FlexiSLM是首个支持动态和可控帧率的端到端口语语言模型(SLM)。它针对现有SLM使用固定帧率(如25Hz或12.5Hz)导致计算浪费和缺乏推理灵活性的问题,将动态帧率编码技术从音频编解码器扩展至SLM框架。该模型采用Thinker-Talker架构,在输入和输出端均实现了动态帧压缩。核心创新在于提出了直接帧率控制机制,用户可以在推理时指定目标输出帧率(范围4.0Hz至12.5Hz),无需重新训练,即可在质量与速度之间灵活权衡。实验表明,FlexiSLM在高质量工作点(12.5Hz)性能优于固定的7B基线模型(如Qwen2.5-Omni),在6.25Hz下推理时间减半且保持良好质量,在更低帧率(4.0Hz)下出现性能退化。
🔗 开源详情
- 代码:https://github.com/AmphionTeam/FlexiSLM
- 模型权重:论文中计划开源FlexiSLM的复现模型,但截至分析时,GitHub仓库可能尚未发布完整的7B模型权重。FlexiCodec的预训练权重可从其GitHub仓库获取(https://github.com/jiaqi-lyu/FlexiCodec)。
- 数据集:
- FlexiSLM-Data(包含Dialog-s2s, Dialog-t2t):https://huggingface.co/datasets/Amphion/FlexiSLM-Data
- 其他提及的开源数据集及链接:
- Emilia-EN:论文中未提供直接链接。
- MLS:https://huggingface.co/datasets/facebook/multilingual_libriSpeech
- LibriSpeech:https://huggingface.co/datasets/librispeech_asr
- LLaSO-instruct:论文中未提供直接链接。
- TriviaQA:论文中未提供直接链接。
- Demo:https://flexislm.github.io
- 复现材料:论文中提及计划随代码发布提供复现所需的数据和模型,但目前详细的训练配置、检查点等链接未提供。
- 论文中引用的主要开源项目:
- FlexiCodec:https://github.com/jiaqi-lyu/FlexiCodec
- Qwen2.5-Omni:https://github.com/QwenLM/Qwen2.5-Omni
- Moshi:https://github.com/kyutai-labs/moshi
- EnCodec:https://github.com/facebookresearch/encodec
- Kimi-Audio、GLM-4-Voice、Mimo-Audio、Fun-Audio-Chat/DrVoice、SoundStream、HuBERT、AudioLM、CosyVoice、SpeechTokenizer、DualCodec、VARSTok、CodecSlime、TFC:论文中未提供直接GitHub链接。
🏗️ 方法概述和架构
FlexiSLM是一个语音输入、语音输出的并行语音-文本模型,其核心架构由图2所示,包含以下关键组件:
音频编码器:采用预训练的Qwen2.5-Omni音频编码器,将用户输入的原始波形编码为25Hz的连续语音特征表示。该编码器提供了丰富的语义信息,作为后续LLM理解的输入。
帧合并模块:这是实现动态帧率的核心模块,功能是压缩序列中的帧数。该模块在模型中出现两次,共享相同的合并机制:(1)在输入侧,将音频编码器输出的25Hz连续特征压缩至≤12.5Hz的动态帧率序列;(2)在FlexiCodec音频分词器内部,将12.5Hz的ASR特征在量化前进行合并。具体实现如图2(b)所示:给定一个固定帧率的特征序列
\(\mathbf{x}_{1}, \mathbf{x}_{2}, \ldots, \mathbf{x}_{T}\),模块计算相邻帧间的余弦相似度\(s_t\)。如果\(s_t\)超过合并阈值\(\tau\),则将帧\(\mathbf{x}_t\)和\(\mathbf{x}_{t+1}\)分组并计算其平均值。此过程从左到右贪心进行,连续的高相似度帧被合并为单个平均表示。合并后,每个组产生一个平均特征\(\bar{\mathbf{x}}_{k}\)和一个帧长度属性\(l_k\)(表示组内原始帧的数量)。然后,通过一个轻量级Transformer处理交错排列的原始与平均特征序列,最终输出合并后的特征序列及其关联的帧长度。LLM骨干(Thinker):使用Qwen2.5-7B-Instruct进行初始化,与Qwen2.5-Omni和Kimi-Audio使用相同的初始化基础。它作为模型的“大脑”,负责理解输入并生成用于指导语音生成的隐藏状态。
FlexiCodec音频分词器:使用开源的预训练FlexiCodec模型。它负责将连续的语音特征离散化为FlexiSLM Talker模块的预测目标——动态帧率的语音令牌。每个令牌通过有限标量量化(FSQ)得到,并配有一个帧长度属性,用于后续的音频重建。论文使用了FlexiCodec的语义令牌,省略了其RVQ声学令牌。
Talker Transformer:解码Thinker LLM的隐藏状态和输出,生成FlexiCodec的动态帧率语音令牌。其输入输出结构如图3所示。
- 输入:其输入序列覆盖整个用户-助手上下文。在每个位置,Talker的输入嵌入由三部分拼接投影而成:(1)骨干LLM最后一层的隐藏状态;(2)使用正弦位置编码嵌入的目标帧率(见下文直接帧率控制);(3)先前发出的语音令牌和帧长度令牌的嵌入。
- 输出:Talker并行产生两个输出流:FlexiCodec FSQ代码及其关联的帧长度。它使用两个独立的输出LM头来并行预测这两个流。
- 令牌延迟:如图3所示,Talker的FSQ令牌流相对于文本流有5个令牌的延迟,提供一个小的前瞻窗口,防止语音超前于对应文本。帧长度令牌则再延迟一个位置,允许模型在知道对应语音令牌后预测其时长。
Talker-to-Thinker连接:除了标准的Thinker到Talker信息流,FlexiSLM引入了一个可选的Talker-to-Thinker连接(图2中的红色虚线箭头)。该连接将Talker先前发出的语音令牌嵌入反馈到下一步的Thinker LLM骨干中,使Thinker能够明确知道已经“说出”了什么,从而增强上下文建模。此连接可以通过将Talker嵌入的贡献置零来禁用。
音频解码器:一个冻结的、非自回归的基于流匹配(Flow-Matching)的Transformer,负责从语音令牌解码梅尔频谱图。随后,一个Vocos神经声码器将梅尔频谱图转换为24kHz的语音波形。解码器和声码器均使用来自开源FlexiCodec仓库的预训练模型。
直接帧率控制机制:这是FlexiSLM实现帧率可控性的关键。与传统的基于阈值(调整合并阈值
\(\tau\))的间接控制方法不同,FlexiSLM在训练和推理时,将目标平均帧率\(r\)作为条件信号直接输入到Talker Transformer和帧合并模块中。在训练阶段,随机采样合并阈值,计算每个语句的实际平均帧率,并将该经验帧率作为条件信号喂入模型。在推理阶段,用户直接指定期望的帧率。该标量帧率值\(r\)通过正弦位置编码\(PE(r)\)转换为高维向量,嵌入到Talker的输入中。这使得单一模型无需重训练即可在\(\leq 12.5\)Hz 的任意帧率下运行。
数据流:用户语音 → 音频编码器(25Hz连续特征) → 帧合并模块(输入侧,压缩至动态帧率) → Thinker LLM(处理语音与文本) → Talker Transformer(以直接帧率为条件,生成动态帧率语音令牌) → FlexiCodec音频分词器(目标令牌)与音频解码器(将Talker输出令牌解码为语音)。同时,Talker生成的令牌可通过可选连接反馈给Thinker。


💡 核心创新点
- 首个动态帧率SLM框架:首次将动态帧率技术从音频编解码器成功扩展至端到端口语语言模型(SLM)框架,在语音输入和输出端均实现了基于信息密度的动态帧压缩。
- 直接帧率控制:提出了直接指定目标平均帧率的条件生成机制,替代了传统的基于阈值的间接控制方法,使得模型在推理时能直观、稳定地在不同计算预算(帧率)间切换,实现了帧率的用户可控性。
- Talker-to-Thinker连接:在Thinker-Talker架构中引入了从Talker到Thinker的反馈连接,使LLM能访问已生成的语音上下文,增强了建模能力。
📊 实验结果
论文在多个工作点评估了FlexiSLM的性能,并与多个基线模型进行了对比。主要发现如下:
- 性能与帧率权衡:FlexiSLM在高质量工作点(12.5Hz)的性能优于固定的7B基线模型(如Qwen2.5-Omni和Kimi-Audio)。在6.25Hz帧率下,推理时间相对于12.5Hz大约减半,同时仍保持较强的语音到语音质量。在更低的帧率(5.0Hz和4.0Hz)下,性能出现“优雅降级”,其中4.0Hz时出现明显性能退化。
- 对比基线:与FlexiSLM进行对比的代表性固定帧率SLM如下表(Table 1)所示:
| 模型 | 帧率 (Hz) | 帧率可控性 | 动态帧率 |
|---|---|---|---|
| Qwen3-Omni-30B | 12.5 | ✗ | ✗ |
| Fun-Audio-Chat-8B | 25(5.0)† | ✗ | ✗ |
| GLM 4-Voice-9B | 12.5 | ✗ | ✗ |
| Mimo-Audio-7B | 25(6.25)† | ✗ | ✗ |
| Kimi-Audio-7B | 12.5 | ✗ | ✗ |
| Qwen2.5-Omni-7B | 25 in / 50 out | ✗ | ✗ |
| BPE Text Tokens | 4.5 | - | - |
| FlexiSLM-7B | 4.0 ~ 12.5 | ✓ | ✓ |
† 表示这些系统使用补丁(patching)技术,使得LLM侧的有效帧率分别为5Hz(Fun-Audio-Chat)和6.25Hz(Mimo-Audio)。论文指出,此方法与基于动态帧率的压缩是互补的。
- 训练数据:模型训练使用的数据集及采样比例如下表(Table 2)所示:
| 数据集 | 任务 | 采样比例 | 语句数 | 时长 (小时) |
|---|---|---|---|---|
| FlexiSLM-Data | 对话 (s2s) | 3.0 | 1.4M | 9.9K |
| TriviaQA+Web Q. | 对话 (s2s) | 3.0 | 140K | 0.4K |
| TriviaQA+Web Q. | 对话 (t2t) | 1.0 | 140K | – |
| Emilia-EN | TTS | 0.15 | 14M | 50K |
| MLS | TTS | 0.15 | 12M | 50K |
| LibriSpeech | ASR | 1.0 | 280K | 1K |
| MLS | ASR | 0.1 | 12M | 50K |
| LLaSO-instruct | 音频理解 | 1.0 | 7M | 24K |
“时长”和“语句数”在采样前测量。FlexiSLM-Data的具体构成和来源未在提供的文本中详述,但数据集已在HuggingFace上开源。

⚖️ 评分理由
- 创新性 (1.5/2): 问题定义清晰(固定帧率SLM的计算浪费与缺乏灵活性)。核心贡献——将动态帧率技术引入端到端SLM框架——具有明确的新颖性和价值。直接帧率控制机制设计巧妙,优于传统阈值控制。扣分点在于,需要更严格地界定“首个”的贡献边界,特别是与Table 1中其他使用补丁技术达到类似有效帧率的模型进行区分。
- 技术严谨性 (1.1/1.5): 架构设计合理,基于成熟的Thinker-Talker范式并做了有价值的改进(Talker-to-Thinker连接)。动态帧率生成的条件编码方案(正弦位置编码)技术实现合理。扣分点在于,论文对动态帧率合并策略的理论分析或数学建模深度不足,且对“帧率可控性”的实现细节(如如何保证输出帧率精确匹配目标值)阐述不够透彻。
- 实验充分性 (1.2/2): 提供了多个工作点的性能对比,并与强基线进行了比较,结论(如6.25Hz下的速度-质量权衡)具有启发性。然而,审校发现以下严重不足:1)提供的文本节选缺失核心的定量结果表格(如WER、语音质量PESQ、生成质量BLEU/UTMOS等),使得“优于基线”的结论缺乏直接数据支撑。2)缺乏必要的消融实验,无法量化Talker-to-Thinker连接、直接帧率控制机制等关键模块的具体贡献。3)未提供在相同硬件下不同帧率配置的实际推理速度与质量权衡的实证曲线。4)训练数据“FlexiSLM-Data”的具体构成和预处理细节描述不清。
- 清晰度 (1.3/1.5): 论文整体结构清晰,图2、图3有助于理解架构。方法描述部分较为详实。扣分点在于,部分概念(如“patching”与动态帧率的区别)的阐述可以更明确,以避免贡献被误解或低估。
- 影响力 (0.7/1): 动态帧率SLM对于在异构设备、动态网络环境下部署语音交互模型具有明确的实用价值。该工作为SLM的效率优化提供了新思路。影响力得分中等,因为该工作的核心贡献局限于SLM框架的效率优化,对语音处理领域的基础理论或其他子领域的辐射效应相对有限。
- 开源 (0.8/1): 论文承诺开源代码、复现数据及模型,GitHub仓库已建立(AmphionTeam/FlexiSLM)。FlexiSLM-Data数据集已在HuggingFace开源。主要依赖的FlexiCodec权重也可从其GitHub获取。扣分点在于:1)FlexiSLM自身的完整模型权重(7B)在论文发表时未明确提供开源链接;2)部分提及的外部数据集(如Emilia-EN, LLaSO-instruct)未提供直接链接。
- 可复现性 (0.4/0.5): 论文提供了主要代码库和数据集的链接,具备一定的可复现基础。扣分点在于:1)缺少详细的训练配置(如超参数、学习率调度、硬件环境);2)FlexiSLM-7B模型权重未明确开源,仅承诺“计划发布”;3)依赖的预训练模型(如音频编码器、FlexiCodec)的具体版本和获取方式需仔细查阅其仓库。
- 工程/实践价值 (0.5/0.5): 该工作的工程价值非常突出。它直接解决实际部署中的关键痛点——如何在资源受限条件下灵活调整模型推理成本。直接帧率控制机制极大地增强了模型在实际应用中的灵活性和易用性,是一个非常实用的系统设计。
🚨 局限与问题
- 动态帧率信息损失风险:论文未充分讨论基于余弦相似度的帧合并策略是否会���失重要的语音韵律、情感或节奏信息。尤其是在高相似度区间,合并可能过度平滑语音的细微变化,影响生成语音的自然度和表现力。需要通过主观听辨实验或分析不同帧率下的韵律特征进行验证。
- 低帧率性能退化机制不清:论文观察到在4.0Hz下性能出现退化,但并未深入分析其根本原因。是因为合并过度导致关键信息丢失,还是因为LLM和Talker在极低帧率下的建模能力不足?缺乏此类分析削弱了论文的深度。
- 帧率控制的精确性与泛化性:直接帧率控制依赖于训练时随机采样阈值并计算经验帧率。在推理时,对于未见过的极端帧率(如接近0Hz或高于12.5Hz),模型的表现如何?论文未进行讨论。此外,该方法能否保证输出序列的精确平均帧率,还是仅是一种近似控制?
- 实验对比的全面性不足:与固定帧率基线的对比可能不够公平。对比模型在固定帧率下可能并非最优状态。更理想的对比应包含:a) 与同样旨在降低推理成本的模型(如使用文本令牌化或更高压缩率的模型)对比;b) 在相同计算量(如相同的总浮点运算)下对比不同帧率配置的FlexiSLM与固定帧率基线,以严格验证“质量-速度权衡”的有效性。
- 数据依赖性与泛化性:模型性能可能高度依赖于训练数据“FlexiSLM-Data”的构成和质量。该数据集的具体来源、处理方式以及其中对话数据的特性未充分说明,这可能导致在其他领域或口音的语音上泛化能力下降。论文缺乏对数据分布影响的讨论。
- 与“补丁”技术的模糊关系:Table 1和脚注指出,其他模型使用的“补丁”技术(如Mimo-Audio的25Hz到6.25Hz)与本文的动态帧率压缩是互补的。但论文未探索将两者结合的可能性或分析其潜在增益/冲突,这使得贡献的独特性边界有些模糊。