
人工智能大模型模型推理服务AscendCANN【免费下载链接】vllm-ascendCommunity maintained hardware plugin for vLLM on Huawei Ascend项目地址https://gitcode.com/gh_mirrors/vl/vllm-ascend点击查看免费下载Qwen3-ASR-1.7B 是 Qwen 团队推出的 1.7B 参数自动语音识别ASR模型vllm-ascend 社区插件已支持其在昇腾 NPU 上的推理服务。本文以官方教程 docs/source/tutorials/models/Qwen3-ASR-1.7B.md 为主体结合仓库中的模型支持矩阵、e2e 评估用例与图模式文档完整讲解环境准备、Docker/源码安装、单节点在线部署、OpenAI 兼容 API 功能验证、WER/CER 精度评估与性能调优并给出 Atlas 300I DUO 上的内存踩坑规避方案。读完本文你将能够在昇腾 A2 与 Atlas 300I DUO 上独立跑起一个可用的 ASR 在线服务并掌握其精度与性能的评估方法。1 模型与特性概览Qwen3-ASR-1.7B 是一个 1.7B 参数的自动语音识别模型核心能力包括中英文语音识别覆盖普通话与英文的转写中文方言与多语种语音识别支持中文方言及多种语言的语音输入歌声转录支持歌唱音频的歌词/文本转写长音频与流式推理能力支持长音频输入并提供流式推理。在 vllm-ascend 中该模型以vllm-asr模型类型接入见 tests/e2e/models/configs/Qwen3-ASR-1.7B.yaml 中的model_type: vllm-asr通过 OpenAI 兼容的/v1/chat/completions或/v1/audio/transcriptions接口对外提供服务。Qwen3-ASR-1.7B 随上游 vLLM v0.19.0 版本引入请使用与 vLLM 版本匹配的 vLLM-Ascend 镜像并参考支持特性列表确认当前发布状态。1.1 支持矩阵与硬件范围从仓库的支持矩阵A2/A3 与 Atlas 300I DUO 分区可以确认 Qwen3-ASR 的当前状态A2/A3 分区BF16支持Chunked Prefill、Automatic Prefix Cache、Tensor Parallel 等特性可用Atlas 300I DUO 分区Support ✅但BF16不支持即需以 float16 等低精度运行Chunked Prefill 与 Automatic Prefix Cache 可用Tensor Parallel 仅部分支持推荐的max-model-len为4096发布说明docs/source/user_guide/release_notes.md显示v0.19.1 起逐步扩展了 Atlas 300I DUO 上 Qwen3-ASR 的图执行等支持。特性配置的通用说明请参考特性指南例如图执行模式graph mode的配置会直接影响下文 Atlas 300I DUO 部署命令中的--compilation-config参数语义。2 前提条件模型权重权重版本硬件要求下载链接BF16一张昇腾 Atlas 800I A2 64 GB NPU或一张昇腾 Atlas 300I DUO 48 GB NPUModelScope路径说明将模型权重下载到您选择的目录并记录该路径确保后续部署命令中的模型路径与该目录一致。对于多节点部署请使用共享目录例如/root/.cache/。仓库中 e2e 精度测试使用的模型标识为Qwen/Qwen3-ASR-1.7B见 tests/e2e/models/configs/Qwen3-ASR-1.7B.yaml实际部署时既可以使用本地下载好的目录也可以直接传模型名让 vLLM 通过已配置的模型仓库如 ModelScope/HuggingFace拉取。3 环境安装3.1 Docker 镜像安装使用与硬件对应的 vLLM-Ascend Docker 镜像并将模型权重挂载路径替换为环境中的实际路径。Atlas A2 推理产品export IMAGEquay.io/ascend/vllm-ascend:{{ vllm_ascend_version }} docker run --rm \ --name vllm-ascend \ --shm-size1g \ --net host \ --device /dev/davinci0 \ --device /dev/davinci_manager \ --device /dev/devmm_svm \ --device /dev/hisi_hdc \ -v /usr/local/dcmi:/usr/local/dcmi \ -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \ -v /usr/local/Ascend/driver/lib64:/usr/local/Ascend/driver/lib64 \ -v /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info \ -v /etc/ascend_install.info:/etc/ascend_install.info \ -v /root/.cache:/root/.cache \ -it -d $IMAGE bashAtlas 300I DUOexport IMAGEquay.io/ascend/vllm-ascend:{{ vllm_ascend_version }}-310p docker run --rm \ --name vllm-ascend \ --shm-size10g \ --net host \ --device /dev/davinci0 \ --device /dev/davinci_manager \ --device /dev/devmm_svm \ --device /dev/hisi_hdc \ -v /usr/local/dcmi:/usr/local/dcmi \ -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \ -v /usr/local/Ascend/driver/lib64:/usr/local/Ascend/driver/lib64 \ -v /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info \ -v /etc/ascend_install.info:/etc/ascend_install.info \ -v /root/.cache:/root/.cache \ -it -d $IMAGE bash两条命令的差异点值得注意Atlas 300I DUO 使用带-310p后缀的镜像并且--shm-size从 1g 提升到 10g以适配该硬件上更大的共享内存需求。启动后验证容器运行状态与包版本docker ps --filter namevllm-ascend pip show vllm vllm-ascend预期结果docker ps列出状态为Up的容器pip show显示两个包的版本信息且版本与镜像标签匹配。3.2 源码安装如果希望从源码构建而不是使用 Docker 镜像请按照安装指南安装 vLLM-Ascend。注意Atlas 300I DUO源码安装可能会引入triton和triton-ascend依赖。在 Atlas 300I DUO 上运行 vLLM-Ascend 之前请先卸载它们pip uninstall -y triton-ascend triton验证源码安装pip show vllm-ascend另外若遇到ImportError: Please install vllm[audio] for audio support之类的多模态音频依赖报错公共 FAQdocs/source/faqs.md给出的处理方式是安装qwen-omni-utils包pip install qwen-omni-utils它会带入librosa及其相关依赖从而补齐音频处理能力。4 在线服务部署单节点单节点部署在单张 NPU 上同时运行音频预填充prefill和解码decode适用于开发、测试及小规模 ASR 服务。将your_model_path替换为本地模型目录或使用Qwen/Qwen3-ASR-1.7B通过已配置的模型仓库自动下载。Atlas A2 推理产品# 确保模型路径与下载时记录的目录一致 vllm serve your_model_path \ --served-model-name qwen3-asr \ --tensor-parallel-size 1 \ --max-model-len 4096 \ --gpu-memory-utilization 0.9 \ --enforce-eager \ --port 8000Atlas 300I DUO# 确保模型路径与下载时记录的目录一致 vllm serve your_model_path \ --served-model-name qwen3-asr \ --tensor-parallel-size 1 \ --gpu-memory-utilization 0.9 \ --dtype float16 \ --max-model-len 4096 \ --additional-config {ascend_compilation_config: {fuse_norm_quant: false,enable_npu_graph_ex:false}} \ --compilation-config {cudagraph_mode: FULL_DECODE_ONLY, cudagraph_capture_sizes: [1,4]} \ --port 80004.1 关键参数说明--tensor-parallel-size 1使用单张 NPU。仅在确认硬件和部署拓扑支持所选并行配置后再增加该值。--max-model-len 4096限制最大序列长度。在 Atlas 300I DUO 上务必显式指定一个保守值自动检测可能会分配过大的注意力掩码导致内存不足错误详见第 8 节 FAQ。--gpu-memory-utilization 0.9设置 vLLM 执行器可用的设备内存比例。如果其他工作负载共享 NPU请降低此值。--enforce-eager禁用图执行在 Atlas 300I A2 2UP 示例中用于兼容性。--dtype float16Atlas 300I DUO 下不支持 BF16见支持矩阵需显式使用 float16。--additional-config中的ascend_compilation_config关闭fuse_norm_quant与enable_npu_graph_ex避免在 Atlas 300I DUO 上触发不兼容的算子融合或图优化路径。--compilation-config指定cudagraph_mode: FULL_DECODE_ONLY与捕获尺寸[1,4]依据仓库的图模式文档FULL_DECODE_ONLY属于全图模式编译期通过 Npugraph_ex 对 FX 图做优化force_eagerTrue仅编译期、不捕获运行期再由 ACLGraph 捕获与重放cudagraph_capture_sizes显式限定捕获的批大小集合可减少捕获时的流资源占用。作为对照仓库的 e2e 精度测试配置tests/e2e/models/configs/Qwen3-ASR-1.7B.yaml在 Atlas A2 系列上使用tensor_parallel_size: 1、dtype: auto、max_model_len: 4096、gpu_memory_utilization: 0.8可供非 DUO 场景参考。4.2 启动成功标志当服务成功启动时日志中应包含Application startup complete。如果启动失败请参阅公共 FAQ。5 功能验证服务启动后可以通过发送提示来调用模型。以下 curl 示例使用 OpenAI 兼容的 Chat Completions API携带audio_url类型的内容curl http://localhost:8000/v1/chat/completions \ -H Content-Type: application/json \ -d { model: qwen3-asr, messages: [ { role: user, content: [ { type: audio_url, audio_url: { url: https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen3-ASR-Repo/asr_en.wav } } ] } ] }将localhost、8000和qwen3-asr分别替换为部署中实际使用的地址、端口和--served-model-name。预期结果HTTP 200返回的 JSON 响应中choices字段包含转录文本。除 Chat Completions 之外vllm-ascend 的 e2e 测试还通过/v1/audio/transcriptions端点进行批量转录仓库的 tests/e2e/models/test_asr_eval_correctness.py 使用client.audio.transcriptions.create(model..., file(audio.wav, wav_bytes, audio/wav), language...)逐条提交 WAV 音频音频先统一转换为 int16 编码见其中的audio_to_wav_bytes说明该模型同样支持 OpenAI 风格的转录 API 调用方式。6 精度评估WER / CER评估转写质量时WERWord Error Rate词错误率用于词级识别质量评估CERCharacter Error Rate字符错误率用于字符级识别质量评估。仓库提供了可复现的 ASR 精度评估实现tests/e2e/models/test_asr_eval_correctness.py其工作流程可作为自主评估的参考模板读取 YAML 配置如Qwen3-ASR-1.7B.yaml将serve段转换为vllm serve启动参数并启动一个 OpenAI 兼容服务通过 ModelScope 加载评测数据集如openslr/librispeech_asr的test/clean子集并对音频列使用Audio(decodeFalse)禁用自动解码避免依赖 CUDA 才能运行的 torchcodec改用soundfile解码按批调用转录接口得到假设文本hypotheses与数据集中的参考文本references对比对两侧文本做归一化转小写、去标点、折叠空白见normalize_text后用jiwer.wer计算 WER与配置中声明的 ground-truth WER 阈值对比RTOL 0.03即允许相对 3% 的退化容差ASR 因方差高于分类任务而采用比 lm_eval 的 5% 更宽松的容差并生成 Markdown 评估报告。在Qwen3-ASR-1.7B.yaml配置中librispeech_test_clean任务的 WER 阈值声明为0.0353.5%limit: 500限制采样条数hardware: Atlas A2 Series标明验证硬件。这意味着在 Atlas A2 上、以该配置启动服务后评测 500 条 LibriSpeech test-clean 音频WER 应保持在 3.5% 附近允许 3% 相对退化以内。7 性能评估与调优7.1 性能评估方法使用代表生产工作负载的音频样本来测量 ASR 服务性能。至少记录以下指标音频时长输入音频的持续时长请求并发数同时进行的请求数量端到端延迟从发起到返回的完整耗时实时因子RTFReal-Time Factor处理时长与音频时长之比RTF 1 表示处理速度快于实时播放速度其倒数 RTFx 1/RTF 可直观理解为1 秒音频需多少分之一秒处理吞吐量单位时间内处理的音频量或请求数。这样可确保音频预处理、请求构建、API 通信、推理和响应解析都包含在结果中。实际性能因硬件、音频时长、并发数和部署配置而异。在选择生产配置之前请分别评估短音频、长音频和并发请求三种场景。7.2 调优起点建议以下设置是起点而非全局最优配置请根据音频时长、并发数、延迟要求和可用 NPU 内存进行调整场景推荐起点关键考量低延迟--tensor-parallel-size 1、--max-model-len 4096使用短音频输入避免与其他工作负载共享 NPU。高吞吐量建立延迟基线后增加请求并发数监控 NPU 内存和端到端延迟不要使用合成的纯文本请求来模拟 ASR 流量因为真实 ASR 请求包含音频预处理与特征提取路径纯文本请求无法反映真实负载。长音频仅在需要时增加--max-model-len在 Atlas 300I DUO 上保持该值保守因为注意力掩码内存会随配置的最大长度增长。一般参数的调优请参考公共性能调优文档与图执行相关的cudagraph_mode语义与流资源问题处理请参考图模式指南。8 常见问题FAQ对于常见的环境、安装和通用参数问题请参阅公共 FAQ。本节覆盖模型与硬件特有的指导。Atlas 300I DUO 启动时内存不足症状服务器在初始化注意力机制时因内存不足错误而失败。原因在 Atlas 300I DUO 上自动检测到的大上下文长度可能会生成完整的因果注意力掩码其内存消耗随max_model_len呈二次方增长O(L²)。当上下文被自动探测得过大时注意力掩码即可耗尽 48 GB 设备内存。解决方案始终显式地将--max-model-len设置为保守值例如4096并在确认 NPU 内存可用后再增加该值。这也是前文 Atlas 300I DUO 部署命令强制携带--max-model-len 4096的原因——不要依赖自动检测。9 小结Qwen3-ASR-1.7B 在 vllm-ascend 上已具备完整的安装 → 部署 → 验证 → 评估 → 调优闭环A2 系列可开箱即用地以 BF16 跑vllm serveAtlas 300I DUO 则需要显式--dtype float16、保守的--max-model-len与特定的编译/图配置功能验证可通过 OpenAI 兼容的 Chat Completions 或音频转录 API 完成精度与性能评估可参照仓库 e2e 测试test_asr_eval_correctness.py 与 Qwen3-ASR-1.7B.yaml的方法与指标WER/CER、RTF、吞吐量自行复现。赞分享人工智能大模型模型推理服务AscendCANN【免费下载链接】vllm-ascendCommunity maintained hardware plugin for vLLM on Huawei Ascend项目地址https://gitcode.com/gh_mirrors/vl/vllm-ascend点击查看免费下载相关推荐昇腾 NPU 上部署 Cohere Transcribe基于 vLLM-Ascend 的 ASR 服务部署与评估指南昇腾 NPU 上部署 Cohere Transcribe基于 vLLM Ascend 的 ASR 服务部署与评估指南 本文是一份面向 vLLM Ascend人工智能大模型模型推理服务AscendCANN昇腾 Ascend NPU 上基于 vllm-ascend 部署 Qwen3.6-35B-A3B 推理服务全指南昇腾 Ascend NPU 上基于 vllm ascend 部署 Qwen3.6 35B A3B 推理服务全指南 Qwen3.6 35B A3B 是通义实验室发大模型人工智能教程本地部署微调Qwen3-8B 昇腾 NPU 部署实战基于 vLLM-ascend 插件的高效推理服务搭建指南Qwen3 8B 昇腾 NPU 部署实战基于 vLLM ascend 插件的高效推理服务搭建指南 本指南以《开源大模型食用指南》self llm仓库中 m教程大模型本地部署微调上一篇音乐解密不再求人浏览器免费解锁QQ音乐与网易云音乐加密音频下一篇B站CC字幕下载教程5分钟把字幕转成SRT一条命令搞定创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考