Whisper 与 wav2vec2
Whisper 和 wav2vec2 是现代语音识别(ASR)领域最影响力的两大预训练模型。Whisper 由 OpenAI 提出,以大规模弱监督多任务训练实现惊艳的多语言识别;wav2vec2 由 Meta 提出,以自监督预训练在低资源语言上大放异彩。本页同时介绍 Conformer 这一卷积与注意力混合的经典编码器架构,以及 2024–2026 年间涌现的 Turbo、Distil-Whisper、WhisperX、Voxtral 等新一代方案。前置阅读:自动语音识别 ASR、注意力机制。
传统 ASR 系统像一条精密但脆弱的流水线:声学模型、发音词典、语言模型三大组件拼在一起,每个环节都要专门标注数据来训练,换一种语言或口音就得重来。
Whisper 和 wav2vec2 代表了两种全新的思路:
- Whisper = 海量弱监督:OpenAI 从互联网上收集了 68 万小时(覆盖 99 种语言)的”音频-字幕配对”数据。这些数据充满噪声(字幕不一定对齐音频、有翻译错误),但胜在量大。用如此大规模的弱监督数据训练一个 encoder-decoder Transformer,模型自己学会了过滤噪声、对齐语言、甚至做翻译——像是一个见多识广的翻译官,不完美但什么都能应付。
- wav2vec2 = 自监督预训练:不需要任何文字标注。把一段语音的某些时间帧”遮住”(类似 BERT 的掩码),让模型从上下文猜被遮住的部分。这样可以在海量无标注语音上学习通用语音表示,之后只需少量标注数据就能在目标语言上达到极高水平——像一个先大量听各种语音练”语感”的学生,再学认字就很快。
一句话总结二者的本质区别:Whisper 用数据量取胜,wav2vec2 用方法论取胜。Whisper 的 68 万小时标注数据(虽是弱监督)是极难复现的资源壁垒;而 wav2vec2 的自监督方法可以用任何无标注语音来预训练,对资源有限的研究者更友好。两者常常互补——先在无标注数据上做 wav2vec2 式的自监督预训练获得通用语音表示,再用有标注数据做 Whisper 式的多任务微调。
Whisper 架构:多任务 Encoder-Decoder
Section titled “Whisper 架构:多任务 Encoder-Decoder”Whisper 的架构并不复杂,就是一个标准的 Transformer:
- Audio Encoder:音频被转为 80 维 log-Mel 频谱图(时间 x 80 维频率特征),经两层 1D 卷积做局部特征提取,然后送入 Transformer 编码器(Whisper-large 有 32 层,1024 维)。编码器将变长的音频序列编码为特征表示。
- Text Decoder:自回归 Transformer 解码器(同样 32 层),逐 token 生成文字。关键在于特殊 token 设计——解码器开头接收一个 task token,决定执行哪个任务。
Whisper 的多任务 Token 设计:一个模型的”万能开关”
Section titled “Whisper 的多任务 Token 设计:一个模型的”万能开关””Whisper 最精巧的设计在于,它将任务指令、语言选择、格式控制全部编码为特殊的文本 token,拼接在解码器输入的最前面。这让一个模型无需任何架构改动,只需在推理时改变输入 token 序列,就能执行完全不同的任务。可以把这些 token 理解为”指令前缀”——模型训练时见过所有组合,推理时按需拼装。
Whisper 共设计了四组特殊 token:
| Token 类别 | 示例 | 作用 |
|---|---|---|
| 任务 Token | <|transcribe|>、<|translate|> | transcribe 做原语言转写,translate 将任意语言翻译为英语 |
| 语言 Token | <|zh|>、<|en|>、<|ja|> 等 99 种 | 指定输出语言(转写模式)或源语言(省略时自动检测) |
| 时间戳 Token | <|notimestamps|>、<|0.00|>、<|1.50|> | 控制是否在输出中插入时间戳标记,实现逐句甚至逐词定位 |
| 特殊事件 Token | <|nospeech|> | 当音频段只有静音或噪声时,模型输出此 token 而非胡乱猜测 |
一个典型的解码器输入序列形如:
<|startoftranscript|> <|zh|> <|transcribe|> <|notimestamps|> 这里是识别出的文字...<|startoftranscript|>标记解码开始,模型据此知道要输出转录文本<|zh|>告诉模型目标语言是中文<|transcribe|>指定执行转写任务(而非翻译)<|notimestamps|>表示不输出时间戳- 随后模型自回归地逐 token 生成文本,直到输出
<|endoftranscript|>
如果换成翻译任务,只需将序列改为 <|startoftranscript|> <|auto|> <|translate|> <|notimestamps|>,模型就会把输入语音翻译成英文。同一组权重,不同的 token 前缀,完全不同的输出——这就是多任务 token 设计的威力。
<\|nospeech\|> token 尤其值得一提。传统 ASR 在静音段经常”幻听”——明明没人说话却输出一段文字。Whisper 在训练数据中专门标注了静音段对应 <\|nospeech\|>,使模型学会了”没听到声音就不输出文字”,大幅降低了幻觉问题。
wav2vec2:对比学习 + 掩码预训练
Section titled “wav2vec2:对比学习 + 掩码预训练”wav2vec2 的自监督预训练包含两部分:
- 特征量化:用卷积将原始波形提取为局部特征,再通过一个量化模块将连续特征量化为离散表示
- 对比学习:在特征序列上随机遮盖一些时间步,让 Transformer 编码器从上下文预测被遮盖位置的量化表示。正确答案(被遮盖的量化值)是正样本,从其他时间步随机采样的是负样本。目标是让正样本的相似度高于负样本。
预训练后,编码器就已经理解了语音的声学和语言结构。微调时只需要在编码器顶部加一个线性分类头,用 CTC 损失(连接时序分类,一种允许输出长度与输入长度不等、无需帧级标注的对齐方法)在有标注数据上训练即可输出字符序列。
wav2vec2 的量化模块:Gumbel-Softmax 的妙用
Section titled “wav2vec2 的量化模块:Gumbel-Softmax 的妙用”量化模块是 wav2vec2 自监督学习的关键创新。它的目标是将连续的语音特征映射到一组有限的离散向量(码本/codebook)——类似把无限可能的颜色量化为 256 色调色板。这样做的原因是:离散表示更容易被对比学习目标区分,也更接近语言的离散本质(音素、词都是离散单元)。
具体做法:
- 维护一个可学习的码本(如 G 个码字向量,每个 v 维),以及一个将连续特征映射到码字概率的编码器
- 对每个时间步的特征,模型为码本中的每个码字输出一个概率分布
- 根据概率选择一个码字作为该时间步的量化表示
问题在于步骤 3:选择最大概率码字是不可导的 argmax 操作,梯度无法从对比损失传回码本和编码器参数。wav2vec2 使用 Gumbel-Softmax 技巧来解决这一难题:
- 在训练时,给每个码字的 logit 加上来自 Gumbel 分布的随机噪声(
g = -log(-log(u)),u是均匀随机数),然后做 softmax - 温度参数 τ 控制分布的”尖锐度”:τ 越小越接近 one-hot 选择,τ 越大越平滑
- 前向传播时用 argmax(硬选择),反向传播时用 softmax(软梯度)——这就是所谓的 “直通估计器”(Straight-Through Estimator):前向走不可导的路,反向走可导的近似路
# Gumbel-Softmax 简化示意import torchimport torch.nn.functional as F
def gumbel_softmax(logits, temperature=1.0, hard=True): # 采样 Gumbel 噪声 gumbels = -torch.empty_like(logits).exponential_().log() # ~Gumbel(0,1) gumbels = (logits + gumbels) / temperature y_soft = F.softmax(gumbels, dim=-1) # 可微的软选择 if hard: index = y_soft.argmax(dim=-1, keepdim=True) y_hard = torch.zeros_like(logits).scatter_(-1, index, 1.0) # 直通估计器:前向用 hard,反向用 soft return y_hard - y_soft.detach() + y_soft return y_soft这样一来,码本分配就是可微分的离散选择,整个量化模块可以和编码器一起端到端训练,无需任何人工标注来指导码本学习——码本结构完全由自监督目标自动发现。
wav2vec2 vs HuBERT:两条自监督路线
Section titled “wav2vec2 vs HuBERT:两条自监督路线”wav2vec2 和 HuBERT(Hidden-Unit BERT)都是 Meta 提出的自监督语音预训练模型,两者结构相似(都是卷积特征提取 + Transformer 编码器),但预训练目标截然不同:
| 方面 | wav2vec2 | HuBERT |
|---|---|---|
| 伪标签来源 | 端到端学习的 Gumbel-Softmax 量化码本 | 离线 k-means 聚类产生伪标签(先跑一轮 k-means,将聚类 ID 作为目标) |
| 训练目标 | 对比损失:被遮盖位置的正样本(真实量化值)vs 负样本(其他位置)的相似度 | 交叉熵:预测被遮盖位置属于哪个聚类 ID(离散分类问题) |
| 训练稳定性 | 对比学习的负样本采样策略敏感,容易不稳定 | 交叉熵更稳定,但依赖 k-means 质量(第一轮聚类粗糙,需迭代优化) |
| 迭代改进 | 无需迭代,一次训练完成 | 通常训练两轮:第一轮用粗糙聚类训练模型,用该模型重新产生更好的伪标签,第二轮再训练 |
HuBERT 的核心洞察是:把语音识别问题转化为掩码预测问题——先用聚类把连续语音”离散化”成一串伪音素 ID(类似 BERT 把文本变成 token ID),然后做标准的掩码语言模型。这种方法避免了对量化技巧的依赖,训练更稳健,后续甚至可以叠加 wav2vec2 的量化模块做混合训练。
实际效果上,两者在 LibriSpeech 等基准上表现接近。HuBERT 的训练流程更简单稳定,因此被广泛用作后续自监督语音模型的基础(如 XLS-R 多语言模型)。
Conformer:卷积 + 注意力的最佳结合
Section titled “Conformer:卷积 + 注意力的最佳结合”Conformer(Convolution-augmented Transformer)是 Google 在 2020 年提出的编码器架构,在 ASR 上长期霸榜。核心洞察:局部特征靠卷积,全局依赖靠注意力。
一个 Conformer 块的组成(顺序很重要):
- 前馈层(FFN,残差连接,系数 0.5)
- 多头自注意力层(MAH,残差连接)
- 卷积模块(深度可分离卷积 + GLU 激活 + BN + Swish,残差连接)
- 前馈层(FFN,残差连接,系数 0.5)
- LayerNorm
“Macaron 结构”(前后各一层 FFN)和卷积模块的加入,让 Conformer 在处理语音的长距离依赖(注意力)和短距离声学模式(卷积)两方面都表现出色。
Conformer 的后续演进——FastConformer——通过调整下采样因子和解码器结构,大幅提升了推理速度,成为 NVIDIA NeMo 框架的默认 ASR 架构。2024 年 NVIDIA 发布的 Canary-1B 模型正是基于 FastConformer 构建(详见下文最新进展)。
Whisper 的多任务工作流程
Section titled “Whisper 的多任务工作流程”Whisper 多任务 Token 拼装示意
Section titled “Whisper 多任务 Token 拼装示意”wav2vec2 自监督预训练原理
Section titled “wav2vec2 自监督预训练原理”wav2vec2 vs HuBERT 预训练范式对比
Section titled “wav2vec2 vs HuBERT 预训练范式对比”Conformer 块的结构
Section titled “Conformer 块的结构”用 Whisper 进行中文语音识别
Section titled “用 Whisper 进行中文语音识别”# pip install openai-whisperimport whisper
# 加载 large-v3 模型(首次运行会自动下载权重)model = whisper.load_model("large-v3")
# 识别中文音频(result 包含文本、时间戳、语种等信息)result = model.transcribe("speech.wav", language="zh", task="transcribe")print("识别结果:", result["text"])
# 翻译为英文(task="translate" 将任意语言翻译为英语)result_en = model.transcribe("speech.wav", task="translate")print("英文翻译:", result_en["text"])
# 带时间戳的逐句识别for seg in result["segments"]: print(f"[{seg['start']:.1f}s-{seg['end']:.1f}s] {seg['text']}")用 faster-whisper 加速推理(推荐生产环境)
Section titled “用 faster-whisper 加速推理(推荐生产环境)”# pip install faster-whisperfrom faster_whisper import WhisperModel
# 使用 int8 量化,VRAM 占用更低、速度更快(约 4 倍于官方实现)model = WhisperModel("large-v3", device="cuda", compute_type="int8_float16")
segments, info = model.transcribe("speech.wav", language="zh", vad_filter=True)print(f"检测到语言: {info.language} (置信度: {info.language_probability:.2%})")for seg in segments: print(f"[{seg.start:.2f}s -> {seg.end:.2f}s] {seg.text}")用 HuggingFace wav2vec2 进行中文识别
Section titled “用 HuggingFace wav2vec2 进行中文识别”# pip install transformers torchfrom transformers import pipeline
# 用 fine-tune 过的中文 wav2vec2 模型asr = pipeline("automatic-speech-recognition", model="jonatasgrosman/wav2vec2-large-xlsr-53-chinese")import librosaaudio, sr = librosa.load("speech.wav", sr=16000)result = asr(audio)print("wav2vec2 识别:", result["text"])- Whisper 是零样本识别的首选:不用微调,直接用 large-v3 就能在大多数语言和口音上获得可用结果。适合快速验证或无标注数据的场景。
- 生产环境优先用 faster-whisper:基于 CTranslate2 引擎,VRAM 占用减半、速度提升约 4 倍,且支持 int8/int16 量化,是部署 Whisper 的事实标准。
- Whisper 微调要小心:Whisper 的训练数据充满噪声(非人工标注),微调时如果用高质量数据反而可能过拟合到”完美转录”而丢失鲁棒性。建议小学习率(1e-5 到 5e-5)。
- wav2vec2 适合低资源语言:如果目标语言有大量无标注语音但标注数据少,用 wav2vec2 在无标注语音上做自监督预训练,再少量微调效果最好。
- Conformer 是竞赛刷分首选:在 LibriSpeech 等 ASR 基准上,Conformer 编码器 + CTC/Attention 联合解码长期保持最优。EspNet2、NeMo 等框架都内置了 Conformer 模板。
- VAD 预处理很重要:长音频做端点检测(VAD)去除静音段,可以大幅减少 Whisper 的处理时间和幻觉(在静音段生成无关文字)。faster-whisper 和 WhisperX 都内置了 VAD 前处理。
- 流式识别要特殊处理:Whisper 和 wav2vec2 都是离线模型。做实时流式 ASR 需要 chunk 策略(如 Streaming Conformer)或专门的流式模型。
- Whisper:YouTube 自动字幕生成、多语言会议转写(Otter.ai)、播客转写、视频字幕翻译。OpenAI API 提供 Whisper 接口,广泛集成于各类工具。
- wav2vec2:Meta 的 SeamlessM4T 多语言翻译系统的基础、低资源语言(如非洲语言、少数民族语言)的 ASR 研究、医疗和法律领域的定制化语音识别。
- Conformer:Google 语音搜索和 Gboard 语音输入的基座模型、各大 ASR 学术竞赛的标配编码器、NVIDIA NeMo 框架的推荐 ASR 架构。
- 会议记录与字幕:飞书妙记、腾讯会议字幕、Microsoft Teams 实时字幕均使用类似架构的模型。
2024–2026 最新进展
Section titled “2024–2026 最新进展”Whisper 发布后,开源社区和工业界围绕”更快、更准、更实用”三个方向催生了一大批创新,同时大语言模型(LLM)的崛起也在重塑语音理解的技术路线。
Whisper 生态:加速与增强
Section titled “Whisper 生态:加速与增强”Whisper large-v3-turbo(OpenAI,2024-10)
Section titled “Whisper large-v3-turbo(OpenAI,2024-10)”Turbo 是 OpenAI 官方发布的实时加速版 Whisper。核心做法是通过知识蒸馏(distillation,用大模型做老师训练小模型学生的技术),将 large-v3 的 32 层 decoder 压缩为仅 4 层,参数量从 1.55B 降至约 809M。
- 速度:在 GPU 上推理速度约为 large-v3 的 8 倍,接近实时
- 质量:在多语言 ASR 基准上保持 large-v3 约 99% 的质量,仅在少数低资源语言上有可忽略的退化
- 适用场景:实时字幕、会议转写、交互式语音应用——任何延迟敏感的场景
# Turbo 的用法和标准 Whisper 完全一样,只需换模型名import whispermodel = whisper.load_model("turbo") # 或 "large-v3-turbo"result = model.transcribe("speech.wav", language="zh")Distil-Whisper(HuggingFace 社区,2023–2024)
Section titled “Distil-Whisper(HuggingFace 社区,2023–2024)”Distil-Whisper 是 HuggingFace 主导的社区蒸馏项目,将 large-v3 蒸馏为更小的 student 模型(如 distil-large-v3 约为原模型 1/3 参数量):
- 推理速度提升约 6 倍,内存占用减少约 40%
- 通过优化蒸馏策略,幻觉率降低 50%(幻觉指模型在静音或噪声段生成无关文字的问题,蒸馏减少了这类错误)
- 在英语 LibriSpeech 基准上 WER(词错误率)仅比 large-v3 高不到 1 个百分点
- 与 faster-whisper 兼容,可叠加使用获得极致速度
WhisperX(社区项目,2023–2024)
Section titled “WhisperX(社区项目,2023–2024)”WhisperX 是对 Whisper 最具影响力的社区增强项目,解决了原版 Whisper 在实际应用中的三个核心痛点:
- 词级时间戳对齐:原版 Whisper 只提供句级时间戳,且常有时间戳跳跃问题。WhisperX 用 wav2vec2 做 forced alignment(强制对齐——已知音频和文字,找出每个词的精确时间边界),实现词级甚至音素级时间戳
- 说话人分离:集成 pyannote.audio 做 speaker diarization(判断”谁在什么时候说话”),支持多人对话场景
- VAD 前处理:用 Silero VAD 去除静音段,减少幻觉的同时加速推理
# pip install git+https://github.com/m-bain/whisperx.gitimport whisperxaudio = whisperx.load_audio("meeting.wav")model = whisperx.load_model("large-v3", device="cuda")result = model.transcribe(audio, batch_size=16)
# 词级时间戳对齐model_a, metadata = whisperx.load_align_model(result["language"], device="cuda")result = whisperx.align(result["segments"], model_a, metadata, audio, device="cuda")
# 说话人分离diarize_model = whisperx.DiarizationPipeline(device="cuda")diarize_segments = diarize_model(audio)result = whisperx.assign_word_speakers(diarize_segments, result)for seg in result["segments"]: print(f"[{seg['start']:.2f}-{seg['end']:.2f}] {seg.get('speaker','?')}: {seg['text']}")faster-whisper(社区项目,2023–2024)
Section titled “faster-whisper(社区项目,2023–2024)”faster-whisper 基于 CTranslate2(一个高效 Transformer 推引推理引擎,最初为 OpenNMT 翻译模型设计)重新实现了 Whisper 的前向传播:
- 支持 INT8/INT16/FLOAT16 量化,VRAM 占用减半
- 在多数 GPU 上速度约为官方 PyTorch 实现的 4 倍
- API 与官方
whisper包高度兼容,迁移成本低 - 已成为生产环境部署 Whisper 的事实标准
工业界新模型
Section titled “工业界新模型”NVIDIA Canary-1B(2024)
Section titled “NVIDIA Canary-1B(2024)”Canary 是 NVIDIA 发布的 10 亿参数多语言 ASR + 翻译模型,基于 FastConformer 编码器(Conformer 的高速变体,优化了卷积下采样以降低计算量):
- 在多语言 ASR 和语音翻译基准上超越 Whisper large-v3
- 支持 4 种语言(英语、法语、西班牙语、德语)的转写和任意方向互译
- 通过 Rank Adaptation(低秩适配微调)支持高效领域定制
- 在 NVIDIA NeMo 框架中开源,支持 TensorRT 部署加速
Google USM(2023–2024)
Section titled “Google USM(2023–2024)”Google 的 Universal Speech Model(USM) 是一个覆盖 1000+ 语言的端到端 ASR 系统:
- 结合自监督预训练(类似 wav2vec2,在 1200 万小时无标注多语言语音上预训练)和弱监督微调(类似 Whisper,在有噪声标注上训练)
- 编码器采用 Conformer 架构的变体
- 在 100+ 种语言的下游 ASR 任务上达到 SOTA,包括许多此前几乎没有 ASR 研究的非洲和东南亚语言
- 是 Google YouTube 自动字幕和实时翻译背后的技术基础
Voxtral(Meta,2025)
Section titled “Voxtral(Meta,2025)”Voxtral 代表了语音 AI 的一个新范式——将语音理解统一到大语言模型框架。它不再把 ASR 当作独立的”语音转文字”任务,而是让大语言模型直接”听懂”语音:
- 基于多模态大语言模型架构(类似 LLaVA 把图像喂给 LLM 的思路,Voxtral 把语音特征喂给 LLM)
- 不仅能转写语音,还能理解语音内容并回答问题(如”这段音频在讨论什么主题?""说话者的情绪是什么?”)
- 语音输入直接进入 LLM 的推理流程,无需先转文字再处理
- 标志着语音 AI 从”专用 ASR 模型”向”通用语音理解模型”的范式迁移
新兴方向:边缘端与极简模型
Section titled “新兴方向:边缘端与极简模型”随着边缘设备(手机、IoT)对本地 ASR 的需求增长,出现了专为低功耗场景设计的轻量模型:
- Moonshine(Useful Sensors, 2024):专为边缘设备设计的 ASR 模型,参数量远小于 Whisper-tiny,在英语基准上质量相当但速度快数倍,可在 Raspberry Pi 上实时运行
- Moonshine 有两个版本:Tiny(27M 参数)和 Base(61M 参数),均支持 ONNX/TFLite 部署
根据应用场景选择合适的模型:
| 场景 | 推荐方案 | 理由 |
|---|---|---|
| 最高质量、离线处理 | Whisper large-v3 + faster-whisper | 质量天花板,int8 量化可控制显存 |
| 实时/低延迟 | Whisper large-v3-turbo | 官方出品,8 倍加速,质量接近 large-v3 |
| 英语、追求极致速度 | Distil-Whisper (distil-large-v3) | 英语蒸馏效果好,6 倍加速,幻觉率低 |
| 多人会议/需要词级时间戳 | WhisperX | 词级对齐 + 说话人分离,一站式解决 |
| 边缘设备/手机/IoT | Moonshine Base/Tiny | 专为低功耗设计,Raspberry Pi 可实时 |
| 低资源语言(有大量无标注语音) | wav2vec2 / HuBERT 自监督预训练 | 自监督学习是低资源语言的最优路径 |
| 多语言 ASR + 翻译(工业级) | NVIDIA Canary-1B | FastConformer 架构,质量超越 Whisper |
| 语音理解与问答(不仅仅是转写) | Voxtral(Meta 2025) | 多模态 LLM 范式,直接理解语音语义 |
典型类库与工具
Section titled “典型类库与工具”| 类库 | 语言 | 说明 |
|---|---|---|
| openai-whisper | Python | OpenAI 官方 Whisper 实现,含 CLI 和 Python API |
| faster-whisper | Python | 基于 CTranslate2 的高速 Whisper 推理,速度快 4 倍,VRAM 减半 |
| whisperx | Python | Whisper 增强版:词级时间戳 + 说话人分离 + VAD |
| transformers (HuggingFace) | Python | 提供 wav2vec2、HuBERT、Conformer 等全套 ASR 模型 |
| NeMo | Python | NVIDIA 的对话 AI 框架,Canary-1B / FastConformer 的官方实现 |
| ESPnet2 | Python | 学术 ASR 工具包,支持 Conformer 等主流架构的完整训练流程 |
| whisper.cpp | C++ | C++ 实现的 Whisper 推理引擎,可在 CPU 和边缘设备上运行 |
| Moonshine SDK | C++/Python | Useful Sensors 的边缘端 ASR,支持 ONNX/TFLite 部署 |
| 术语 | 英文 | 解释 |
|---|---|---|
| 自动语音识别 | ASR (Automatic Speech Recognition) | 将语音音频转换为文字的技术 |
| 弱监督 | Weak Supervision | 用质量参差不齐的大规模数据(非人工标注)训练模型 |
| 多任务学习 | Multi-task Learning | 一个模型同时学习识别、翻译、语种检测等多个任务 |
| 自监督学习 | Self-supervised Learning | 从无标注数据中构造监督信号(如掩码预测)来学习表示 |
| 对比学习 | Contrastive Learning | 让正样本对的相似度高于负样本对,学习有效表示 |
| CTC 损失 | Connectionist Temporal Classification | 允许无对齐训练 ASR 模型的损失函数,自动学习时间对齐 |
| log-Mel 频谱图 | log-Mel Spectrogram | 将音频转为时间和频率二维表示的常用特征 |
| 量化码本 | Quantization Codebook | 将连续特征映射到有限离散向量的可学习字典 |
| Gumbel-Softmax | Gumbel-Softmax | 使离散选择可微分的技巧,通过 Gumbel 噪声和温度参数实现可导采样 |
| 直通估计器 | Straight-Through Estimator (STE) | 前向用不可导操作、反向用可导近似来传递梯度的技术 |
| 强制对齐 | Forced Alignment | 已知音频和文字,自动找出每个词/音素精确时间边界的过程 |
| 说话人分离 | Speaker Diarization | 判断音频中”谁在什么时候说话”的技术 |
| 知识蒸馏 | Knowledge Distillation | 用大模型(teacher)指导训练小模型(student),压缩模型并加速推理 |
| 流式识别 | Streaming ASR | 实时逐帧识别语音的方案,延迟低但精度略逊于离线 |
| 语音活动检测 | VAD (Voice Activity Detection) | 判断音频中哪些片段包含人声的技术 |
| 词错误率 | WER (Word Error Rate) | ASR 质量标准指标,衡量识别结果与标准答案的编辑距离 |
| 幻觉 | Hallucination | 模型在静音或噪声段生成不存在文字内容的现象 |
- Radford et al., 「Robust Speech Recognition via Large-Scale Weak Supervision」(ICML 2023):Whisper 原始论文,用 68 万小时弱监督数据训练多任务 Transformer,在零样本场景下大幅超越传统 ASR。
- Baevski et al., 「wav2vec 2.0: A Framework for Self-Supervised Learning of Speech Representations」(NeurIPS 2020):wav2vec2 论文,提出对比学习 + Gumbel-Softmax 量化的自监督预训练框架,在低资源语言上效果卓越。
- Hsu et al., 「HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units」(IEEE TASLP 2021):Meta 的另一自监督语音模型,用 k-means 聚类产生伪标签 + 掩码预测训练,是 wav2vec2 的重要对比与互补方案。
- Gulati et al., 「Conformer: Convolution-augmented Transformer for Speech Recognition」(Interspeech 2020):Conformer 论文,结合卷积和注意力的编码器架构,在 LibriSpeech 上取得当时的 SOTA。
- OpenAI, 「Whisper large-v3-turbo」(2024):官方 8 倍加速版 Whisper,4 层 decoder 蒸馏,实时多语言 ASR 的新标杆。
- Zhang et al., 「Google USM: Scaling Automatic Speech Recognition Beyond Major Languages」(2023):Google 的通用语音模型,覆盖 1000+ 语言,是 Conformer + 自监督 + 弱监督的集大成之作。
- NVIDIA, 「Canary-1B: A Competitive Open-Source Multilingual Model for ASR and S2T Translation」(2024):基于 FastConformer 的 1B 参数模型,多语言 ASR/翻译上超越 Whisper large-v3。
- Moustafa et al., 「Distil-Whisper: Robust Knowledge Distillation via Large-Scale Teacher Supervision」(2024):HuggingFace 社区蒸馏方案,6 倍加速 + 幻觉率降低 50%。
- Bain et al., 「WhisperX: Time-Accurate Speech Transcription of Long-Form Audio」(Interspeech 2023):词级时间戳对齐 + 说话人分离的 Whisper 增强方案。
- Voxtral (Meta, 2025):基于大语言模型的多模态语音理解模型,标志着 ASR 向通用语音理解的范式转移。