CarelessWhisper: 将 Whisper 转变为因果流式模型
概述
自动语音识别(ASR)已取得显著进展,像 OpenAI Whisper 和 NVIDIA Canary 这样的模型在离线转录方面实现了最先进的性能。然而,由于其架构和训练方法的限制,这些模型并非为流式(在线或实时)转录而设计。本文提出了一种方法,将 Transformer 编码器 - 解码器模型转变为低延迟的流式模型,该模型不关心未来的上下文。
研究背景与问题
现状与挑战
Whisper 等先进语音识别模型在离线转录中表现出色,但由于其编码器的非因果性(需依赖未来上下文),无法直接用于低延迟实时流式转录。现有流式化方法存在计算效率低、延迟高、需额外模块或多轮解码等问题。
一些工作探索在不进行额外训练的情况下使用 Whisper,采用启发式方法来实现流式处理。例如,Simul-Whisper 使用对齐头来决定何时发出一个 token,而 Ufal-Whisper 则依赖于音频缓冲区和局部一致性算法来生成实时转录。虽然两者都避免了微调,但它们的推理流程需要在每一步将输入填充到 30 秒,导致次优的计算效率。
相关工作
近年来,自动语音识别系统取得了显著进展。最流行的架构之一是循环神经网络传感器(RNN-T),由于循环架构固有的因果特性,非常适合流式应用。近期的努力也直接探索了基于 Transformer 的模型用于流式 ASR。尽管 Whisper 模型并非为流式处理而设计,但一些研究已尝试克服这一限制。然而,现有方法存在显著的局限性:一些方法未能实现真正的流式行为,而另一些则引入了高计算开销。
核心方法
1. 因果编码器改造
在 Whisper 的编码器中引入因果掩码(causal masking),使其仅依赖过去和当前语音帧,不依赖未来信息。提出分块注意力机制,支持以固定块大小(如 40、100、300 ms)逐步处理语音流。
2. 轻量级微调策略
使用 LoRA(Low-Rank Adaptation) 对编码器和解码器进行微调,仅更新少量参数(低秩矩阵),保持模型大部分权重不变。在弱对齐的语音 - 文本数据集上训练,学习语音流与 token 输出之间的对齐关系。我们将 LoRA 层注入到编码器的自注意力层以及解码器的自注意力和交叉注意力层中。
3. 流式解码机制
提出稳定性检测机制:在贪婪解码和束搜索中,仅当 token 在连续块中预测一致时才输出,避免因信息不全导致错误。设计了流式贪婪解码和流式束搜索解码算法,支持实时 token 生成与回溯修正。
4. 词级时间戳生成
模型在训练过程中学会识别词边界,可在线生成词级时间戳,无需后处理对齐模块。这种训练策略鼓励模型在声学上更加对齐,隐式地学习改进的 token 边界预测。
实验与结果
英语转录实验
在 LibriSpeech 数据集上,CarelessWhisper 在多个块大小下优于 Simul-Whisper 和 Ufal-Whisper。在 300 ms 延迟下,词错误率(WER)与离线 Whisper 接近,且推理速度更快。
多语言转录实验
在多语言 LibriSpeech 数据集上,模型在法语、德语等语言上表现良好,但略弱于 Ufal-Whisper(后者依赖完整话语一致性)。这可能是由于微调期间多语言曝光有限。
效率优势
由于引入 KV 缓存机制,编码器计算复杂度从 O(T^3) 降至 O(T^2),在低延迟场景中显著提升推理速度。在 A100 GPU 上,CarelessWhisper 比 Ufal-Whisper 快约 4 倍。
时间戳准确性
模型生成的词级时间戳在 TIMIT 数据集上表现优于 NVIDIA Canary 模型,尤其在起始与结束边界精度上更优。当阈值降低时,我们的模型保持了更高的精确率,表明具有更好的词级时间戳分辨率。
贡献总结
- 首个因果化 Whisper 流式方案:无需两阶段解码或额外 CTC 头,直接改造编码器 - 解码器结构。
- 高效微调与推理:LoRA 微调参数量少,KV 缓存机制大幅降低计算开销。
- 支持在线时间戳:作为副产品,模型可输出高质量词级对齐信息。
- 开源代码与模型:发布训练和推理代码,促进流式 ASR 研究与应用。
局限性与未来方向
- 需为不同块大小训练独立模型,未来可探索动态掩码或可变块大小训练。
- 解码器 KV 缓存在流式场景中效果有限,未来可研究因果化交叉注意力以进一步提升效率。
一句话总结:本研究提出了一种基于 LoRA 微调和因果掩码 的方法,成功将 Whisper 改造为低延迟、高效率的流式语音识别模型,在保持高精度的同时显著提升实时转录速度,并支持词级时间戳输出。


