Speech Foundation Models

语音基础模型的四层技术演进

从“听懂波形”到“在真实时间里边听边说”,连续表征、音频 Token、Speech LM 和原生语音 LLM 分别解决了什么问题。

4 层接口连续表征、Audio Tokenizer、Speech LM、原生语音 LLM 组合演进,而非线性替代。

“语音预训练模型”不是一个单一类别。wav2vec 2.0 学的是可迁移连续表示,EnCodec 学的是可重建的离散码流,AudioLM 学的是音频 Token 分布,Kimi-Audio、Qwen-Omni 一类系统则把感知、语言推理和语音生成接成完整产品。它们位于不同层,不能用同一个榜单替代架构判断。

语音基础模型四层演进四个阶段依次解决连续表征、离散音频接口、生成模型和原生语音系统问题,并显示现代系统仍混合使用连续、文本和离散表示。 1. 连续表征 Encoder波形 → hidden statesmask / contrast / denoisewav2vec 2.0 · HuBERTWavLM · USM 2. Audio Tokenizer波形 ↔ 离散 codes重建 / 感知 / 语义蒸馏SoundStream · EnCodecSpeechTokenizer · Mimi 3. Speech / Audio LMToken → Tokennext-token / masked parallelAudioLM · VALL-ESoundStorm · Moshi 4. 原生语音 LLM多模态 → 文本 + 语音指令 / RL / 工具 / 实时Kimi-Audio · Qwen-OmniGLM-4-Voice · Step-Audio 现代系统的实际组合,而不是单向替代连续 encoder 负责感知文本/hidden state 负责知识与规划 · 离散 codec Token 负责可生成语音
“演进”表示系统增加了新的接口能力,不表示后一层淘汰前一层。当前领先系统往往把四层中的多个组件联合训练。

一、连续表征:先让大量无标注波形变得可迁移

早期语音系统依赖大量人工转写。自监督 encoder 改变了数据接口:先在无标注波形上学习上下文表示,再用少量标注适配 ASR、说话人、情感或分离任务。输出是每帧一个连续向量,不是可以直接播放的音频。

模型预训练目标工程取舍
wav2vec 2.0从负样本中识别被遮帧的量化目标少标注 ASR 强,但对比负样本与学习码本较复杂
HuBERT预测离线聚类产生的隐藏单元目标稳定;聚类—训练迭代成本高
WavLM隐藏单元预测 + 混合语音去噪同时强化内容、说话人与真实噪声场景
BEST-RQ / USM预测冻结随机投影码本标签目标简单易扩展;最终能力仍依赖监督与文本数据

这一层解决的是“如何听懂”,不是“如何说话”。连续向量保留丰富细节,也适合通过注意力软选择信息;但它没有有限词表,不能直接套用成熟的 next-token 生成接口。

二、Audio Tokenizer:给 Transformer 一个可生成的音频词表

SoundStream 与 EnCodec 将 encoder 输出送入 RVQ,多层码本把每帧压成若干整数索引,decoder 再从这些索引重建波形。离散化使音频第一次像文本一样拥有有限词表,也让码率成为可计算的系统参数。

bitrate = frame_rate × codebooks × log₂(codebook_size)

但重建友好的 Token 不一定易于语言建模。一个高保真 codec 可能每秒产生数百个声学 Token,内容、音色和噪声纠缠在一起。SpeechTokenizer 和 Mimi 因此把 SSL 教师的语义蒸馏到首码本,让第一层更适合长程语言建模,后续残差码本补音色与细节。

Tokenizer 不是语言模型。

它只定义波形与符号之间的接口。即使 Token 能重建清晰语音,也不表示它知道事实、能遵循指令或会对话;这些能力来自后续 LM 训练。

三、Speech LM:学习“下一个声音符号是什么”

有了离散 Token,生成模型可以学习音频序列分布。真正困难的是序列宽度:假设 50 Hz、8 个码本,每秒就是 400 个 Token 位置;30 秒音频涉及 12,000 个码本符号,逐个自回归会很慢。

tokens_per_second = frame_rate × codebooks
50 × 8 = 400 codebook tokens/s
路线代表模型如何控制复杂度
层次化自回归AudioLM先生成低速语义 Token,再生成粗/细声学 Token
文本条件 codec LMVALL-E把 TTS 视为条件 codec language modeling
掩码并行生成SoundStorm按层、按迭代并行填充大量声学 Token
时间 × 码本两级模型MoshiTemporal Transformer 管跨时间语义,Depth Transformer 补帧内码本

Speech LM 让声音续写、零样本 TTS 和实时对话成为可能,但“能生成自然语音”仍不等于“能进行可靠推理”。早期系统通常需要文本 LM 或语义 Token 模型提供内容,再由声学模型实现声音。

四、原生语音 LLM:把感知、推理、发声和时间控制连起来

原生语音 LLM 的变化不是简单增加一个 TTS 头,而是让音频输入和输出参与统一训练,使模型能利用语气、环境声和说话人信息,并在回答时控制自己的语音。实际架构仍通常保留模块边界。

系统输入接口语义骨干输出接口关键设计
GLM-4-Voice12.5 Hz 单码本语音 TokenGLM-4-Voice-9B语音 Token + flow decoder文本/语音交错的 Streaming Thoughts
Kimi-Audio连续音频 encoder7B decoder-only LM离散 audio tokenizer理解与生成联合,audio RL
Qwen3-Omni多模态 encoderThinker MoETalker 多码本 codecThinker-Talker 解耦实时生成
Moshi / PersonaPlex用户 Mimi 多码本流Temporal LM助手 Mimi 多码本流用户/助手并发时间线
StepAudio 2.5统一 audio-language 表示共享 backbone任务化解码ASR/TTS/Realtime 分别后训练

到了这一层,主要瓶颈从单句音质转为系统行为:首包延迟、何时开口、可否打断、长对话声音稳定、回声与重叠、工具等待,以及声音克隆的安全边界。

五、为什么连续表征没有被 Audio Token 淘汰

离散 Token 便于生成和压缩,但量化必然丢信息;连续表示保留细粒度声学特征,更适合输入理解。文本 Token 又是事实知识、指令数据和长程推理最成熟的载体。三种接口各有优势,因此现代系统常采用非对称结构:

音频输入 → 连续 encoder hidden states ┐
文本输入 → 文本 token / embeddings    ├→ 语言模型 / Thinker
                                      └→ 文本 token + 离散语音 token → decoder → 波形
表示最擅长主要代价
连续声学表示高保真感知、软对齐、下游理解没有紧凑词表,不便直接生成
文本 Token / hidden state知识、指令、可解释语义规划丢失音色、情绪和非语音声音
离散音频 Token压缩、生成、流式传输量化损失、长序列、多码本计算

因此真正的演进不是“连续 → 离散 → 端到端”的线性替代,而是接口逐层增加:连续 encoder 打开无标注感知,Tokenizer 打开可生成音频,Speech LM 学会声音分布,原生语音 LLM 再把知识、交互和真实时间约束接进来。

判断一个新模型时,先问四个问题。

输入是连续还是离散?输出是文本还是可播放语音?语言知识在哪个表示空间里?用户和助手的时间线是轮次式还是并发流?这四个答案比“是否端到端”的标签更有信息量。

评论加载中...