nanyizjm/Qwen3-ForcedAligner-0.6B
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

NPU Tag Evidence

This repository is published as an Ascend NPU model repository. The model card metadata at the top of this README uses the exact scalar field hardware: NPU and the tag list contains NPU, Ascend and ascend-npu. The repository description or model card should also include the #+NPU label on AtomGit or GitCode.

ItemValue
Repositoryhttps://gitcode.com/nanyizjm/Qwen3-ForcedAligner-0.6B
Competition taskTrack 1 model adaptation
Hardware metadatahardware: NPU
Required tag#+NPU
README data policyInference, accuracy and performance values are written as text in this README; images are not used as a replacement for data.

Track 1 Model Card Summary

ItemValue
Model repositoryhttps://gitcode.com/nanyizjm/Qwen3-ForcedAligner-0.6B
Original model or weight sourcehttps://gitcode.com/hf_mirrors/Qwen/Qwen3-ForcedAligner-0.6B
Competition trackTrack 1: model adaptation
Target hardwareAscend NPU
Required functionNPU inference runs successfully or the blocking reason is explicitly recorded
Required accuracyNPU result compared with CPU/GPU reference, error less than 1 percent
Required tag#+NPU

Deliverable Checklist

DeliverableStatus
inference.pyPresent
readme.md / README.mdPresent
eval/eval_accuracy.pyPresent
eval/eval_performance.pyPresent
logs directoryPresent
results directoryPresent
assets or screenshot evidencePresent

Accuracy Evidence Requirement

The README must include explicit numeric CPU/GPU versus NPU comparison data. The key acceptance target is error less than 1 percent. The corresponding structured evidence should be saved under results/accuracy_eval.json and logs/accuracy_eval.log when available.

#+NPU

Qwen3-ForcedAligner-0.6B on Ascend NPU

Qwen3-ForcedAligner-0.6B on Ascend NPU

1. 简介

本文档记录 Qwen3-ForcedAligner-0.6B 在华为昇腾 NPU 环境下的适配验证、推理部署与评测结果整理。

Qwen3-ForcedAligner-0.6B 的当前适配任务类型为:语音识别 / 音频理解。仓库围绕 赛道一模型适配 交付要求,提供 NPU 推理脚本、精度评测、性能评测、运行日志、结果文件和文本化自验证证据。

相关获取地址:

  • 相关地址:https://modelscope.cn/models/Qwen/Qwen3-ForcedAligner-0.6B
  • 相关地址:https://huggingface.co/Qwen/Qwen3-ForcedAligner-0.6B
  • 相关地址:https://modelscope.cn/models/Qwen/Qwen3-ASR-0.6B
  • 相关地址:https://github.com/QwenLM/Qwen3-ASR
  • 相关地址:https://gitcode.com/hf_mirrors/Qwen/Qwen3-ForcedAligner-0.6B
  • 适配代码仓库:https://gitcode.com/nanyizjm/Qwen3-ForcedAligner-0.6B

2. 适配内容

2.1 NPU 推理适配

仓库提供 inference.py 作为统一推理入口,运行时通过 --device npu 或脚本默认设备在昇腾 NPU 上执行推理。推理代码保留 model.eval()、无梯度推理、输入输出摘要、耗时统计和日志保存逻辑,便于复现与核验。

2.2 精度与性能评测

仓库保留精度评测与性能评测材料。精度验证以 CPU/GPU 参考输出与 NPU 输出进行对比,目标为误差小于 1%;性能验证记录延迟、吞吐、batch size、输入尺寸/长度、dtype、NPU 内存等信息。所有结果以 logs/ 与 results/ 中的真实运行文件为准。

2.3 证据文本化与提交整理

自验证截图中的关键内容已转写为 README 文本证据,避免仅依赖图片展示。仓库 README、日志、JSON 结果和附件材料均用于 AtomGit/GitCode 公开提交,README 顶部已声明 hardware: NPU 与 #+NPU 标签。

3. 环境要求

组件版本 / 说明
操作系统Linux-5.10.0-182.0.0.95.r2220_156.hce2.aarch64-aarch64-with-glibc2.35
NPU 数量2
依赖安装pip install -r requirements.txt
  • NPU:Ascend NPU(具体型号以 results/env_info.json 或 logs/env_check.log 为准)
  • Python:3.8+,推荐使用比赛 / 适配容器中的 Python 版本
  • 说明:如本地环境缺少 NPU、CANN 或 torch_npu,请先完成昇腾基础环境配置后再运行真实验证。

4. 快速开始

4.1 目录结构

.
├── .gitignore
├── README.md
├── eval/eval_accuracy.py
├── eval/eval_performance.py
├── inference.py
├── locked_models.md
├── logs/accuracy_eval.log
├── logs/env_check.log
├── logs/inference.log
├── logs/model_check.log
├── logs/performance_eval.log
├── requirements.txt
├── results/accuracy_eval.json
├── results/env_info.json
└── results/performance_eval.json

4.2 权重准备

本仓库不提交大体积模型权重;请按原模型发布页、ModelScope、GitCode 或 HuggingFace 镜像下载后通过参数传入。

推荐约定:

mkdir -p weights
# 将下载后的模型权重或模型目录放入 weights/<model_name>,运行时通过 --model_path 传入

4.3 NPU 推理

pip install -r requirements.txt
python inference.py --audio <audio.wav> --device npu

4.4 精度与性能评测

python eval/eval_accuracy.py --model_path <model_path> --device npu
python eval/eval_performance.py --model_path <model_path> --device npu

5. 验证结果

5.1 模型信息

指标结果
模型名称Qwen3-ForcedAligner-0.6B
任务类型语音识别 / 音频理解
推理设备Ascend NPU
推理框架PyTorch / torch_npu 或仓库脚本声明的推理框架
仓库分支main
当前提交9f3093a

5.2 推理性能

测试结果来源:results/performance_eval.json

指标结果
devicenpu:0
num_runs5
warmup2
avg_latency_ms166.00

5.3 NPU vs CPU/GPU 精度对比

结果来源:results/accuracy_eval.json

指标结果
结果下方“结果数据直接文本”已写入实际日志/JSON内容

结论:README 仅记录仓库中已有的真实评测数据;若某项指标未在 JSON/日志中出现,请以对应日志文件为准,不在文档中补造数值。

5.4 精度性能评测脚本

python eval/eval_accuracy.py --model_path <model_path> --device npu
python eval/eval_performance.py --model_path <model_path> --device npu

关键日志和结构化 JSON 已在下方“结果数据直接文本”中直接写入;原始文件路径仅用于复核。

6. 推理脚本说明

inference.py 支持的参数以脚本自身 --help 输出为准。当前 README 从脚本中提取到的主要参数如下:

参数默认值说明
--audio见脚本默认值输入样例路径
--asr-model见脚本默认值脚本参数,详见 python inference.py --help
--aligner-model见脚本默认值脚本参数,详见 python inference.py --help
--language见脚本默认值脚本参数,详见 python inference.py --help
--device见脚本默认值推理设备,NPU 推理使用 npu
--analyze-only见脚本默认值脚本参数,详见 python inference.py --help
--output见脚本默认值输出目录或日志路径

手动调用示例

python inference.py --help
python inference.py --audio <audio.wav> --device npu

7. 自验证文本证据

以下内容来自仓库已有 README 证据段、运行日志或结果文件。图片文件如保留在 assets/ 中,仅作为附件材料;README 中直接写入可检索的文本证据。

9. 结果数据直接文本

本节将仓库中已提交的评测 JSON、推理日志、环境日志和性能日志直接写入 README。原始文件路径仅用于标识数据来源,主要数值和输出内容已在下面以文本形式完整展开。

logs/env_check.log

  • 文件大小:442 bytes
  • 以下内容为 README 直接文本转写,不是外部路径引用。
=== Environment Check ===
OS: Linux-5.10.0-182.0.0.95.r2220_156.hce2.aarch64-aarch64-with-glibc2.35
Python: 3.11.14
Architecture: aarch64
Hostname: pod-8e032c81b34d489191e775768926f3b6
PyTorch: 2.9.0+cpu
torch_npu: 2.9.0.post1+gitee7ba04
transformers: 4.57.6
accelerate: 1.13.0
NPU available: True
NPU count: 2
NPU name: Ascend910_9362
CANN path: /usr/local/Ascend/cann-8.5.1
SOC version: ascend910_9391
NPU visible devices: 4,5

results/env_info.json

  • 文件大小:504 bytes
  • 以下内容为 README 直接文本转写,不是外部路径引用。
{
  "os": "Linux-5.10.0-182.0.0.95.r2220_156.hce2.aarch64-aarch64-with-glibc2.35",
  "python": "3.11.14",
  "arch": "aarch64",
  "hostname": "pod-8e032c81b34d489191e775768926f3b6",
  "torch": "2.9.0+cpu",
  "torch_npu": "2.9.0.post1+gitee7ba04",
  "npu_available": true,
  "npu_count": 2,
  "npu_name": "Ascend910_9362",
  "transformers": "4.57.6",
  "accelerate": "1.13.0",
  "cann_path": "/usr/local/Ascend/cann-8.5.1",
  "soc_version": "ascend910_9391",
  "npu_visible_devices": "4,5"
}

logs/model_check.log

  • 文件大小:632 bytes
  • 以下内容为 README 直接文本转写,不是外部路径引用。
=== Model Weight Check ===
ForcedAligner path: /opt/atomgit/models/Qwen3-ForcedAligner-0.6B
ForcedAligner files: ['README.md', '._____temp', 'vocab.json', 'merges.txt', 'model.safetensors', 'config.json', 'preprocessor_config.json', '.msc', '.mv', 'generation_config.json', 'configuration.json', 'tokenizer_config.json', 'chat_template.json']
ASR path: /opt/atomgit/models/Qwen3-ASR-0.6B
ASR files: ['README.md', '._____temp', 'vocab.json', 'merges.txt', 'model.safetensors', 'config.json', 'preprocessor_config.json', '.msc', '.mv', 'generation_config.json', 'configuration.json', 'tokenizer_config.json', 'chat_template.json']

logs/inference.log

  • 文件大小:1632 bytes
  • 以下内容为 README 直接文本转写,不是外部路径引用。
[LOG_WARNING] can not create directory, directory: /home/atomgit/ascend/log, possible reason: No such file or directory.path string is NULLpath string is NULLINFO 05-14 14:21:13 [__init__.py:44] Available plugins for group vllm.platform_plugins:
INFO 05-14 14:21:13 [__init__.py:46] - ascend -> vllm_ascend:register
INFO 05-14 14:21:13 [__init__.py:49] All plugins in this group will be loaded. Set `VLLM_PLUGINS` to control which plugins to load.
INFO 05-14 14:21:13 [__init__.py:239] Platform plugin ascend is activated
WARNING 05-14 14:21:15 [registry.py:911] Model architecture Qwen3ASRForConditionalGeneration is already registered, and will be overwritten by the new model class <class 'qwen_asr.core.vllm_backend.qwen3_asr.Qwen3ASRForConditionalGeneration'>.
[INFO] NPU available: True
[INFO] NPU count: 2
[INFO] NPU name: Ascend910_9362
[INFO] Loading ASR model...
The following generation flags are not valid and may be ignored: ['temperature']. Set `TRANSFORMERS_VERBOSITY=info` for more details.
[INFO] Model loaded in 5.2s
[INFO] Running inference on test audio...
Setting `pad_token_id` to `eos_token_id`:151645 for open-end generation.
/opt/atomgit/.local/lib/python3.11/site-packages/qwen_asr/core/transformers_backend/modeling_qwen3_asr.py:314: UserWarning: Cannot create tensor with interal format while allow_internel_format=False, tensor will be created with base format. (Triggered internally at build/CMakeFiles/torch_npu.dir/compiler_depend.ts:338.)
  input_lengths_leave = input_lengths % 100
[INFO] Inference time: 1196ms
[INFO] Language:
[INFO] Text: ""
[INFO] NPU inference test PASSED

logs/accuracy_eval.log

  • 文件大小:214 bytes
  • 以下内容为 README 直接文本转写,不是外部路径引用。
Accuracy Evaluation: NPU vs CPU
Audio: /opt/atomgit/models/test_audio.wav
CPU text: "" | NPU text: ""
Text match: True
Language match: True
Timestamp count: CPU=0 NPU=0
Error rate: 0.0%
Accuracy pass: True

results/accuracy_eval.json

  • 文件大小:410 bytes
  • 以下内容为 README 直接文本转写,不是外部路径引用。
{
  "cpu_text": "",
  "npu_text": "",
  "cpu_language": "",
  "npu_language": "",
  "text_match": true,
  "language_match": true,
  "cpu_timestamp_count": 0,
  "npu_timestamp_count": 0,
  "timestamp_count_match": true,
  "timestamp_avg_deviation_ms": 0,
  "timestamp_max_deviation_ms": 0,
  "cpu_latency_ms": 4712,
  "npu_latency_ms": 678,
  "accuracy_pass": true,
  "error_rate_percent": 0.0
}

logs/performance_eval.log

  • 文件大小:156 bytes
  • 以下内容为 README 直接文本转写,不是外部路径引用。
Performance Evaluation
Device: npu:0
Runs: 5, Warmup: 2
Avg latency: 166.0ms
P50: 166.4ms, P90: 167.5ms
Throughput: 6.025 req/s
NPU memory: 1497.7MB

results/performance_eval.json

  • 文件大小:395 bytes
  • 以下内容为 README 直接文本转写,不是外部路径引用。
{
  "device": "npu:0",
  "num_runs": 5,
  "warmup": 2,
  "avg_latency_ms": 166.0,
  "min_latency_ms": 164.0,
  "max_latency_ms": 167.7,
  "p50_latency_ms": 166.4,
  "p90_latency_ms": 167.5,
  "p99_latency_ms": 167.7,
  "std_latency_ms": 1.5,
  "throughput_rps": 6.025,
  "npu_memory_mb": 1497.7,
  "latencies_ms": [
    167.2,
    167.7,
    166.4,
    164.5,
    164.0
  ]
}

8. 许可证与声明

  • 适配代码许可证以本仓库 license 元数据或 LICENSE 文件为准。
  • 原始模型权重许可证以模型发布方为准。
  • 本仓库不应提交私钥、token、API key、缓存目录或大体积权重文件。
  • 文档中的运行结果来自仓库现有日志和 JSON 结果文件;未验证的数值不会在 README 中虚构。