跳转到内容

Whisper — 68 万小时弱监督训出的语音识别

是什么

Whisper 是 OpenAI 2022 年发布的 语音识别(ASR)+ 翻译 模型家族。它用 68 万小时 互联网音频-文本对做弱监督训练,零样本就能在多种语言、多种口音上接近人类水平,无需针对每个数据集 fine-tune。

日常类比:传统 ASR 像为每种口音单独请家教;Whisper 像听遍了整个互联网的播客、视频字幕,自己学会了「声音→文字」的通用规律——新来的口音也能猜个八九不离十。

为什么重要

不懂 Whisper,下面这些事说不清:

  • 为什么 2023 后「语音入口」产品爆发——ASR 成本和质量同时跨过可用线
  • 为什么 scale + weak supervision 在语音上复制了 GPT-3 在文本上的故事
  • 为什么 vall-e-2023 把 TTS 也改成「语言模型 + 海量数据」范式
  • 为什么开源 Whisper 成为 ffmpeg、OBS、本地 Agent 的默认耳朵

核心要点

  1. 弱监督:网络字幕不完美、有噪声,但量够大(68 万小时)时,模型学到鲁棒特征。类比:看一万部带错字的电影字幕仍能学会英语。

  2. 多任务统一:同一 encoder-decoder 做转写、翻译、语言识别、语音活动检测——任务用 special token 区分。

  3. 零样本泛化:不在 LibriSpeech 等 benchmark 上 fine-tune,直接 transfer,仍 competitive——数据规模换泛化。

实践案例

案例 1:本地转写

Terminal window
# openai-whisper CLI
whisper lecture.mp3 --model medium --language Chinese --task transcribe
# 输出 .srt / .txt,带时间戳

案例 2:Python API

import whisper
model = whisper.load_model("large-v3")
result = model.transcribe("podcast.mp3", language="en")
print(result["text"])
# 同一模型可 translate:task="translate" → 英文输出

案例 3:与下游 Agent 拼接

音频 → Whisper → 文本 → LLM 推理 → 回复
零样本多语言,省去 per-locale ASR 选型

长音频可配合 [[gemini-1.5-2024]] 原生音频输入走另一条路。

流式场景可用 faster-whisper(CTranslate2)或 whisper.cpp 降延迟;原版 PyTorch 更适合离线批处理。词级时间戳对字幕对齐至关重要,选 --word_timestamps True

多说话人会议:Whisper 不分离说话人,需前置 diarization(pyannote 等)再按段转写。否则多人重叠段错误率高。

翻译任务(speech→English text)与转写不同;task=translate 会丢失源语言文本,产品 UI 要区分「双语字幕」与「译文字幕」。

踩过的坑

  1. 模型太大实时性差large 精度高但慢;边缘设备用 tiny/base 并接受错误率上升。

  2. 幻觉字幕:静音段可能「编」出文字——VAD 前置或调 no_speech_threshold

  3. 专有名词乱写:弱监督没见过的品牌名靠猜——热词表或后处理纠错。

  4. 许可证与商用:注意 OpenAI 模型许可;生产环境查 compliance。

适用 vs 不适用场景

适用

  • 播客/会议/视频自动字幕
  • 多语言零样本转写
  • 本地隐私敏感场景(离线跑)

不适用

  • 极低延迟电话客服(需流式专用模型)
  • 极高专有词汇准确率(需 fine-tune 或定制)
  • 唱歌歌词识别(训练分布偏语音)

进阶话题(可跳过)

这一节把前文和工业落地再绑紧一点,方便你读完就能动手选型或读论文。

  1. 硬件选型:Apple Silicon 上 whisper.cpp 利用 ANE;NVIDIA 用 faster-whisper FP16。
  2. 合规:医疗/法务转写要本地部署 medium 以上模型并审计日志。
  3. 后处理:标点恢复、数字规范化可接小 LLM;Whisper 原文常缺标点。
  4. 与 [[gemini-1.5-2024]] 对照:端到端音频理解省管道,但闭源+成本;Whisper+LLM 可开源可控。

历史小故事(可跳过)

  • 2010s:ASR 靠 HMM-GMM → DNN → 各语言单独训。
  • 2022.12:Whisper 发布,68 万小时弱监督震撼社区。
  • 2023large-v2/v3 迭代,生态插件爆发。
  • 今天:仍是开源 ASR 事实标准,见 whisper 项目条目。

学到什么

  1. 语音领域的 GPT-3 时刻 = 规模 + 弱标签
  2. 多任务头比单任务多个模型更省部署成本
  3. 零样本泛化改变产品形态(不必每语言一个模型)
  4. vall-e-2023 等语音生成范式铺路

延伸阅读

  • 论文:arXiv 2212.04356
  • whisper —— 开源仓库与模型卡
  • vall-e-2023 —— 语音「生成」侧的 LM 范式
  • [[gemini-1.5-2024]] —— 原生长音频多模态输入

关联

  • whisper —— 项目与工具链

  • vall-e-2023 —— TTS 对称故事:听 → 说

  • [[gemini-1.5-2024]] —— 端到端多模态含 ASR 能力

  • orca-2022 —— 大规模模型 serving 调度

  • 入门路径:先读「是什么」+「核心要点」,跑通一个最小案例后再翻「进阶话题」。

  • 复习抓手:把「为什么重要」四条用自己的话复述一遍,能讲给同事即算掌握。

  • 与仓库其他笔记:用文内 wikilink 跳到已写条目,别孤立读单篇。

  • OpenAI 发布 medium/large 是性价比常用点。

  • 音乐歌词识别非设计目标,域外使用要预期错误。

  • whisper 项目文档对照可查模型卡与许可。

  • 批处理转写可用 VAD 先切句再并行。

  • 弱监督噪声在方言上更明显,需地域测试集。

读者练习(可跳过)

用 10 分钟做一个小练习,巩固上文:

  1. 用自己的话向朋友解释「这篇解决什么问题」。
  2. 从「实践案例」挑一个命令或代码块在本地或纸上走一遍。
  3. 列出两个你会踩的坑,并写下规避句。

反向链接

  • [[gemini-1.5-2024]] —— Gemini 1.5 — 百万 token 多模态长上下文
  • orca-2022 —— Orca — Transformer 生成模型的分布式推理调度
  • vall-e-2023 —— VALL-E — 3 秒样本零样本语音克隆