Whisper的出现确实改变了语音识别领域的格局。它用海量弱标注数据训练出了一个鲁棒性极强的转录模型,即使面对口音、噪声和各种刁钻的录音环境,也能给出相当不错的转写结果。不过如果冷静地审视它的架构,会发现Whisper做的事情其实很有限:它只负责把声音变成文字,至于文字背后的语义理解、上下文推理、情感把握,全都交给了下游的语言模型。这种流水线式的分工在工程上很成熟,但也天然带来了信息损耗和延迟累积的问题。语音中的语调、停顿、情绪、说话人特征,在转写成文字的那一刻就已经丢失了。这引出了一个更根本的问题:能不能跳过文字这个中间表示,让模型直接理解语音、直接生成语音?这就是端到端语音大模型要回答的问题。

Whisper的技术路线与它的天花板
要理解端到端方案的必要性,得先弄清楚Whisper到底是怎么工作的。Whisper采用了经典的Encoder-Decoder架构:音频先被转换成梅尔频谱图,然后由编码器提取声学特征,解码器以自回归方式逐步生成文本token,整个过程基于Transformer完成训练。它最聪明的地方在于数据策略——用68万小时从互联网上爬取的弱标注音频,配合多任务训练(转录、翻译、语言识别、时间戳预测),换来了极强的泛化能力。
但这条路线的天花板也很明显。第一,文字是一种有损压缩。当一个人用颤抖的声音说出我没事这四个字时,文字层面完全无法保留颤抖这个关键信息,而恰恰是这些副语言信息构成了人类交流的大部分语义。第二,流水线延迟。Whisper转录完再交给大语言模型处理,最后还得经过TTS合成语音,三个模块串行执行,实时对话场景下体验会明显割裂。第三,错误逐级传播。转录阶段的任何一个错字,都会被下游模型当作事实继承下去,无法回溯修正。
这些问题并不是Whisper做得不好,而是架构范式本身决定的。它就像一个优秀的速记员,听得很准,但不真正参与对话。
端到端语音大模型的核心思路
端到端方案的核心诉求是:让语音成为模型的一等公民,而不是文本的附属品。目前业界主要有三条技术路线,各有取舍。
第一条路线是语音离散化,也就是给语音建立自己的词表。代表方法是神经编解码器压缩,比如SoundStream、EnCodec这类codec模型,可以把连续音频切成极短的分片,再用残差向量量化编码成离散token。这样一来语音就变成了和文字一样的token序列,直接喂给Transformer处理。GPT-4o、Moshi等模型都采用了类似思路。语音token的码率是个关键权衡:码率太高序列太长、计算开销大,码率太低又会丢失细节,目前主流方案把语音控制在每秒几十到几百个token的量级,再通过多码本残差分层还原音质。
第二条路线是多模态早期融合。做法相对粗暴但有效:把音频embedding和文本token直接拼接进同一个Transformer,让模型在预训练阶段就同时接触两种模态。早期的音频语言模型多采用后期对齐(先训文本模型再用适配器接上语音),发现语音能力总是落后于文本能力一大截,根本原因就是语音在预训练里占比太低。早期融合虽然训练成本高得多,但换来的是模态之间的深度耦合,模型能真正学会从语气推断情绪这类跨模态推理。
第三条路线是保留Whisper作为感知前端,在其上构建语音理解层。这算是一种务实的折中:复用成熟的声学编码器,在解码端引入语音token生成能力。开源社区不少工作走的这条路,好处是训练数据需求小、上手快,缺点是依然受限于上游编码器的信息瓶颈。
全双工与流式生成:真正的工程难关
架构打通只是第一步,落到产品层面,端到端语音模型面临的最硬的骨头是交互模式。人类对话是全双工的:我们会打断对方、会同时听和说、会用嗯嗯表示自己在听。而绝大多数语音模型仍然是对讲机模式——说完等模型回复,模型说话时用户插话会被无视。要实现自然对话,模型必须具备流式的听觉理解和即时的语音生成,甚至在生成过程中随时根据用户新的输入调整输出。Moshi提出的并行流架构是一个有意思的尝试:用两条时间对齐的token流分别表示用户和模型的话轮,让模型学会在时间轴上交错地听和说。
延迟是另一个硬指标。端到端模型理论上省去了ASR加LLM加TTS的串行延迟,理论首字延迟可以压到几百毫秒以内,接近人类对话的自然间隔。但实践中的挑战在于自回归解码的固有速度限制,语音token的码率远高于文字,一秒钟语音可能对应上百个token的生成压力。工程上常用的手段包括:低码率语义token与高码率声学token分层生成、KV缓存优化、投机解码,以及在边缘设备上做量化部署。下面是一个简化的分层生成示意:
import torch
# 两级token生成示意:先出语义token,再补声学细节
semantic_token = model.decode_semantic(audio_prefix) # 低码率,决定说了什么
acoustic_tokens = model.decode_acoustic( # 高码率,决定怎么说的
semantic=semantic_token,
speaker_emb=speaker_embedding,
)
# 流式输出:每生成一小段就立刻送入播放队列
stream.push(acoustic_tokens)
此外还有评测体系的缺位。传统ASR用词错误率就能衡量,但端到端模型的评价维度包括语义理解准确性、语音自然度、情感恰当性、打断响应灵敏度等等,目前缺乏统一基准,各家论文的对比数据很难横向比较。
落地场景与冷静的预期
端到端语音大模型最适合的场景,是那些文字无法承载全部信息的交互。实时语音翻译是典型代表:译者的任务不只是转译字面内容,还要传递语气和情绪,端到端模型天然保留了这些信息,有望产出比流水线方案更有人味的翻译。情感陪伴类应用是另一个明确方向,语调、停顿、笑声本身就是产品核心体验,丢掉这些等于丢掉产品。电话客服、语音助手、无障碍交互也都会显著受益于更低的延迟和更自然的对话节奏。
但也需要保持冷静。端到端模型的可控性目前不如流水线方案:文本层是一个天然的安全阀门,可以在送入TTS前做内容审核和格式化,而语音直出语音的模式让这个缓冲区消失了,幻觉内容会以更拟人的方式直接说出口。训练成本同样是壁垒,语音token长度动辄数倍于文本,同等参数量下训练开销显著更高。短期内更可能出现的是混合架构:关键场景用端到端保交互体验,高可控需求场景保留文字中间层。
回头看,Whisper的历史意义在于证明了大规模、多任务、弱监督的范式在语音领域同样成立,而它未走完的路——让机器真正听懂并回应人类的声音——正由端到端语音大模型接着往前推。这个方向不会一蹴而就,但趋势已经清晰:语音不再是要被转录成文字的素材,而是模型直接思考和表达的母语。