首页 > 教程攻略 > ai资讯 >Qwen3-ASR:阿里开源的语音识别大模型,一行命令干掉 Whisper

Qwen3-ASR:阿里开源的语音识别大模型,一行命令干掉 Whisper

来源:互联网 时间:2026-06-11 14:12:08

阿里通义千问团队最近开源的 Qwen3-ASR 系列,在语音识别圈子里引起了不少关注。1.7B 参数的模型在公开评测中词错误率全面低于 Whisper large-v3,支持 52 种语言和方言,自带歌词转写和方言识别,用 vLLM 一行命令就能部署成 OpenAI 兼容的 API。Apache 2.0 协议,拿来就用。

Whisper 统治了两年,但裂缝已经出现

过去两年,凡是和"语音转文字"打交道的项目,绝大多数都绕不开 OpenAI 的 Whisper。

Whisper 的出现确实是一道分水岭。在那之前,做 ASR 要么花大价钱买商业 API,要么折腾 Kaldi 那套复杂到让人怀疑人生的管线——声学模型、语言模型、解码图、WFST,光搭环境就能劝退一半人。Whisper 把这些全部塞进了一个 Encoder-Decoder 模型里,一个命令就能跑,99 种语言开箱即用。

但 Whisper 也带着它那个时代的局限性。

它不会拒绝。

给它一段纯音乐或者环境白噪声,它照样会"听"出一段文字来——有时候是幻觉式的胡言乱语,有时候是循环重复的短语。在生产环境里,这种假阳性绝对是个隐患。

它不够快。

Whisper 的推理是自回归循环,不原生支持流式输出。你得等整段音频处理完才能拿到结果。做实时字幕或者语音助手,这个延迟不可接受。

它在极端场景下不够硬。

远场拾音、强背景噪音、带口音的非标准发音、歌词混着伴奏——这些场景下 Whisper 的 WER 会明显劣化。

这些问题不是 Whisper 的"bug",而是它架构的天花板。一个 2022 年设计的纯 Encoder-Decoder 模型,没有利用大语言模型时代的语义理解能力,也没有针对流式场景做架构级的优化。

阿里的 Qwen3-ASR,就是冲着这些裂缝来的。

用大语言模型"听懂"声音

Qwen3-ASR 最根本的不同在于:它不再把语音识别当成一个独立的信号处理任务,而是把它变成了"大语言模型理解音频"的过程。

这话听着有点抽象,拆开看架构就清楚了。

整个模型由三个模块组成:

第一层:音频编码器(AuT)。

这是一个专门设计的 Audio Transformer,负责把原始音频信号转化为模型能"看懂"的 token 序列。它先把音频转成 128 维的梅尔频谱图,然后用 Conv2D 做 8 倍降采样,最终产生 12.5 Hz 的 token 速率——也就是说每秒钟的音频只产生 12.5 个 token。这个压缩率相当激进,但正因为压缩够狠,后面的 LLM 才不至于被音频长度淹没。1.7B 版本的编码器有 3 亿参数,隐藏维度 1024;0.6B 版本压缩到 1.8 亿参数,隐藏维度 896。

编码器还有一个重要设计:

动态 Flash Attention

,窗口大小从 1 秒到 8 秒可调。窗口小的时候适合低延迟流式推理,窗口大的时候适合离线批处理。一个模型,两种模式,不用换架构。

第二层:投影器(Projector)。

一个两层的 MLP,负责把音频编码器的输出向量"翻译"成 LLM 能接受的输入格式。你可以把它理解为一个"同声翻译官"——音频编码器说"音频语",LLM 说"文本语",投影器在中间做实时转换。

第三层:Qwen3 LLM 骨干。

这是真正的大脑。标准的 Qwen3 语言模型,带 RoPE 位置编码、GQA 分组查询注意力、Q/K RMSNorm。它拿到投影器转换过来的音频 token 后,用语言模型的推理能力去"理解"这段声音说了什么。

这个架构的妙处在于:

语音识别的准确率,直接受益于 LLM 的语言理解能力。

传统 ASR 模型的语言模型是一个浅层的 n-gram 或者小型 LSTM,碰到专业术语、生僻词、新造词就容易翻车。但 Qwen3 的 LLM 骨干见过海量的文本数据,它对"这个语境下应该出现什么词"有更深层的语义理解。当音频编码器给出一个模棱两可的发音时,LLM 能根据上下文做出更准确的判断。

这就是为什么 Qwen3-ASR 在歌词转写和强噪音场景下表现特别好——不是因为它的"耳朵"比 Whisper 灵,而是因为它的"大脑"比 Whisper 聪明。

一个模型干三件事

Whisper 只做一件事:把音频转成文字。

你想知道这段音频说的是什么语言?得先跑一遍语言检测,或者靠 Whisper 开头输出的 language token 来猜,但那个准确率并不总是靠谱。你想过滤掉纯音乐或者无人说话的片段?Whisper 做不到,它会"硬听"。

Qwen3-ASR 把这三件事合成了一个模型:

  • 语言识别(LID)

    :自动判断音频是什么语言,支持 30 种主流语言和 22 种中文方言(粤语、四川话、闽南语、吴语等),以及来自不同国家和地区的英语口音
  • 语音转文字(ASR)

    :核心能力,52 种语言和方言的高精度识别
  • 非语音拒绝

    :如果输入的是纯音乐、环境噪音或者无人说话的片段,模型会主动拒绝输出,而不是产生幻觉文本

单模型完成这三件事意味着什么?意味着你的生产管线里少了两个串联组件,少了两次网络调用,少了两个出错的节点。架构越简单,越不容易出幺蛾子。

不只是"比 Whisper 好一点"

光说架构漂亮不够,得看实战。

在公开评测上,

Qwen3-ASR-1.7B 拿到了开源 ASR 模型中最低的平均 WER(词错误率)

,全面超越 Whisper large-v3。尤其在以下几个场景,差距拉得很开:

  • 嘈杂环境

    :背景有施工噪音、咖啡厅人声嘈杂、风噪干扰,Qwen3-ASR 的识别稳定性明显更强
  • 方言和口音

    :22 种中文方言不是摆设,实测粤语和四川话的识别率远超 Whisper
  • 歌词转写

    :背景有伴奏音乐的情况下识别歌词,这是传统 ASR 模型的噩梦,Qwen3-ASR 能扛住
  • 远场拾音

    :会议室里离麦克风三四米远的发言,Whisper 经常出乱子,Qwen3-ASR 依然稳

另一个竞争对手是 NVIDIA 的 Canary-Qwen 2.5B。这个模型用 FastConformer 编码器加 Qwen3 LLM 解码器,走的是 SALM(Speech-Augmented Language Model)架构。在一些英语基准上,Canary 也很能打。但 Qwen3-ASR 在两个维度上领先:

字级时间戳预测

原生流式推理

——这两个能力在生产环境里经常是刚需。

如果你需要极致的推理速度而不是极致的精度,还有 0.6B 版本可选。这个"小弟"在 128 并发下能达到

2000 倍实时吞吐

——也就是说 1 秒钟处理 2000 秒的音频。用来做批量视频字幕生成或者客服通话质检,效率碾压级别。

字级时间戳:不只是"听到了什么",还知道"什么时候说的"

Qwen3-ASR 家族里还有一个容易被忽略的成员:

Qwen3-ForcedAligner-0.6B

这是一个非自回归的强制对齐模型,能给转写结果里的每一个字(或者词)标上精确的起止时间戳。支持 11 种语言,能处理最长 5 分钟的音频片段。

Whisper 也能输出时间戳,但只到段落级别。你知道"这一段话大概是从第 3 秒到第 8 秒说的",但你不知道其中"人工智能"这四个字精确地出现在第 4.32 秒到第 5.17 秒。

ForcedAligner 就是干这个的。而且它的时间戳精度超过了主流的端到端对齐模型。

这个能力在以下场景非常关键:

  • 视频字幕

    :精确的字级时间戳让字幕和口型完美同步,不会出现"嘴巴已经闭上了字幕还在滚"的尴尬
  • 语音搜索

    :在一段长录音里搜索某个关键词,直接跳转到它出现的精确位置
  • 发音评测

    :对比标准发音和实际发音的时间对齐,用于外语学习类应用
  • 播客剪辑

    :基于文本搜索来定位音频片段,然后精确裁剪

使用上也很直接,ASR 模型和 ForcedAligner 可以一起加载,一次推理同时拿到转写结果和时间戳:

model = Qwen3ASRModel.from_pretrained(
    "Qwen/Qwen3-ASR-1.7B",
    forced_aligner="Qwen/Qwen3-ForcedAligner-0.6B",
)
results = model.transcribe(
    audio="meeting.wa v",
    return_time_stamps=True,
)

部署:一行命令,OpenAI 兼容

说到部署,Qwen3-ASR 的开发者体验可以说是目前开源 ASR 项目里最丝滑的。

整个安装就一行:

pip install -U qwen-asr[vllm]

启动服务也是一行:

vllm serve Qwen/Qwen3-ASR-1.7B

然后你就得到了一个 OpenAI 兼容的 API 端点。可以用 OpenAI 的 Python SDK 直接调用,连客户端代码都不用改:

from openai import OpenAI

client = OpenAI(base_url="http://localhost:8000/v1", api_key="EMPTY")
response = client.chat.completions.create(
    model="Qwen/Qwen3-ASR-1.7B",
    messages=[{
        "role": "user",
        "content": [{"type": "audio_url", "audio_url": {"url": "audio.wa v"}}]
    }]
)
print(response.choices[0].message.content)

甚至还兼容 OpenAI 的 Transcription API:

transcription = client.audio.transcriptions.create(
    model="Qwen/Qwen3-ASR-1.7B",
    file=audio_bytes,
)

这意味着什么?如果你现在用的是 OpenAI 的 Whisper API,想切换到私有部署的 Qwen3-ASR,

客户端代码几乎零改动

。改一下 base_urlmodel 名字就行。对于已经在生产环境中跑着的系统来说,这种迁移成本几乎为零。

流式推理也有。基于 vLLM 的流式后端,音频一边输入一边输出转写结果。团队还提供了一个 Flask 的流式 Demo,浏览器里打开就能用麦克风实时测试。

如果你不想折腾 GPU 环境,官方的 Docker 镜像也准备好了:

docker run --gpus all -p 8000:80 qwenllm/qwen3-asr:latest

从安装到服务启动,三分钟搞定。

长音频怎么办

现实中的语音场景经常不是"一段三秒钟的录音",而是一场两小时的会议、一堂三小时的网课、一个六小时的直播回放。

Qwen3-ASR 本身支持长音频转写,但直接丢一个六小时的文件进去显然不现实。社区已经有了成熟的方案:

VAD(语音活动检测)切分 + 多线程并发调用

流程大概是这样的:

  1. 先用 VAD 工具(比如 Silero VAD)把长音频按静音段自动切成短片段
  2. 每个片段重采样到 16kHz 单声道 PCM 格式
  3. 多线程并发调用本地部署的 Qwen3-ASR API
  4. 把各段结果拼接起来,利用 ForcedAligner 的时间戳生成 SRT 字幕文件

这套流程在社区的 Qwen3-ASR-Toolkit 里已经封装好了,开箱即用。一台有 A100 的机器处理一场两小时的会议录音,大概只需要几分钟。

如果你完全不想碰 GPU,阿里云百炼平台也提供了 Qwen3-ASR-Flash 的云端 API,按量付费。Flash 版本还支持一个独特的能力:

上下文偏置

。你可以在 API 请求里带上一段文本(比如专业术语表、人名列表),模型会自动"偏向"这些词汇,提升特定领域的识别准确率。这对医疗、法律、金融等术语密集的行业特别有用。

训练的秘密:4000 万小时音频 + 强化学习

最后说说训练。Qwen3-ASR 的训练流水线分四个阶段,每个阶段解决不同的问题:

第一阶段:AuT 预训练。

用大约 4000 万小时的伪标签音频数据训练音频编码器。这个数据量是 Whisper 训练数据(68 万小时)的近 60 倍。海量的听力训练让编码器对各种声学环境都有了"经验"。

第二阶段:Omni 预训练。

在 Qwen3-Omni 底座上用 3 万亿多模态 token 做联合训练,让模型同时理解文本、音频和视觉信息。这个阶段的产物就是 Qwen3-ASR 的基座模型。

第三阶段:ASR 微调。

针对多语言识别、流式推理、上下文偏置等具体 ASR 能力做精细化训练。

第四阶段:强化学习(GSPO)。

这一步是画龙点睛。用 Group Sequence Policy Optimization 算法在大约 5 万条语句上做强化学习,专门提升模型在噪声环境下的鲁棒性和输出稳定性。经过这一步之后,模型不再会在遇到困难音频时"慌张"——它学会了在不确定的时候宁可少说,也不瞎说。

该换了

回到最开始的问题:Whisper 还值得用吗?

如果你的需求是"支持 99 种语言的广覆盖",Whisper 暂时还有优势。但如果你的场景是中英文为主、需要高精度、需要流式、需要字级时间戳、需要方言支持,答案已经很明确了。

Qwen3-ASR-1.7B 在精度上全面超越 Whisper,在工程化程度上提供了 vLLM 原生支持和 OpenAI 兼容 API,在开源协议上是最友好的 Apache 2.0。

从 Whisper 迁移过来的成本接近于零。

是时候换了。

相关下载