Qwen3-ASR 课程 · 第 1 课

声音是怎么变成文字的 —— 现代 ASR 全景图

⏱ 约 15–20 分钟 · 本课目标:建立整张地图,知道 Qwen3-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 的思路变了:不再把语音当作"声学分类问题",而是当作"听觉理解 + 语言成文"两件事的接力。听懂声音的是编码器,落笔成文的是大语言模型。

二、现代管道:从声波到文字的五站

🎤 声波 模拟信号 ① 采样 16kHz → 数字波形 ② 特征提取 波形 → 频谱特征 ③ AuT 编码器 压缩成"听懂了"的表示 ④ Qwen3 解码器 大语言模型成文 "今天天气怎么样" 热词/上下文提示(文字) 如"词表:幂等、回调" — 模型部分(Qwen3-ASR 的两大件)— — 进入模型前的信号处理 —
现代 LLM-based ASR 管道。灰色框是信号预处理,紫色框是 Qwen3-ASR 的两大组成:音频编码器 + 语言模型解码器。虚线是 Qwen3-ASR 的特色——可以用纯文本提示把领域词表"喂"给解码器。

五站分别是:

  1. 声波:空气振动,模拟信号,计算机听不懂。
  2. 采样:每秒测 16000 次声压,变成一长串数字(波形)。Qwen3-ASR 要求 16kHz 单声道输入。
  3. 特征提取:把波形切成小窗,变换成频率-能量表示(梅尔频谱一类),让"音色内容"显式可见。这是第 3 课的主场。
  4. 音频编码器(AuT):Qwen 自研的 Audio Transformer,把特征序列压缩成"听懂了"的连续向量表示。
  5. 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 部署 + 官方微调仓库
来源(一手) Qwen3-ASR 官方博客 · GitHub 官方仓库 · HF 模型卡(transformers 用法) · 技术报告 arXiv:2601.21337

四、你的学习路线图

站主题状态
1ASR 全景与课程地图(本课)📍 你在这里
2地基:神经网络 → Transformer → 注意力机制○
3语音前端:采样、波形、梅尔频谱○
4Qwen3-ASR 架构精读:AuT 编码器 + LLM 解码器 + 热词机制○
5跑通推理:transformers 加载、转写你的第一段音频、读懂 config○
6数据准备 + LoRA 微调实战(T4 可行)○
7改造训练流程:损失、训练策略、实验方法○
8预训练全景:数据管道与训练配方(原理 + 小模型演示)○

地基课(第 2、3 课)不会脱离 ASR 空讲理论——每讲一个概念,都会立刻对应到 Qwen3-ASR 里"它在哪、干什么活"。

检索练习

本课主读材料

去读(约 10 分钟,只求印象不求全懂)

Qwen3-ASR 官方发布博客

读法:跳过所有图表数字,只找三个问题的答案——① 模型有几个?各多大?② 它擅长什么(找 2 条)?③ 哪句话你完全看不懂?把看不懂的词记下来,下次直接问我——那正是下一课的原料。

本课新术语都已收录进 术语表:语音识别、WER、采样、波形、梅尔频谱、编码器、解码器、自回归、词元、LoRA、预训练、微调。忘了随时查。

我是你的老师,别客气 任何看不懂的地方——图里一个箭头、表格里一个词——直接回来问我。提问越具体,我下一课就钉得越准。