用途
Mega-ASR 定位为“为真实世界打造的语音识别基础模型”,目标是在复杂、恶劣的声学条件下实现全场景鲁棒的语音识别。项目指出,许多模型在实验室环境表现良好,但在真实场景中会失效,因此 Mega-ASR 系统化地针对真实声学退化进行训练,力求在噪声、远场、遮挡、回声与混响、录音伪影、电子失真和传输丢包等情况下保持可靠识别。
主要能力
- 覆盖 7 种原子声学条件与 54 种复合声学场景,单一模型应对多种复杂声学环境。
- 在严重失真下强化语义恢复与局部关键词重建,减少幻觉、空输出、漏句等常见失败模式。
- 项目称在挑战性声学环境中相较领先的开源与闭源 SOTA 模型最高可有接近 30% 的提升。
- 基于 Qwen3-ASR 构建,提供 LoRA 与路由机制:由于模型在大量高 WER 数据上训练,基础识别能力会略有下降,因此系统配备路由器判断当前音频是否应激活 Mega-ASR(即是否挂载 LoRA 权重)。
- 支持 vLLM 流式推理(2026 年 5 月 28 日加入),可处理长音频;Qwen3-ASR 流式推理仅通过官方 vLLM 后端提供,不支持批处理推理和时间戳。
- 训练方面采用声学到语义的渐进式监督微调(A2S-SFT),并叠加 DG-WGPO 强化学习;后者按 WER 门控进行策略学习,低 WER 样本强调 token 级声学精修,高 WER 样本强调句子级语义重建。
- 允许用户在自己的场景和数据上进一步微调 Mega-ASR,也可用其仓库直接训练 Qwen3-ASR。
使用方式
项目提供推理与部署说明。权重可从 Hugging Face 下载。Transformers 后端默认支持在一个 PyTorch 模型中动态挂载与卸载 LoRA;若追求更快的 Qwen3-ASR 推理,可先安装 vLLM 扩展,再运行 vLLM 入口脚本。vLLM 入口始终以单个 vLLM 引擎运行 Mega-ASR LoRA,会加载基础 Qwen3-ASR 检查点、应用一次 Mega-ASR LoRA 增量、在 ckpt/Mega-ASR/mega-asr-vllm-materialized 下保存或复用物化后的检查点缓存,然后从该检查点启动 vLLM,该入口不使用逐样本路由。 在 8GB 显存的 GPU 上,CLI 默认采用保守的 vLLM 参数(如 gpu_memory_utilization=0.85、max_model_len=8192、max_num_seqs=1、max_num_batched_tokens=2048),可手动覆盖。vLLM 不提供原生 Windows GPU 支持,Windows 上需在 Linux、WSL2 或 Linux Docker 容器中运行 vLLM 后端,否则使用默认 Transformers 后端。 项目还提供 vLLM 流式入口,它复用与 infer_vllm.py 相同的物化 LoRA 检查点缓存,将音频分块送入 Qwen3-ASR 的流式 API;脚本在每次流式调用后输出部分文本,在 finish_streaming_transcribe 后输出最终转写。对长音频,它会周期性结束并重新初始化流式状态以避免内部累积音频无限增长,可通过 --reset_interval_sec 0 禁用状态重置。 若希望强制在每个样本上启用 LoRA,可运行不带路由的推理。每条输入需要 audio 或 audio_path 字段,以及作为真值转写的 answer 字段。 训练方面,src/MegaASR/A2S-SFT 包含 A2S-SFT 的核心训练代码,训练数据为 JSONL 格式;DG-WGPO 强化学习模块将在未来更新中发布。评估脚本可运行 Mega-ASR 推理并计算 WER/CER,输入为 JSONL,每行只需两个必需字段,脚本会保留原有字段并追加若干输出字段。
适用场景
适合需要在真实、嘈杂或退化声学环境中进行语音识别的应用,例如远场拾音、带噪录音、存在回声混响或传输丢包的语音转写,以及对语义恢复和关键词重建要求较高的困难音频。也适合研究者基于其代码库进行训练、微调与鲁棒性评估。官方评估覆盖三类基准:经典学术测试集、鲁棒性基准以及自建的野外复合基准。
限制与暂未提供的信息
- 由于在大量高 WER 数据上训练,模型基础识别能力会略有下降,需依赖路由器决定是否激活 LoRA。
- vLLM 后端不支持原生 Windows GPU,流式推理不支持批处理与时间戳。
- DG-WGPO 强化学习模块暂未发布,将在未来更新中提供;官方还表示将发布 RL 代码、优化 WebUI、重新格式化数据集与基准,并发布全部数据处理流水线(截至资料所述状态为“Coming”)。
- 项目以 Apache-2.0 许可发布,价格、收费模式或商业服务信息暂未提供。
- 训练数据与基准的最终格式化版本、RL 代码的可用时间暂未提供。