一、ASR 真正要解决的不是“听见”,而是对齐
给定一段语音,模型既不知道最终有多少个文字 token,也不知道每个 token 对应哪些声学帧。现代语音识别架构的核心分歧,是怎样在未知对齐关系下,把高频、连续的声音变成低频、离散的文字。
这篇文章面向需要理解或选择近期 ASR 模型的工程师。问题不是列出一张模型排行榜,而是回答:声音如何穿过模型;CTC、Transducer、AED、非自回归解码和 LLM 解码究竟差在哪里;为什么一个模型能处理三小时录音,却未必能实时输出稳定字幕。
传统混合式 ASR 把声学模型、发音词典和语言模型分开,边界明确,领域词表和解码图也容易控制。端到端模型减少了人工接口,但没有让声学证据、对齐和语言先验这三个问题消失,只是把它们重新放进可联合训练的网络。
不要只问模型“是不是 Conformer”或“有没有 LLM”。先分开看三件事:语音编码器看见多少上下文;对齐目标如何把帧压成 token;解码器是否依赖已经输出的文字。
二、共同骨架:先把每 10 毫秒一帧的声音压缩
大多数系统先把 16 kHz 波形转换为 log-Mel filterbank,也有 wav2vec 2.0 这类模型直接从原始波形学习特征。随后,卷积或 frame stacking 在时间轴上降采样,再由 Transformer、Conformer、FastConformer、SAN-M 或 wav2vec 2.0 Transformer 编码上下文。
一秒包含 16,000 个采样点,不能直接作为文本模型的 token 序列。
常见步长约 10 ms,保留频谱中与语音相关的结构。
2×、4× 或 8× 压缩,减少注意力和后续解码成本。
卷积建模局部声学模式,注意力整合较长上下文。
CTC、TDT、AED、NAR 或 LLM 在这里走向不同系统。
一个帧率算例
假设特征提取每 10 ms 产生一帧,10 秒音频先得到约 1,000 帧。若前端做 8 倍降采样,编码器只处理约 125 个时间位置,即每秒 12.5 个音频 token。这个数字会同时影响注意力显存、流式块大小和 LLM 上下文占用。
10 秒音频
× 100 帧/秒 = 1,000 个声学帧
÷ 8 倍时间降采样 ≈ 125 个 encoder states
→ 每个 state 覆盖约 80 ms
注意:80 ms 是表示的时间分辨率,不等于端到端延迟。Conformer 把局部卷积与全局 self-attention 放进同一层;FastConformer 再使用更激进的时间降采样和更高效的注意力。NVIDIA 报告 FastConformer 在其测试设置中相对原始 Conformer 有约 2.8 倍编码器加速,但这个倍率依赖模型、硬件和序列长度。FastConformer 官方研究页
三、五类解码结构,共享同一语音骨干
同一个 FastConformer 可以接 CTC、RNN-T、TDT 或 Transformer decoder;同一个 wav2vec 2.0 encoder 也可以接 CTC 或 Llama 风格 decoder。下面的图刻意把编码器画成共享部分,因为解码头比“用了哪种 Encoder”更能解释系统的行为。
| 路线 | 输出依赖 | 主要优势 | 主要代价 | 近期代表 |
|---|---|---|---|---|
| CTC | 给定 Encoder 后,各帧近似条件独立 | 全并行、简单、快、易对齐 | 内部语言建模弱,复杂上下文常需外部 LM 或重打分 | Omnilingual CTC、SenseVoice |
| RNN-T / TDT | 依赖已经输出的 token,并单调推进音频 | 适合实时 partial;对齐与文本历史联合学习 | 仍需自回归搜索;训练和部署更复杂 | Parakeet-TDT、Nemotron Streaming |
| AED | Decoder 逐 token 读取文本历史并关注语音 | 多任务、翻译、提示和跨句语言建模自然 | 首字与逐 token 延迟;语言先验可能压过声音 | Whisper Turbo、Canary-v2 |
| Paraformer / NAR | 一次并行预测整句,Decoder 可双向看候选 | 速度接近 CTC,输出上下文比纯 CTC 更强 | 需要预测长度/对齐;错误可能并行传播 | Paraformer-v2 |
| Encoder + LLM | 文本 LLM 自回归生成 | 专业词提示、低资源迁移、统一语音理解接口 | KV Cache、显存、长音频预算与幻觉治理 | Fun-ASR-Nano、FireRedASR-LLM、Omnilingual LLM-ASR |
CTC:最短的 Encoder 到文本路径
CTC 为每个时间位置预测词表 token 或 blank,再合并连续重复 token 并删除 blank。训练通过动态规划累加所有能得到目标文本的单调对齐路径,不需要帧级人工标注。它的优势是并行,限制是输出之间没有强显式依赖。CTC 原论文
RNN-T 与 TDT:让音频和文字一起前进
RNN-T 由语音 Encoder、读取已输出文字的 Prediction Network,以及融合二者的 Joint Network 组成。输出 token 时文本位置前进,输出 blank 时音频位置前进。TDT 再增加 duration head,同时预测 token 和要跨过多少 Encoder frame,从而减少逐帧 blank 解码。TDT 作者在其 ASR 实验中报告相对普通 Transducer 最高 2.82 倍推理加速;这是论文设置内的结果,不是跨实现通用倍率。RNN-T;TDT
AED:把识别改写为条件文本生成
Attention Encoder-Decoder 用因果 Transformer Decoder 对语音表示做 cross-attention,并按已经生成的文本逐 token 继续。Whisper 用语言、任务和时间戳 special token,把多语转写、语言识别、翻译与时间戳放进同一生成接口。这给了模型强语言上下文,也意味着即使声音证据很弱,Decoder 仍有能力生成通顺文字。Whisper 论文
Paraformer:先估长度,再并行写完整句子
原始 Paraformer 用 Continuous Integrate-and-Fire 预测 token 数并抽取 token 级声学表示,再由双向 Decoder 一次生成整句。Paraformer-v2 改用 CTC posterior 与 Viterbi alignment 构造 Decoder 输入,以改善 BPE 长度变化和噪声稳健性。作者在各自实验中报告了显著速度收益,但硬件、beam、batch 与测试集不同,不能直接和其他模型卡的 RTF 混排。Paraformer;Paraformer-v2
Encoder + LLM:把音频表示插进文本上下文
这类模型用 Adapter 做两件事:继续降低音频 token 数;把语音表示投影到 LLM embedding 维度。随后,文本提示、音频 embedding 和输出前缀组成一条混合序列,由 Decoder-only LLM 生成转写。它能利用文本预训练中的专业词和语言知识,但也更容易在模糊声音上“补写”合理内容。
Speech Encoder states # 高频、语音维度
→ temporal compression
→ Linear / MLP Adapter # 映射到 LLM embedding 维度
→ [prompt | audio embeddings | transcript prefix]
→ Decoder-only LLM
→ text tokens四、代表模型的结构变化发生在哪里
仍是 30 秒 log-Mel、卷积前端、Transformer Encoder 和自回归 Transformer Decoder。large-v3-turbo 保留 large-v3 Encoder,把 Decoder 从 32 层缩到 4 层,并继续训练这个浅 Decoder。变化是降低每个生成步骤的成本,不是消除逐 token 依赖。
以 FastConformer 为 Encoder,以 TDT 为 Decoder。公开的 0.6B v3 配置使用 24 层、hidden size 1024 的 Encoder,并预测 token 与 duration。局部注意力让模型能处理更长音频,但“可处理数小时”描述的是注意力内存边界,不自动等于实时流式。
采用非自回归、Encoder-only/CTC 风格输出,并把语言、情感和音频事件标签统一进词表。它与 Paraformer 同属 FunASR 生态,但结构重点不同:SenseVoice 面向多任务语音理解,Paraformer 强调 predictor 与并行 Decoder。
公开运行时展示了 SenseVoice SAN-M Encoder、Adapter 与 Qwen3-0.6B LLM 的组合。音频表示降帧并映射到 LLM embedding 后,与文本 token 一起送入 Qwen。它是“小型专业语音塔 + 小型文本 LLM”的典型。
Meta 在同一个大规模 wav2vec 2.0 Encoder 上发布 CTC 与 Llama 风格 Decoder 两条路线。CTC 版本追求并行效率;LLM-ASR 版本用投影层连接自回归 Decoder,并可把同一新语言的音频-文本样例作为上下文。它最清楚地说明:更强的语音基础模型不会让所有场景收敛到同一个 Decoder。
OpenAI 公开称 GPT-4o Transcribe 建立在 GPT-4o 架构之上,并使用音频数据中期训练与强化学习,但没有披露足以复原层级结构的信息。可以陈述官方报告的能力与训练方向,不能从 API 输出反推它一定采用某种 Encoder、Adapter 或 Decoder 组合。OpenAI 官方说明
五、流式识别首先是 Encoder 上下文问题
RNN-T Decoder 并不能把一个看完整段音频的双向 Encoder 自动变成实时模型;CTC Decoder 也不会自动让全局注意力按块稳定输出。
真正的低延迟系统通常限制右侧未来上下文,使用因果卷积或局部注意力,并缓存跨块的 Attention、卷积和降采样状态。Decoder 还要能产生稳定 partial hypothesis,系统层面则需要端点检测决定一句话何时结束。
| 运行方式 | Encoder 看见什么 | 计算方式 | 主要结果 |
|---|---|---|---|
| 全上下文离线 | 完整左右文 | 整段 batch;Attention 内存随长度增长 | 通常质量最好,但首字要等整段或完整分段 |
| 重叠切块 | 固定 chunk 与 overlap | 重复计算重叠区域,再拼接文本 | 能复用离线模型,但有边界误差与额外计算 |
| Cache-aware 流式 | 历史 cache、新块和有限右看 | 复用中间状态,训练时也限制上下文 | 低延迟、partial 更稳定;少看未来可能损失质量 |
局部注意力可以让模型在显存中容纳几小时音频,VAD 和 overlap chunking 也能转写长文件;它们解决的是“能否处理”,不是“能否在说话时低延迟、少重算并稳定输出”。
六、一个 WER 或 RTF 数字解释不了架构
论文和模型卡中的速度通常来自不同硬件、精度、batch、音频长度、beam size 和预处理边界。有的 RTF 只测模型 forward,有的包含 VAD、标点和时间戳。准确率也会受文本归一化、词表、语言分布与测试域影响。
例如,Meta 官方仓库在 A100、30 秒音频、BF16、batch=1 的自身设置中,为 7B CTC 与 LLM-ASR 报告了显著不同的 RTF。这是解释“同一 Encoder 下自回归 Decoder 成本更高”的有用对照,但不能外推为所有 CTC 都比所有 LLM-ASR 快同一倍数。
- 前端与帧率:输入是波形还是 Fbank,最终每秒多少 Encoder states。
- Encoder 上下文:全局、局部、动态窗口还是严格有限右看;缓存哪些状态。
- Decoder 依赖:完全并行、Transducer 自回归、AED 自回归,还是文本 LLM。
- 搜索条件:greedy 或 beam,是否融合外部语言模型、热词或第二遍重打分。
- 性能口径:硬件、精度、batch、音频时长,以及是否包含前后处理。
- 失效集:静音、音乐、噪声、重口音、代码切换、数字专名、重复与截断音频。
为什么“文字更通顺”不一定代表识别更准确?
AED 和 LLM Decoder 能利用强语言先验补全句子。在声音清楚时,这会修正同音词和长距离搭配;在静音、噪声或发音含混时,同一能力也可能生成语法正确但声音里没有的内容。生产评测应单独统计实体、数字、静音幻觉和删除错误,而不是只看主观可读性。
七、按约束选架构,而不是按参数量选模型
优先验证 cache-aware Conformer + RNN-T/TDT。重点测首字延迟、右看长度、partial 回滚率、端点检测和弱网重连,而不只是最终 WER。
全上下文 FastConformer、Whisper/Canary 类 AED 或 LLM-ASR 都有空间。重点比较长音频分段、batch 吞吐、时间戳与静音幻觉。
优先 CTC、SenseVoice 或 Paraformer/NAR。专业词可用小语言模型、热词增强或第二遍重打分,不必让大 LLM 处理每个请求。
Encoder + LLM 或 Omnilingual LLM-ASR 更灵活,但应为 KV Cache、长音频 token、提示注入和声学忠实度建立独立预算与测试。
一个务实的两遍系统经常比单模型承担所有目标更容易控制:第一遍用流式 Transducer 或 CTC 给出低延迟结果,第二遍用更强 Decoder 或语言模型在句末重打分。代价是系统复杂度与两遍不一致,但它把“立即反馈”和“最终准确”拆成了可以分别优化的指标。
八、三个容易被过度解读的结论
1. LLM 会取代 CTC 和 Transducer 吗?
若“取代”指同一架构在端侧、实时、离线、多语和强提示场景都占优,目前公开证据不支持。 LLM Decoder 在专业词、提示和低资源迁移上提供新能力;CTC 与 TDT 则仍在并行效率、单调增量输出和部署确定性上占据清晰区域。Meta 为同一个 Omnilingual Encoder 同时保留 CTC 与 LLM Decoder,本身就是这种分工的直接例子。
2. 更大的语音 Encoder 会自动带来更好的流式识别吗?
不会自动带来。大规模自监督预训练能改善跨语言和声学表示,但严格流式还要求训练时限制右上下文、维护状态缓存,并处理 partial 稳定性。全局双向 Encoder 即使接 RNN-T,也可能必须先等待完整分段。
3. 厂商报告的“快 10 倍”可以直接指导采购吗?
只有当测试硬件、精度、batch、音频长度、beam、预处理和质量阈值都接近你的工作负载时才有参考价值。更可靠的方法是在自己的 20–50 条代表音频上,同时记录 WER/CER、实体错误、首字延迟、最终延迟、RTF、显存、功耗和静音幻觉。
近期 ASR 最值得记住的不是某个冠军模型,而是“共享强语音 Encoder,按场景选择 Decoder”。Encoder 决定模型听见什么、能看多远;对齐与 Decoder 决定它何时输出、成本多高,以及语言先验会不会覆盖声学证据。
九、一手资料
- A. Graves et al. Connectionist Temporal Classification.
- A. Graves. Sequence Transduction with Recurrent Neural Networks.
- A. Gulati et al. Conformer: Convolution-augmented Transformer for Speech Recognition.
- D. Rekesh et al. Fast Conformer with Linearly Scalable Attention.
- H. Xu et al. Efficient Sequence Transduction by Jointly Predicting Tokens and Durations.
- A. Radford et al. Robust Speech Recognition via Large-Scale Weak Supervision.
- OpenAI. Whisper large-v3-turbo 发布说明.
- Z. Gao et al. Paraformer;Z. Gao et al. Paraformer-v2.
- FunAudioLLM. Voice Understanding and Generation Foundation Models;SenseVoice 官方仓库.
- NVIDIA. Parakeet-TDT-0.6B-v3 模型卡;Cache-aware Streaming Conformer 文档.
- FireRedTeam. FireRedASR;NVIDIA. Canary-Qwen-2.5B 模型卡.
- Meta Omnilingual ASR Team. Omnilingual ASR 论文;官方架构文档.
- OpenAI. Introducing next-generation audio models in the API.
评论加载中...