CarelessWhisper:将非因果 Whisper 改造为低延迟流式模型
这篇笔记主要梳理了论文《CarelessWhisper: Turning Whisper into a Causal Streaming Model》的核心内容。该研究提出了一种方法,将原本用于离线转录的非因果 Transformer 语音识别模型(如 Whisper)改造为低延迟、实时流式的语音识别模型。
一、背景与挑战
Whisper 等先进模型在离线场景下表现优异,但其编码器依赖未来上下文信息(非因果性),导致无法直接应用于低延迟的实时流式转录。现有的流式化方案往往存在计算效率低、延迟高,或者需要额外模块和多轮解码的问题。
二、核心方法
1. 因果编码器改造
我们在 Whisper 的编码器中引入了因果掩码(causal masking),使其仅能依赖过去和当前的语音帧,彻底切断对未来的依赖。同时提出了分块注意力机制,支持以固定块大小(例如 40ms、100ms、300ms)逐步处理语音流。
2. 轻量级微调策略
采用 LoRA(Low-Rank Adaptation) 技术对编码器和解码器进行微调。我们只更新少量参数(低秩矩阵),保持模型大部分权重不变。训练数据选用弱对齐的语音 - 文本数据集,让模型学习语音流与 token 输出之间的对齐关系。
3. 流式解码机制
设计了稳定性检测机制:在贪婪解码和束搜索中,只有当 token 在连续块中预测一致时才输出,避免因信息不全导致的错误。同时实现了流式贪婪解码和流式束搜索解码算法,支持实时 token 生成与回溯修正。
4. 词级时间戳生成
模型在训练过程中学会了识别词边界,能够在线生成词级时间戳,无需后处理对齐模块。
三、实验结果
英语转录
在 LibriSpeech 数据集上,CarelessWhisper 在多个块大小设置下均优于 Simul-Whisper 和 Ufal-Whisper。特别是在 300ms 延迟下,其词错误率(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 改造为低延迟、高效率的流式语音识别模型,在保持高精度的同时显著提升了实时转录速度。


