Qwen3-ASR 课程 · 第 1 课
声音是怎么变成文字的 —— 现代 ASR 全景图
你的终点很明确:在自己的业务数据上用起来、微调、甚至改造 Qwen3-ASR 的训练。但你现在还不需要懂任何一行代码。今天只做一件事——在脑子里装上一张准确的地图。之后每一课,都是往这张地图的某一块上钉细节。
一、ASR 在解决什么问题
语音识别(ASR)就是"听写机器":输入一段声音,输出它说的话的文字。听起来简单,难点在于——同一个人说"幂等"和"目的地"、不同口音的"四十四只石狮子"、背景有音乐或噪声的语音,对人脑都费力,对机器更甚。
衡量"听写"好坏的核心指标叫 WER(词错误率):机器的答案和标准答案差多少个词,越低越好。记住它——你以后每次微调,都是在想办法把这一个数字往下压。
别停留在背定义——下面就是那个指标的完整实现(编辑距离动态规划),直接改第二句的错字/多字/漏字,看错误率怎么动:
def align(ref, hyp):
"""编辑距离:把 ref 改成 hyp 最少要几步(替换/插入/删除各计 1)"""
R, H = len(ref), len(hyp)
cost = [[0]*(H+1) for _ in range(R+1)]
for i in range(R+1): cost[i][0] = i
for j in range(H+1): cost[0][j] = j
for i in range(1, R+1):
for j in range(1, H+1):
sub = 0 if ref[i-1] == hyp[j-1] else 1
cost[i][j] = min(cost[i-1][j] + 1, # 删除
cost[i][j-1] + 1, # 插入
cost[i-1][j-1] + sub) # 替换或匹配
i, j = R, H; S = I = D = 0
while i or j: # 回溯数出每种操作各几次
if i and j and cost[i][j] == cost[i-1][j-1] + (ref[i-1] != hyp[j-1]):
S += ref[i-1] != hyp[j-1]; i, j = i-1, j-1
elif i and cost[i][j] == cost[i-1][j] + 1:
D += 1; i -= 1
else:
I += 1; j -= 1
return cost[R][H], S, I, D
def report(name, ref, hyp):
d, S, I, D = align(ref, hyp)
print(f"{name}: 错 {d} 处 (替换 {S} / 插入 {I} / 删除 {D}) 错误率 = {d}/{len(ref)} = {d/len(ref):.2f}")
ref_c = "今天我们要发布新的语音识别模型"
hyp_c = "今天我们要发佈新的语音识别模型" # 改我:多字、漏字、换字试试
report("CER 字级", ref_c, hyp_c)
ref_w = "今天 我们 要 发布 新 的 语音 识别 模型".split() # 词级按空格切词
hyp_w = "今天 我们 要 发佈 新 的 语音 识别 模型".split()
report("WER 词级", ref_w, hyp_w)
跑完看两个门道
① 同样错一个字,CER 0.07、WER 0.11——分母不同(15 字 vs 9 词),所以中英混报时先说清用的是哪个;中文场景习惯用 CER(分词不直观,且字级更细)。② 第二句改成完全不同的句子,错误率会超过 1 吗?想想再跑。(答案:错误率可能大于 1——插入太多时,错的数量能超过参考长度。)
关键观念
现代 ASR 的思路变了:不再把语音当作"声学分类问题",而是当作"听觉理解 + 语言成文"两件事的接力。听懂声音的是编码器,落笔成文的是大语言模型。
二、现代管道:从声波到文字的五站
五站分别是:
- 声波:空气振动,模拟信号,计算机听不懂。
- 采样:每秒测 16000 次声压,变成一长串数字(波形)。Qwen3-ASR 要求 16kHz 单声道输入。
- 特征提取:把波形切成小窗,变换成频率-能量表示(梅尔频谱一类),让"音色内容"显式可见。这是第 3 课的主场。
- 音频编码器(AuT):Qwen 自研的 Audio Transformer,把特征序列压缩成"听懂了"的连续向量表示。
- LLM 解码器(Qwen3):一个大语言模型,读着音频表示,自回归地一个词元一个词元把文字"写"出来。
为什么这个设计聪明
语言模型本来就极懂"什么话像话"。把成文交给 LLM,专有名词、口语文法、中英夹杂都更稳;而且热词不用改模型——直接写进文字提示即可。这正是你要学的 Qwen3-ASR 的核心卖点。
三、Qwen3-ASR:你将要打交道的模型
2026 年 1 月,阿里 Qwen 团队开源了 Qwen3-ASR 系列(基于 Qwen3-Omni 基座训练)。你现在需要知道的事实,一张表说完:
| 事项 | 事实 |
|---|---|
| 开源尺寸 | 0.6B(含编码器总参约 0.9B,你的 T4 微调目标)与 1.7B(旗舰);另有 ForcedAligner-0.6B 专职出时间戳 |
| 结构 | AuT 音频编码器 + Qwen3 LLM 解码器;自回归生成,不用 CTC |
| 输出格式 | 原始输出形如 language 中文<asr_text>今天天气怎么样,处理器可解析成纯文本 |
| 特色能力 | 纯文本热词/上下文注入;单模型统一流式+离线;长音频一次转写;30 语言 + 22 中文方言;抗噪、能转写带伴奏的歌 |
| 成绩 | HF Open ASR 榜:1.7B 平均 WER 5.59、0.6B 6.31,开放模型第一梯队;中文/方言多数基准超过 GPT-4o-Transcribe 与 Gemini-2.5-Pro |
| 工具链 | transformers ≥ v5.13 原生支持;官方 GitHub 仓库 + vLLM 部署 + 官方微调仓库 |
四、你的学习路线图
| 站 | 主题 | 状态 |
|---|---|---|
| 1 | ASR 全景与课程地图(本课) | 📍 你在这里 |
| 2 | 地基:神经网络 → Transformer → 注意力机制 | ○ |
| 3 | 语音前端:采样、波形、梅尔频谱 | ○ |
| 4 | Qwen3-ASR 架构精读:AuT 编码器 + LLM 解码器 + 热词机制 | ○ |
| 5 | 跑通推理:transformers 加载、转写你的第一段音频、读懂 config | ○ |
| 6 | 数据准备 + LoRA 微调实战(T4 可行) | ○ |
| 7 | 改造训练流程:损失、训练策略、实验方法 | ○ |
| 8 | 预训练全景:数据管道与训练配方(原理 + 小模型演示) | ○ |
地基课(第 2、3 课)不会脱离 ASR 空讲理论——每讲一个概念,都会立刻对应到 Qwen3-ASR 里"它在哪、干什么活"。
检索练习
本课主读材料
去读(约 10 分钟,只求印象不求全懂)
读法:跳过所有图表数字,只找三个问题的答案——① 模型有几个?各多大?② 它擅长什么(找 2 条)?③ 哪句话你完全看不懂?把看不懂的词记下来,下次直接问我——那正是下一课的原料。
本课新术语都已收录进 术语表:语音识别、WER、采样、波形、梅尔频谱、编码器、解码器、自回归、词元、LoRA、预训练、微调。忘了随时查。
我是你的老师,别客气
任何看不懂的地方——图里一个箭头、表格里一个词——直接回来问我。提问越具体,我下一课就钉得越准。