一、并行解码首先遇到的是输出长度
一段语音可能有上千个声学帧,却只有几十个文字 token。Paraformer 不是简单地把自回归 Decoder 的 mask 去掉,而是先学习“哪些帧应聚合成一个 token”,再让双向 Decoder 一次生成完整序列。
自回归 Attention Encoder-Decoder 的做法很合理:生成第 u 个 token 时,读取前面 u-1 个真实或预测 token。它能建立强语言依赖,但推理无法把所有输出位置放进一次前向计算。CTC 可以全并行,却对输出 token 之间的依赖建模较弱。
Paraformer 位于两者之间:Encoder 负责声学上下文;Predictor 估计 token 数并生成 token 级声学表示;双向非自回归 Decoder 在已知候选位置数后,同时预测整句。原论文将这套结构与 Glancing Language Model 风格的 Sampler、MWER 训练结合。Paraformer 原论文
Paraformer 是一个由 Encoder、CIF Predictor、训练期 Sampler 和双向 Decoder 组成的单步非自回归端到端 ASR 模型。
二、完整结构:训练路径比推理多一个 Sampler
三、CIF:把连续声学帧积分成离散 token
Continuous Integrate-and-Fire 为每个 Encoder frame 预测一个非负权重 αₜ。权重沿时间累加,达到阈值时“触发”一个 token;跨过阈值的帧权重会被拆分,剩余部分参与下一个 token。对应帧表示按这些权重加权求和,形成 token 级声学 embedding。
帧位置 t1 t2 t3 t4 t5 t6
预测 αₜ .25 .35 .55 .20 .45 .40
累计过程 .25 → .60 → 1.00 | .15 → .35 → .80 → 1.00 | .20
↑ token 1 ↑ token 2
e₁ = Σ 被第 1 次触发吸收的 αₜ · hₜ
e₂ = Σ 被第 2 次触发吸收的 αₜ · hₜ
示意阈值为 1。t3、t6 的权重可能跨边界拆给相邻 token。训练时 Predictor 还要让权重总和接近真实 token 数;推理时,权重总和及触发次数给出预测长度。于是 Decoder 获得与输出 token 数近似相同的输入序列,而不必对上千个声学帧逐帧分类。
它学习的是可微的软对齐。一个 token 可以聚合多个帧,一个边界帧也可以把权重分给相邻 token;因此它比固定窗口更贴合不等速语音。
四、Sampler 为什么只在训练时存在
非自回归 Decoder 的困难不是并行矩阵乘,而是推理时每个位置都没有真实的左侧 token 可用。Paraformer 的 Sampler 根据当前预测与目标之间的错误,选择部分位置用真实 token embedding 替换或混合 Predictor 的声学 embedding,让双向 Decoder 在训练中学习 token 间语义依赖。
- 先产生声学候选。 Encoder 与 Predictor 输出 token 级声学表示。
- 估计当前错误。 用模型预测与真实序列的差异决定要注入多少真实语义。
- 混合训练输入。 一部分位置保持声学 embedding,另一部分位置采用目标 token embedding。
- 一次预测完整目标。 双向 Decoder 学习利用声音和邻近 token 语义纠错。
推理时没有真实文本,Sampler 无法也不应运行;Predictor 的声学 embedding 直接进入 Decoder。这构成训练与推理的分布差异,也是非自回归 ASR 必须认真验证的部分。
五、一次推理中数据怎样流动
Fbank 经 Encoder 得到帧级表示,CIF Predictor 同时估计输出长度并聚合出 N 个 token 级表示。这部分计算主要沿音频时间轴进行。
双向 Decoder 一次接收全部 N 个位置并输出 N 组词表分布。没有 y₁ → y₂ → y₃ 的串行循环。
“非自回归”指输出位置不按顺序循环生成,不代表整个网络只有一层或完全没有序列依赖。Encoder、CIF 和双向 Decoder 都在建模序列;区别是 Decoder 可以同时计算所有输出位置。
原论文在 AISHELL-1、AISHELL-2 和一个 20,000 小时工业任务上报告,Paraformer 获得与其自回归 Transformer 基线相当的性能,并有超过 10 倍推理加速。这个结论受论文的模型、硬件、batch、搜索设置和数据约束,不应直接当作所有 Paraformer checkpoint 相对所有 AED 模型的固定倍率。论文实验
六、Paraformer-v2 为什么改用 CTC Posterior
原始 CIF 需要预测 token 数并形成连续对齐;面对 BPE token 长度变化、噪声和跨语言数据时,长度预测会成为误差来源。Paraformer-v2 用 CTC posterior 取代 CIF 作为 token 级信息提取器。
| 步骤 | 原始 Paraformer | Paraformer-v2 |
|---|---|---|
| 帧级监督 | CIF 权重与数量约束 | CTC posterior |
| 训练对齐 | 积分触发形成 token embedding | Viterbi CTC alignment 压缩帧 posterior |
| 推理输入 | CIF 预测的 token 级声学表示 | 非 blank CTC 预测形成的 Decoder 输入 |
| 主要动机 | 可微长度预测与软对齐 | 提高 BPE、噪声和多语条件下的稳健性 |
v2 并不是退回到“只用 CTC”:CTC 提供候选与对齐,双向 Decoder 仍负责结合全局声学和输出上下文修正结果。作者在 Tesla V100、batch=1、AISHELL-1 的设置中报告 RTF 0.010,而其 beam=5 Conformer AED 基线为 0.254;这仍是特定实验口径。Paraformer-v2 论文
七、Paraformer、CTC 与 Whisper 的差异
| 比较轴 | CTC | Paraformer | Whisper / AED |
|---|---|---|---|
| 输出方式 | 帧级并行,blank 合并 | token 级整句并行 | 逐 token 自回归 |
| 输出依赖 | 给定 Encoder 后较弱 | 双向 Decoder 显式建模整句 | 强左侧文本历史 |
| 长度/对齐 | CTC 动态规划 | CIF Predictor;v2 使用 CTC posterior | Decoder 以结束 token 停止,Cross-Attention 学习对齐 |
| 主要优势 | 简单、快、易对齐 | 速度与文本上下文折中 | 多任务、提示、翻译自然 |
| 主要风险 | 语言建模弱 | 长度或候选错误可能传播 | 逐 token 延迟与生成式幻觉 |
Paraformer 会像 CTC 那样先输出“你你你好好好”再折叠吗?
不是同一种机制。原始 Paraformer 的 Predictor 先产生 token 级表示,Decoder 直接为每个 token 位置输出词表分布,并不依赖 CTC 的“合并连续重复、删除 blank”作为最终规则。Paraformer-v2 会利用 CTC posterior 产生候选,但最终仍经过双向 Decoder。
八、部署边界:快不等于原生流式
Paraformer 的并行 Decoder 很适合离线批处理和高并发转写,但原始双向 Encoder 与双向 Decoder 通常需要完整分段。工程实现可以通过 VAD 分段、块处理、截断注意力或专门的在线模型实现近实时输出,但这与原始离线模型的单步整句推理不是同一个运行条件。
- 适合:中文离线转写、字幕文件、批量音频、高吞吐服务。
- 需要额外验证:严格首字延迟、partial 稳定性、跨块状态和长音频边界。
- 典型错误:长度少估导致删除,长度多估导致插入;声学候选错误被双向 Decoder 扩散。
至少加入静音、噪声、口音、数字、专名、代码切换、重复词、长停顿和被截断音频,并记录 CER、实体错误、RTF、显存和分段边界错误。
边界结论
Paraformer 的核心贡献不是“让 Transformer 没有顺序”,而是把输出长度、帧到 token 的聚合和整句语言建模拆成可联合训练的模块。它在并行效率与输出上下文之间提供了有价值的工作点,但没有消除对齐误差,也不会自动获得严格流式能力。
评论加载中...