通天火车站每天迎来送往 99 个国家的旅客——法语、日语、阿拉伯语、斯瓦希里语在大厅里此起彼伏。过去,车站雇了 99 位翻译,每人只会一门语言,隔间多到塞不下。直到一位只带一本手册的“万能翻译官”来应聘:他叫 Whisper,能听懂所有语言并把原话写下来,能把外语翻成英文,还能光听一句话就报出对方是哪国人。神奇的是,这三样本事全藏在同一本手册里——只要换一张“工单”,任务就从“记原话”变成“翻英文”。站长半信半疑,Whisper 当场演示:一句中文广播,转写窗口出了中文,翻译窗口出了英文,全程没换人、没换书。这本手册,就是 OpenAI 开源的语音识别模型 Whisper。下面我们翻开它:看它怎样用一套架构同时完成多语言语音识别、语音翻译和语种识别,声音进来前要经过什么预处理,68 万小时的海量语料怎样把它喂成通才,以及实战里怎么调用、评估和避坑。

岗位关联

理解 Whisper 的多语言与多任务机制,你就能用几行代码覆盖 99 种语言的转写与翻译,是搭建字幕生成、会议纪要、跨境客服等语音产品的核心技能。

目录
  1. 可视化演示
  2. 模型蓝图——一本手册管全部
  3. 语言识别——先认出乘客是哪国人
  4. 多任务开关——工单决定干活方式
  5. 声波预处理——把噪音变成乐谱
  6. 训练秘籍——68万小时的大杂烩
  7. 实操手册——三行代码让翻译官上岗
  8. 效果与局限——全能选手也有短板
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

动态演示Whisper语音识别的核心机制,通过采集/分析/决策/反馈四种模式展示关键概念与交互流程。

本节配有交互动效(进入视口后自动加载,约 3KB)。

Whisper语音识别:多语言训 多语言训练数据构建策略 语言检测与Token控制机制 核心机制可视化 Whisper语音识别整体架构与关键组件

模型蓝图——一本手册管全部

通天火车站以前有 99 个小隔间,每个隔间坐着只会一门语言的老翻译——法语的只会法语,日语的只会日语。站长想招个全能选手。应试者“小道”(Whisper)只带了一本手册就来面试:“我的大脑不分语种,声音进来、文字出去;至于写出的是法语还是中文、要不要翻成英文,工单上写清楚就行。”站长半信半疑,小道当场秀了一手:同一本手册,先记了一段中文,又翻了一段法语。

小道口中的“手册”,在 AI 世界里叫“统一的序列到序列模型”。它不像传统方案那样为每种语言单独训练模型,而是把 99 种语言的声音统统映射到同一条流水线上:编码器(Encoder)负责把声波“看”成特征,解码器(Decoder)负责逐字“写”出文本。正因只有一个模型、一套参数,法语学到的声学规律也能帮到西班牙语,这就是“多语言”能力的底层秘密。

解码器“写”词时,每写一个字都会参考前面已写的内容和音频信息。这种“一个字一个字往外蹦”的生成方式叫自回归,整段文本的概率是所有单步条件概率的连乘:

小道这本手册就是这么运转的:无论中文法语,统统先转化成特征,再一字一字写出来。所谓“一个模型搞定 99 种语言”,奥秘不在于背了多少单词,而在于这套统一流水线让所有语言共享同一本手册。

P(y1:T∣x)=∏t=1TP(yt∣y<t,x)\displaystyle P(y_{1:T} \mid x) = \prod_{t=1}^{T} P(y_t \mid y_{<t}, x)
意思是:整段正确文本出现的概率,等于每个字在“前面的字都已确定”条件下的概率相乘的结果。
  1. 声音与文字\(x\) 是输入音频,\(y_{1:T}\) 是模型要写出的整段词序列,\(T\) 是序列长度。
    x=音频,y1:T=(y1,y2,…,yT)\displaystyle x = 音频, \quad y_{1:T} = (y_1, y_2, \dots, y_T)
  2. 条件概率\(P(y_t \mid y_{<t}, x)\) 表示“已经写了前 \(t-1\) 个字并听完音频后,下一个字选 \(y_t\)”的概率。
    P(yt∣y<t,x),y<t=(y1,…,yt−1)\displaystyle P(y_t \mid y_{<t}, x), \quad y_{<t} = (y_1, \dots, y_{t-1})
  3. 连乘求整句概率把每一步条件概率乘起来,得到整句话的概率;训练时希望它尽量大。
    ∏t=1TP(yt∣y<t,x)\displaystyle \prod_{t=1}^{T} P(y_t \mid y_{<t}, x)

语言识别——先认出乘客是哪国人

小道接待乘客的第一件事不是急着写,而是“听声辨人”——像老站长扫一眼车票就说出国籍。小道扫的是一张特殊的“声音车票”:只要听前几毫秒的语音,它就能判断“这人是日本人还是埃及人”,然后从手册里抽出对应的一页,才开始正式干活。

这个“判断国籍”的动作,对应 Whisper 的第一个特殊令牌——语言令牌(<|zh|>、<|en|>、<|fr|> 等)。解码器开机的第一件事,不是直接写字,而是先从 99 个语言令牌里选一个概率最高的,相当于给对话盖了一个“语言章”。盖完章之后,后续的转写和翻译都按这个语种的发音规则、词汇表来走。

从数学上看,语言识别是一个 99 类别的分类问题:Whisper 对语言令牌集合 \(\mathcal{V}_{\text{lang}}\) 中的每个语种计算条件概率,取最大者作为预测语种:

有了这张“声音车票”,小道不用问乘客“您好请问您是哪国人”,直接听一句就盖好章,再决定翻哪一页手册。这也是 Whisper 能在多语言混用场景下自适应工作的起点。

L^=arg⁡max⁡L∈VlangP(L∣x)\displaystyle \hat{L} = \mathop{\arg\max}_{L \in \mathcal{V}_{\text{lang}}} P(L \mid x)
意思是:Whisper 在 99 个语种里挨个打分,谁分高就认谁。这就是“不指定语言也能转写”的原理。
  1. 语言令牌集合\(\mathcal{V}_{\text{lang}}\) 装着 99 个语言令牌,好比车站的 99 块站牌。
    Vlang={zh,en,fr,… }\displaystyle \mathcal{V}_{\text{lang}} = \{ \text{zh}, \text{en}, \text{fr}, \dots \}
  2. 条件概率打分\(P(L \mid x)\) 表示“听到音频 \(x\) 后,乘客讲的是语言 \(L\)”的可信度。
    P(L∣x)∈[0,1]\displaystyle P(L \mid x) \in [0, 1]
  3. 取分数最高\(\arg\max\) 在 99 个候选语种里挑出得分最高的那一个,记为 \(\hat{L}\)。
    L^=arg⁡max⁡L∈VlangP(L∣x)\displaystyle \hat{L} = \mathop{\arg\max}_{L \in \mathcal{V}_{\text{lang}}} P(L \mid x)

多任务开关——工单决定干活方式

通天火车站的服务中心有两种窗口:“记原话窗口”和“翻英文窗口”。乘客到窗口前,值班主任会递上一张工单,上面写着:上班打卡 → 乘客国籍 → 干哪种活 → 要不要时间戳。小道拿到工单,才知道这次是“把法语原话写下来”还是“把法语翻成英文”。

这张工单在 Whisper 里是一串“特殊指令令牌”(special tokens)。真实输出以 <|startoftranscript|> 开头(相当于上班打卡),第二个位置是语言令牌,第三个位置是任务令牌:<|transcribe|>(转写原语言)或 <|translate|>(翻译成英文),最后通常跟一个 <|notimestamps|>(不要时间戳)。

这些令牌被拼在音频特征之前,作为解码器的“额外输入条件”(conditioning)。整个生成过程都受工单 \(C\) 约束;训练时每条样本随机分配任务,于是模型用同一套参数学会了两种“人设”:

所以小道不是“会两种法术”,而是同一本手册配了一张可切换的工单。转写还是翻译,只取决于工单上那个 task 令牌——这正是“多任务”能力的核心开关。

Y^=arg⁡max⁡Y  P(Y∣x,C),C=[sot,zh,task],  task∈{transcribe,translate}\displaystyle \hat{Y} = \mathop{\arg\max}_{Y} \; P(Y \mid x, C), \quad C = [\text{sot}, \text{zh}, \text{task}], \; \text{task} \in \{\text{transcribe}, \text{translate}\}
意思是:模型怎么输出,完全由工单 \(C\) 说了算;把 task 换成翻译,输出就从中文变英文,但员工还是同一个。
  1. 工单 C\(C\) 是由 3 个令牌组成的序列,决定“怎么处理这段音频”。
    C=[sot,zh,task]\displaystyle C = [\text{sot}, \text{zh}, \text{task}]
  2. 任务令牌 task只能二选一——transcribe 表示写原话,translate 表示翻成英文。
    task∈{transcribe,translate}\displaystyle \text{task} \in \{\text{transcribe}, \text{translate}\}
  3. 条件概率展开\(P(Y \mid x, C)\) 指“音频 + 工单”双重条件下输出整句 \(Y\) 的概率,可拆成逐字连乘。
    P(Y∣x,C)=∏t=1TP(yt∣y<t,x,C)\displaystyle P(Y \mid x, C) = \prod_{t=1}^{T} P(y_t \mid y_{<t}, x, C)
  4. 取最优序列\(\arg\max\) 在所有可能的输出序列中挑概率最大的一个,作为最终译文或转写文本。
    Y^=arg⁡max⁡YP(Y∣x,C)\displaystyle \hat{Y} = \mathop{\arg\max}_{Y} P(Y \mid x, C)

声波预处理——把噪音变成乐谱

通天火车站大厅嘈杂:广播声、行李箱轮子声、孩子哭闹声混在一起。小道从不直接“听”这股噪音,而是先掏出特制耳麦,把每 30 秒的声波“画”成一张乐谱——横轴时间、纵轴频率、颜色深浅代表音量,就像五线谱上的音符。有了这份乐谱,再乱的声音也能找到规律。

这份“乐谱”就是对数梅尔谱图(log-Mel spectrogram)。人耳对低频更敏感,梅尔刻度(mel scale)模仿这种听觉特性,把普通频率轴“掰弯”:低频拉宽、高频压缩。Whisper 把 30 秒音频切成 80 个频道的梅尔特征图,交给编码器去“读谱”。

梅尔刻度与赫兹的换算公式是语音学界的经典公式:

正是这幅“乐谱”,让小道在嘈杂大厅里也能分得清“中文广播”和“法语问询”。预处理这一步虽然不起眼,却是 99 种语言能被同一套模型读懂的共同起点。

m=2595×log⁡10(1+f700)\displaystyle m = 2595 \times \log_{10}\left(1 + \frac{f}{700}\right)
它把真实频率 \(f\)(赫兹)映射成更接近人耳听感的刻度 \(m\),Whisper 的“耳麦”就是按这个刻度来采音的。
  1. 原始频率 f声波的振动频率,单位赫兹(Hz),人耳能听到约 20Hz 到 20kHz。
    f=声音频率 (Hz)\displaystyle f = 声音频率 \ (\text{Hz})
  2. 频率归一\(\frac{f}{700}\) 把频率压缩到一个适合取对数的尺度,700 是经验基准值。
    f700\displaystyle \frac{f}{700}
  3. 取对数\(\log_{10}\) 把高频区域的差异压缩、低频区域的差异放大,贴合人耳听觉分辨率。
    log⁡10(1+f700)\displaystyle \log_{10}\left(1 + \frac{f}{700}\right)
  4. 缩放常数2595 让 1000Hz 恰好等于 1000 mel,方便后续特征计算与比较。
    m=2595×log⁡10(1+f700)\displaystyle m = 2595 \times \log_{10}\left(1 + \frac{f}{700}\right)

训练秘籍——68万小时的大杂烩

小道凭什么敢说会 99 种语言?答案是一场惊人的“实战操练”:站长从全球各地打包了 68 万小时的录音与文字配对素材,让小道一段一段听写。这些素材不是精挑细选的教材,而是从网上抓来的“大杂烩”——播客、采访、会议录音,有些字幕还带错别字。

这种“材料糙、量大管饱”的方式叫弱监督学习(weak supervision)。过去做语音识别,专家要花大功夫精标数据;OpenAI 直接利用网络上海量的“录音 + 字幕”天然配对,把数据清洗到可接受的程度就开练。正因为语料覆盖各大洲的语言,小道才学会了一门又一门“外语”;也因为所有语言混在一起训练,模型才没有“学一门忘一门”。

训练目标是最常见的交叉熵损失——让模型给正确文本打出尽可能高的概率:

小道把这本 68 万小时练成的“手册”翻来覆去背完了,才终于有底气站在通天车站一人分饰多角。量大、嘈杂、弱监督——这些看似“不完美”的条件,恰恰是通向全能的关键。

L=−1T∑t=1Tlog⁡P(yt∗∣y<t∗,x)\displaystyle \mathcal{L} = -\frac{1}{T} \sum_{t=1}^{T} \log P(y_t^* \mid y_{<t}^*, x)
每步都让“正确答案的概率”的对数尽量大,整句平均后再取负号,损失越小模型越靠谱。
  1. 正确文本\(y_t^*\) 是第 \(t\) 个“标准答案”词,来自网络抓取的字幕(可能含少量噪声)。
    yt∗=第 t 个真实词\displaystyle y_t^* = 第\ t\ 个真实词
  2. 对数概率\(\log P(\cdot)\) 把概率连乘变成连加,方便数值计算且避免下溢。
    log⁡P(yt∗∣y<t∗,x)\displaystyle \log P(y_t^* \mid y_{<t}^*, x)
  3. 求平均除以 \(T\) 让损失不受句子长短影响,所有词一视同仁。
    1T∑t=1T\displaystyle \frac{1}{T} \sum_{t=1}^{T}
  4. 负号与最小化概率最大时损失最小,训练就是不断让 \(\mathcal{L}\) 往下降。
    L→min⁡\displaystyle \mathcal{L} \to \min

实操手册——三行代码让翻译官上岗

理论说完了,站长终于发话:“小道,上岗!”上岗其实特别简单——打开 Whisper 这位“员工”的 API,加载一下型号,然后喊一句转写或翻译。在 Python 世界里,加载模型用 load_model,处理音频、输出文本全部藏在 transcribe 里;想翻译就把 task 换成 "translate"。连语种都懒得指定时,模型会自动检测。

但解码时有个难题:如果每一步只选概率最大的词,可能“一步错、步步错”,就像面试时只背一套自我介绍,卡壳就全完蛋。Whisper 的做法是束搜索(beam search)——同时保留多条候选序列,最后挑总分最高的那条:

小道上岗第一天就惊艳全场:一句中文“我要去月台”,转写窗口写出了中文原话,翻译窗口立刻吐出英文。站长感慨:工单变一下,人都不用换——这就是“一个模型搞定多语言需求”的真实工作状态。

Y^=arg⁡max⁡Y∑t=1Tlog⁡P(yt∣y<t,x)\displaystyle \hat{Y} = \mathop{\arg\max}_{Y} \sum_{t=1}^{T} \log P(y_t \mid y_{<t}, x)
束搜索像面试时同时准备多套自我介绍,最后选综合表现最好的一版,避免因一步失误而全军覆没。
  1. 候选序列\(Y\) 是一条完整的输出词序列,束搜索同时维护多条这样的序列。
    Y=(y1,y2,…,yT)\displaystyle Y = (y_1, y_2, \dots, y_T)
  2. 对数概率和把整句每个词的对数概率加起来,作为这条序列的总分。
    ∑t=1Tlog⁡P(yt∣y<t,x)\displaystyle \sum_{t=1}^{T} \log P(y_t \mid y_{<t}, x)
  3. 取总分最高\(\arg\max\) 从所有候选里挑总概率最大的一条,作为最终输出。
    Y^=arg⁡max⁡Y∑t=1Tlog⁡P(yt∣y<t,x)\displaystyle \hat{Y} = \mathop{\arg\max}_{Y} \sum_{t=1}^{T} \log P(y_t \mid y_{<t}, x)

效果与局限——全能选手也有短板

小道也不是万能的。通天车站的乘客口音五花八门:有人把法语说得像意大利面一样黏糊,有人在自动扶梯的哐当声中说话。小道在安静的贵宾室表现完美,可一到嘈杂大厅,偶尔也会把“三号月台”听成“山耗约台”。

更让站长头疼的是小道的“自嗨”毛病:在纯静音或音乐段落,它可能会一本正经地“编”出一段话,像没听见乘客已经闭嘴还在自顾自翻译。这就是语音圈常说的幻觉(hallucination)问题。此外,模型越大越准,但也越吃显存、越慢,实时会议要三思。

行业里给“翻译官”打分最常用的尺子是词错率(WER,Word Error Rate)。它把模型输出和标准答案逐词对齐,统计三种错误:替换(S)、删除(D)和插入(I),错误总数除以标准答案总词数:

小道不是神,而是一个“偏科但超广谱”的天才:干净语音下几乎一字不差,嘈杂环境偶尔翻车,静音时还可能“自嗨”。站长最后在考核表上写:“全能性满分,仍需看场合使用。”这大概也是所有 AI 从业者对待多语言模型的正确姿势。

WER=S+D+IN\displaystyle \text{WER} = \frac{S + D + I}{N}
词错率越低越好,0 表示一字不差。它是多语言评测里衡量 Whisper 效果的核心指标。
  1. 替换错误 S把一个词听成了另一个词,比如“月台”→“站台”。
    S=被换掉的词数\displaystyle S = 被换掉的词数
  2. 删除错误 D该说的词没说出来,导致漏词。
    D=被漏掉的词数\displaystyle D = 被漏掉的词数
  3. 插入错误 I标准答案里没有的词被凭空加出来。
    I=多出的词数\displaystyle I = 多出的词数
  4. 参考词总数 N标准答案的完整词数,作为分母做归一化。
    N=参考文本总词数\displaystyle N = 参考文本总词数

AI 应用场景

跨国视频字幕的批量“双语文案”流水线

阶段:推理与部署

解决的问题:传统字幕生产要为每种语言请翻译和速记员,一期课程上百条视频、三天起步。Whisper 先用 transcribe 任务写原话,再用 translate 任务翻成英文,一条流水线产出双语字幕,人工只需校审时间轴和专有名词。

具体案例:某出海教育机构把 200 条中文课程视频交给 Whisper 脚本批量处理,base 模型在一块 GPU 上一夜跑完,英文转写准确率约八成,人工校审成本下降七成。

跨境客服录音的多语种质检

阶段:数据预处理与增强

解决的问题:客服工单里混着印尼语、泰语、西班牙语,统一的 NLP 关键词规则经常漏检。Whisper 自动识别语种并转写,再 translate 成英文,让下游情感分析和投诉分类只需要面对一种语言。

具体案例:某跨境电商平台用 Whisper 把三个东南亚国家的客服录音统一转成英文,用同一套情感分析模型完成投诉分类,免去了为每个国家单独训练 NLP 模型的大工程。

国际会议纪要的“随声记”

阶段:AI 应用落地

解决的问题:国际会议中英日三种语言交替发言,人工速记跟不上,会后整理要花半天。Whisper 大模型先按段落做语种识别与转写,会后批量 translate 成英文纪要。

具体案例:某出海公司的周会录音含日语投资人发言,用 Whisper large-v3 生成日文转写与英文翻译,管理层当天就能读到纪要,投后复盘效率翻倍。

Python 演示

python25 行
import whisper  def process_audio(path, language=None, task="transcribe"):    """One-stop: language detect + transcribe / translate."""    model = whisper.load_model("base")     audio = whisper.load_audio(path)    audio = whisper.pad_or_trim(audio)     if language is None:        mel = whisper.log_mel_spectrogram(audio).to(model.device)        _, probs = model.detect_language(mel)        language = max(probs, key=probs.get)        print("detected language:", language)     result = model.transcribe(path, language=language, task=task)    return result["text"]  if __name__ == "__main__":    demo = "meeting_zh.mp3"    print("zh transcribe:", process_audio(demo, language="zh", task="transcribe"))    print("en translate:", process_audio(demo, language="zh", task="translate"))    print("auto detect:", process_audio(demo, task="transcribe"))
目的:用一段中文语音演示 Whisper 的多语言多任务能力——手动指定语言转写、切换到翻译任务、以及自动识别语种。
  1. model = whisper.load_model("base")加载预训练“翻译官”,base 是体积较小、速度较快的版本
  2. audio = whisper.pad_or_trim(audio)把音频裁剪或补齐到 30 秒的标准窗口
  3. mel = whisper.log_mel_spectrogram(audio).to(model.device)把声波转成梅尔“乐谱”并送到模型所在设备
  4. _, probs = model.detect_language(mel)让模型“听声辨语种”,返回各语种概率字典
  5. language = max(probs, key=probs.get)取概率最大的语种作为识别结果
  6. result = model.transcribe(path, language=language, task=task)核心一行:按语种和任务令牌生成文本
  7. task="translate"切换工单上的任务令牌,让输出从中文原话变成英文译文

常见误区

误区我以为 Whisper 和传统 ASR 一样,得先告诉它“这是中文”,否则它就会罢工或者乱写一通。

正解恰恰相反,Whisper 解码时第一步就是输出语言令牌,它会自动判断语种;不传 language 参数照样能转写。手动指定只是提供“先验”,让它在语言混用或信噪比低时少猜一次,精度更稳。好比小道会先听一句再盖章,你提前告知只是免去了它这一步。

为何常见:传统 ASR 几乎都是一个模型绑定一种语言,使用者习惯了“必须预先声明语种”的玩法。

误区一个模型能处理 99 种语言,里面肯定藏着 99 套语音系统,按语言切来切去吧?

正解不是。Whisper 是单一 Transformer,所有语言共享同一套参数。它通过语言令牌、任务令牌切换“行为模式”;训练时各语种样本混在一个批次里互相“借力”,法语学到的声学规律也能帮到西班牙语。如果真是 99 个小模型,参数会大几十倍,也无法解释跨语言迁移效果。

为何常见:早期多语言方案确实是“每语种一个模型”,加上“多语言”字面像是拼接,容易让人联想到组合系统。

误区反正模型会翻译,我想让它把中文翻成法语、日语都行,目标语言可以随便选。

正解Whisper 的 translate 任务只会输出英文,这是训练数据决定的——语音翻译对的标注几乎全部指向英语。想得到法语字幕,得先用 transcribe 出中文,再接一个机器翻译模型做接力,不能指望 Whisper 一步到位。

为何常见:“翻译”一词默认隐含“任意目标语言”,而使用者容易忽略 Whisper 的翻译对几乎都指向英文这一训练前提。

误区效果不好就换更大的模型,反正越大越准,生产环境直接上 large-v3 准没错。

正解模型越大 WER 越低,但延迟和显存同步上涨,实时会议或移动端根本跑不动;而且更大模型的幻觉也未必更少。正确做法是在 tiny / base / small / medium / large 里,按场景验证集上的 WER 加推理耗时综合选型。

为何常见:评测榜单总拿最大号模型刷分,让大家误以为生产环境也应该无脑追大。

面试题

Q1. Whisper 识别语音的核心架构是什么?

单选题 · easy

  • A.循环神经网络结构
  • B.序列到序列转换器← 正确答案
  • C.卷积网络做帧分类
  • D.隐马尔可夫时序模型

答案:B。Whisper 是编码器-解码器结构的 Transformer,声音先进编码器,文本由解码器逐字生成。LSTM 是旧式语音识别常客,CNN 只用于辅助特征提取,HMM 是更早的技术,均不是 Whisper 的主体。

Q2. Whisper 解码时最先输出的特殊令牌是什么?

单选题 · easy

  • A.语言令牌
  • B.开始令牌← 正确答案
  • C.时间戳令牌
  • D.任务令牌

答案:B。完整序列以 <|startoftranscript|> 开头,相当于“上班打卡”,之后才是语言令牌和任务令牌。时间戳令牌则在正文中穿插出现,所以 A、C、D 都不在最前面。

Q3. 下列哪个是 Whisper 的翻译任务令牌?

单选题 · mid

  • A.转写任务令牌
  • B.翻译任务令牌← 正确答案
  • C.时间戳令牌
  • D.采样温度参数

答案:B。<|translate|> 触发“翻译成英文”模式;<|transcribe|> 是原语种转写;时间戳令牌控制是否输出时间点;temperature 是解码时的采样温度参数,不属于任务令牌。

Q4. Whisper 将音频按多少秒切分为基本处理窗口?

单选题 · easy

  • A.5 秒窗口
  • B.10 秒窗口
  • C.30 秒窗口← 正确答案
  • D.60 秒窗口

答案:C。Whisper 把音频切成 30 秒的窗口,再转成 80 个频道的 log-Mel 特征。5 秒、10 秒过短容易切断语义,60 秒超出模型的输入设计,所以都不对。

Q5. 梅尔刻度公式 m = 2595 × log10(1 + f/700) 主要模拟什么?

单选题 · mid

  • A.人耳听觉特性← 正确答案
  • B.麦克风频响
  • C.房间混响效果
  • D.说话人音色

答案:A。梅尔刻度模仿人耳对低频更敏感、高频分辨率递减的特性,让特征更贴近听觉感知。麦克风频响、房间混响和说话人音色都不是该公式刻画的对象。

Q6. 关于 Whisper 的弱监督训练,下列说法正确的是?

单选题 · hard

  • A.语料全部人工精标
  • B.网络抓取字幕配对← 正确答案
  • C.只使用英语数据
  • D.训练无需文本监督

答案:B。OpenAI 收集了 68 万小时网络录音与自动抓取的字幕做弱监督训练,数据量大但含噪声;人工逐句校对成本过高,数据覆盖 99 种语言,且缺少文本就无法监督学习,因此 B 正确。

Q7. WER 中“删除错误 D”指的是什么?

单选题 · mid

  • A.标准词被替换成他词
  • B.该说却漏掉的词← 正确答案
  • C.凭空多输出的词
  • D.标点符号缺失

答案:B。WER 的 D 是参考文本里应该出现却没有被模型说出来的词,即漏词。替换是 S,凭空多出的是 I;评测时通常忽略标点,所以 D 选项也不对。

Q8. 以下哪些属于 Whisper 的特殊指令令牌?

多选题 · mid

  • A.<|sot|> 开始令牌← 正确答案
  • B.<|zh|> 语言令牌← 正确答案
  • C.翻译任务令牌 translate← 正确答案
  • D.学习率参数 learning rate

答案:ABC。前三项分别是开始、语种、任务令牌,共同组成“工单”来指导解码;learning rate 是训练阶段的超参数,不属于解码指令令牌,所以 D 不选。

Q9. Whisper 在实际落地中的常见局限有哪些?

多选题 · hard

  • A.静音段可能生成幻觉文本← 正确答案
  • B.模型较大且推理耗资源← 正确答案
  • C.翻译可输出任意目标语言
  • D.对部分方言口音识别有限← 正确答案

答案:ABD。幻觉、算力开销与方言口音问题是 Whisper 的公开痛点;而 translate 任务只会输出英文,C 把能力夸大了,是错误认知,所以不选。

Q10. Whisper 一个模型能够完成哪些任务?

多选题 · easy

  • A.多语言语音转写← 正确答案
  • B.语音翻译成英文← 正确答案
  • C.自动语种识别← 正确答案
  • D.生成人脸表情

答案:ABC。多语言 ASR(转写)、语音翻译成英文、语种识别是 Whisper 的三大能力;生成人脸表情属于视觉生成任务,与语音模型无关,所以 D 不选。