跳转至

Cohere Transcribe

1 简介

Cohere Transcribe 是 Cohere 提供的一系列自动语音识别(ASR)模型,基于 2B 参数 Conformer 编码器-解码器架构,支持 14 种语言(英语、法语、德语、意大利语、西班牙语、葡萄牙语、希腊语、荷兰语、波兰语、中文(普通话)、日语、韩语、越南语和阿拉伯语)。

本文档涵盖已在 Ascend NPU 上验证的两个模型版本:

版本 描述 验证方
CohereLabs/cohere-transcribe-03-2026 基础多语言模型(14 种语言) 同事验证,结果记录在内部评估报告中
CohereLabs/cohere-transcribe-arabic-07-2026 阿拉伯语微调模型 内部评估报告(在 Atlas A2 产品上测量 WER / RTFx)

本文档描述了 Cohere Transcribe 在 Ascend NPU 上的支持功能、环境准备、单节点部署、功能验证和评估流程。

Cohere Transcribe 受上游 vLLM 支持(通过 cohere_asr 模型实现)。请使用与您的 vLLM 版本匹配的 vLLM-Ascend 镜像,并参考支持矩阵了解当前发布状态。

当前版本已适配 Atlas A2 推理产品。对 950DT 产品的支持计划在下一阶段提供。

2 支持的功能

请参考 支持功能列表 了解模型支持矩阵。

请参考 功能指南 了解功能配置信息。

3 前提条件

3.1 模型权重

从以下任一来源下载模型权重:

权重版本 硬件要求 下载链接
BF16 1 个 Atlas A2 64 GB NPU ModelScope | Hugging Face(03-2026) | Hugging Face(07-2026) | GitCode 镜像 (03-2026)

请注意,模型仓库包含自定义建模代码,因此提供服务时需要 --trust-remote-code。

将权重下载到部署环境可访问的目录。对于多节点部署,请使用共享目录;例如 /root/.cache/。

4 安装

4.1 Docker 镜像安装

请使用与您的硬件对应的 vLLM-Ascend Docker 镜像。请将模型权重挂载替换为您环境中使用的路径。

export IMAGE=quay.io/ascend/vllm-ascend:v0.23.0

docker run --rm \
    --name vllm-ascend \
    --shm-size=1g \
    --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

验证容器正在运行,并且已安装的软件包版本与镜像标签匹配:

docker ps --filter name=vllm-ascend
pip show vllm vllm-ascend

预期结果:docker ps 列出状态为 Up 的容器,pip show 显示两个软件包的版本信息。

Note

如果您构建自定义镜像(例如,基于与您的 vLLM 版本匹配的 vLLM-Ascend 镜像),请在提供 Cohere Transcribe 服务之前确保容器中已安装 librosa:

pip install librosa

4.2 源代码安装

如果您希望从源代码构建而不是使用 Docker 镜像,请按照 安装指南 安装 vLLM-Ascend。

要验证源代码安装:

pip show vllm-ascend

5 在线服务部署

5.1 单节点在线部署

单节点部署在单个 NPU 上同时运行音频预填充和解码,适用于开发、测试和小型 ASR 服务。两个模型版本都可以使用相同参数部署在一个 Atlas A2 NPU 上;只有模型权重路径不同。

以下示例适用于 Atlas A2 推理产品。

export ASCEND_RT_VISIBLE_DEVICES=0
export HF_HUB_OFFLINE=1
export TRANSFORMERS_OFFLINE=1

vllm serve /data/llm-workspace/cohere-transcribe-03-2026 \
  --served-model-name cohere-transcribe \
  --trust-remote-code \
  --tensor-parallel-size 1 \
  --dtype bfloat16 \
  --enforce-eager \
  --block-size 128 \
  --host 0.0.0.0 \
  --port 8000
export ASCEND_RT_VISIBLE_DEVICES=0
export HF_HUB_OFFLINE=1
export TRANSFORMERS_OFFLINE=1

vllm serve /data/llm-workspace/cohere-transcribe-arabic-07-2026 \
  --served-model-name cohere-transcribe \
  --trust-remote-code \
  --tensor-parallel-size 1 \
  --dtype bfloat16 \
  --enforce-eager \
  --block-size 128 \
  --host 0.0.0.0 \
  --port 8000

Note

  • 需要 --trust-remote-code,因为模型仓库包含自定义建模代码。
  • 需要 --block-size 128:模型必须以至少 128 的块大小提供服务。
  • --tensor-parallel-size 1 使用一个 NPU。只有在确认硬件和部署拓扑支持所选并行配置后,才增加该值。
  • --dtype bfloat16 与已在 Atlas A2 产品上验证的 BF16 部署相匹配。
  • 如果模型权重已提前下载到本地目录,建议设置 HF_HUB_OFFLINE 和 TRANSFORMERS_OFFLINE。

当服务成功启动时,日志中包含 Application startup complete。如果启动失败,请参阅公共 FAQ。

6 功能验证

服务启动后,可以通过发送音频提示来调用模型。

Chat Completions API:

curl http://localhost:8000/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d '{
        "model": "cohere-transcribe",
        "messages": [
            {
                "role": "user",
                "content": [
                    {
                        "type": "audio_url",
                        "audio_url": {
                            "url": "https://example.com/your_audio.wav"
                        }
                    }
                ]
            }
        ]
    }'

请将 localhost、8000 和 cohere-transcribe 替换为您的部署所使用的地址、端口和 --served-model-name。预期结果:HTTP 200,以及一个 JSON 响应,其中转写结果位于 choices 字段中。

7 准确性评估

使用词错误率(WER)评估词级别识别的转写质量,使用字符错误率(CER)评估字符级别识别的转写质量。

7.1 cohere-transcribe-03-2026(基础多语言模型)

已由同事在 07-2026 相同的基准上验证(参见第 7.2 节)。结果记录在内部评估报告中,该报告将两个版本并排比较。

指标 结果(100 个 Common Voice 阿拉伯语样本)
WER 9.06%
CER 2.96%

7.2 cohere-transcribe-arabic-07-2026(阿拉伯语微调模型)

在内部评估报告中,基于 Atlas A2 产品测量。

在 Common Voice 18(CV18)阿拉伯语测试集(10,471 个样本)上,该模型的 WER 为 5.69%,接近官方结果(5.82%)。WER 分布如下:

指标 结果
WER = 0(完美识别) 2,931 / 10,471 (28.0%)
WER < 5% 6,990 / 10,471 (66.8%)
WER < 10% 8,116 / 10,471 (77.5%)
WER < 20% 9,145 / 10,471 (87.3%)

在用于 03-2026 的相同 100 个 Common Voice 阿拉伯语样本上,07-2026 模型达到:

指标 结果(100 个 Common Voice 阿拉伯语样本)
WER 5.28%
CER 1.27%

07-2026 阿拉伯语微调模型在阿拉伯语上显著优于 03-2026 基础模型(WER 5.28% 对比 9.06%,CER 1.27% 对比 2.96%),表明微调版本推荐用于阿拉伯语生产使用。

8 性能评估

使用代表生产工作负载的音频样本测量 ASR 服务性能。至少记录音频时长、请求并发数、端到端延迟、实时因子和吞吐量。这确保结果中包含音频预处理、请求构建、API 通信、推理和响应解析。

两个模型均在相同的 100 个 Common Voice 阿拉伯语样本(音频总时长 440 秒)上,使用相同的推理栈(vLLM 0.23.0 + vllm-ascend)进行评估。内部评估报告中的结果如下:

指标 07-2026 阿拉伯语 03-2026(基础)
RTF 0.100 0.107
RTFx 10.0 9.4
100 个样本的推理时间 44 秒 47 秒

07-2026 阿拉伯语模型略快(RTF 0.100 对比 0.107,约快 6.5%),同时提供显著更好的阿拉伯语准确性。

实际性能会随硬件、音频时长、并发数和部署配置而变化。在选择生产配置之前,请分别评估短音频、长音频和并发请求。

9 性能调优

以下设置是起点,而非全局最优配置。请根据音频时长、并发数、延迟要求和可用 NPU 内存进行调整。

场景 推荐起点 关键注意事项
低延迟 --tensor-parallel-size 1、--block-size 128 使用短音频输入,并避免与其他工作负载共享 NPU。
高吞吐量 在建立延迟基线后增加请求并发数 监控 NPU 内存和端到端延迟;不要使用合成的纯文本请求作为 ASR 流量的替代。
长音频 仅在需要时增加 --max-model-len 保持该值保守,因为注意力掩码内存会随配置的最大长度增长。

对于通用参数调优,请参阅公共性能调优文档。

10 FAQ

对于常见环境、安装和通用参数问题,请参阅公共 FAQ。本节涵盖模型及硬件特定指导。

服务器因内存不足错误启动失败

症状: 服务器在初始化注意力时因内存不足错误而失败。

原因: 自动检测到的较大上下文长度可能会创建完整的因果注意力掩码,其内存消耗随 max_model_len 呈二次方增长。

解决方案: 如果出现内存不足错误,请将 --max-model-len 显式设置为保守值(例如 4096),并在验证可用 NPU 内存后再增加。同时确认已按模型要求使用 --block-size 128。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 vl/vllm-ascend