Instructions to use erquren/Qwen3-ASR-0.6B-RK with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- RKLLM
How to use erquren/Qwen3-ASR-0.6B-RK with RKLLM:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
Qwen3-ASR-0.6B:RK3588 / RK3576 / RV1126B
仓库目录与部署入口
| 目录 | 用途 | 工具链 / 验证范围 |
|---|---|---|
shared/onnx/ |
公共 2 / 4 / 15 秒 encoder ONNX,FP32 / FP16 | 与原 RK3588 目录中的源文件逐字节一致;不是芯片二进制 |
shared/decoder_hf/ |
公共 tokenizer、FP32 embedding、decoder 配置 | 不含 decoder model.safetensors |
shared/preprocessor/ |
公共 mel filters 与预处理配置 | 所有目标共享 |
rk3588/ |
历史 RK3588 RKNN / RKLLM、报告和校验清单 | RKNN 2.3.2 / RKLLM 1.2.3;历史主机验证,无板测 |
rk3576/ |
RK3576 专用 RKNN / RKLLM、报告和校验清单 | RKNN 2.5.0 / RKLLM 1.3.1;decoder 2 核 |
rv1126b/ |
RV1126B 专用 RKNN / RKLLM、报告和校验清单 | RKNN 2.5.0 / RKLLM 1.3.1;decoder 1 核 |
新下载请使用 shared/ 中的公共文件,再搭配对应芯片目录的二进制。 不要跨芯片使用 .rknn / .rkllm 文件,也不要混淆新旧 SDK 对应的 runtime。RK3576 / RV1126B 已完成主机编译及每个 encoder 桶的一条语音 golden simulator 对比;未做实机推理、速度或 RKLLM 量化识别精度测试。
为兼容已有链接和固定 revision 复现,原 rk3588/onnx/、rk3588/decoder_hf/、rk3588/preprocessor/ 完整保留,内容不变;它们现在是公共文件的旧路径兼容副本,而不是新的下载入口。原 rk3588/manifest.json、SHA256SUMS、报告和所有芯片二进制均未改写。公共文件用仓库内复制建立,不重新导出、不重命名芯片二进制。
公共文件完整性可用 shared/SHA256SUMS 检查。机器可读目录索引、公共文件来源与对应 runtime 版本见 repository-manifest.json。新目标复现与 canonical 下载方式见 复现说明。下文明确区分 RK3588 历史结果与新目标结果;目录整理没有增加任何精度或板测结论。
RK3588 历史导出与验证记录
从官方 Qwen/Qwen3-ASR-0.6B 固定 revision 5eb144179a02acc5e5ba31e748d22b0cf3e303b0 转换。
主要用途是 导出支持 RKNN 转换的 encoder ONNX,并提供独立 decoder 的 RKLLM 文件。
已完成主机导出、数值对比、小样本中文识别回归;尚未完成 RK3588 实机验证或 RKLLM 量化后识别精度测试。
15 秒 RKNN 编译仍有 Unkown op target: 0 诊断,且 encoder 图有 CPU 算子回退。不要把这些文件视为已经板测的纯 NPU 生产部署包。
文件
| 目录 | 内容 |
|---|---|
shared/onnx/ |
2 / 4 / 15 秒静态 encoder,FP32 和 FP16 ONNX;opset 18 |
rk3588/rknn/ |
2 / 4 / 15 秒 FP16 encoder,RK3588,RKNN Toolkit2 2.3.2 |
rk3588/rkllm/decoder.fp16.rk3588.rkllm |
独立 decoder FP16,1,529,743,212 bytes |
rk3588/rkllm/decoder.w8a8.rk3588.rkllm |
独立 decoder W8A8,936,054,076 bytes |
shared/decoder_hf/ |
部署用 FP32 embed_tokens.npy、tokenizer、词表、chat template、配置 |
shared/preprocessor/ |
官方 mel filters [201,128] FP32,以及 preprocessor config |
rk3588/reports/asr_summary.json |
简洁中文 CER 汇总;模型来源和 SHA-256 见发布清单 |
shared/decoder_hf/ 没有独立 decoder 的 model.safetensors,不能直接作为完整 HF 模型加载。需要复现/再转换时,可用代码仓库的提取脚本从官方原始模型重建。原始完整 ASR 权重、录音、校准 embedding 数组、失败产物和 SDK wheel 不包含在此仓库。
中文识别精度:RK3588 历史主机结果
2026-10-10,Google FLEURS cmn_hans_cn/test 的固定 5 条完整录音,33.84 秒,129 个归一化参考字符。
四个路径使用相同官方 processor/Chinese prompt 和 CPU FP32 decoder,greedy decoding。
| 路径 | CER | 相对原模型变化 |
|---|---|---|
| 官方原模型 FP32 greedy | 0.7752%(1/129) | — |
| ONNX FP32 encoder + HF decoder | 0.7752%(1/129) | 0 个百分点 |
| ONNX FP16 encoder + HF decoder | 0.7752%(1/129) | 0 个百分点 |
| RKNN host simulator encoder + HF decoder | 0.7752%(1/129) | 0 个百分点 |
5/5 条原始识别文本及生成 token IDs 均相同;唯一 CER 错误是“转送”被识别成“转转送”。无失败、无截断、无错误样本剔除。CER 使用 NFKC/casefold、去除 Unicode 标点与空白后的累计 Levenshtein 错误数 / 累计参考字符数。
这是 encoder 转换的短句回归,不是全量基准精度。全部录音为 5.04–7.74 秒,因此识别回归只覆盖 15 秒桶;2/4 秒桶另有 tensor 级数值验证。 RKLLM FP16 / W8A8 没有运行识别推理,不能把上表当作 RKLLM 量化后的 CER。
简洁汇总见 rk3588/reports/asr_summary.json;逐条参考/输出和复现方法见代码仓库的精度文档,原始测试 JSON 与日志保留在本地。语料与 W8A8 校准的英文 JFK 音频分开;不声称 Qwen 的原始预训练一定未用过 FLEURS。
RK3588 历史转换与数值验证
- 2/4/15 秒 ONNX FP32、FP16:导出、ONNX checker、ONNX Runtime CPU 对比通过。
- 2/4/15 秒 RKNN:load/build/export 返回 0,host simulator 数值对比通过。
- encoder 全部测试中:FP32 ONNX 最大 relative L2 约
1.053e-5;FP16 ONNX 约0.001539;RKNN simulator 约0.005397。具体容差及数值汇总见代码仓库的验证文档。 - 独立 decoder 与官方 decoder 的 16 项 CPU FP32 比较逐位一致,包括 KV cache、padding、RoPE 和完整 FP32 embedding 表。
- RKLLM 1.2.3,目标 RK3588、3 核、max_context 4096:FP16 和 W8A8 的 load/build/export 均成功。
- W8A8 使用真实 2/4/15 秒 encoder 输出加官方文本 prompt 做校准,共 3 个输入、44/70/213 token。它们来自同一个英文语音,只是校准链 smoke test,不是代表性多语种/多场景校准。
- W8A8 前两次在序列化阶段被 SIGKILL;释放主机 RAM 压力、CPU FP16 加载和标准 allocator 回收后,同一 3 输入重试成功。失败日志未被当作成功证据。
最终 decoder SHA-256:
FP16 b186eae6e5e22be630363d1c1ae6509beb8a90896458ec8fd53da9ad1536af55
W8A8 0e9942a3c9723a760dd8283081fcc7a032c28d66c3f1e41df2506746984f0d15
Encoder 输入约定
| 桶 | input_features | attention_mask | audio_embeds |
|---|---|---|---|
| 2 s | [1,128,200] |
[1,1,26,26] |
[1,26,1024] |
| 4 s | [1,128,400] |
[1,1,52,52] |
[1,52,1024] |
| 15 s | [1,128,1500] |
[1,1,195,195] |
[1,195,1024] |
ONNX 外部 I/O 是 FP32,即使文件名为 FP16。使用 RKNN Runtime 时应查询实际 tensor dtype/layout,不要根据 ONNX 或文件名猜测。
- batch=1;16 kHz 音频,官方 WhisperFeatureExtractor,128 mel bins,FFT400 / hop160。
- 每 100 mel 帧单独经过卷积,位置编码重置,输出 13 token;最终 projection 为 1024 维。
- additive mask:允许=0,禁止=-10000;默认双向窗口 104 token,15 秒为
[104,91]。 - 本次支持至少 100 个有效 mel 帧。先提取真实 mel,再把有效长度后的 mel 填零;波形静音 padding 与 mel 零 padding 不是同一语义。
- 屏蔽 padding key,并只把前
13*(valid_frames//100)+ceil((valid_frames%100)/8)个输出 token 送入 decoder。 - 官方 qwen-asr 0.0.6 eager 的长音频注意力没有应用其 cu_seqlens 窗口;本项目用原生 layer 分段执行构造分窗参考。中文回归音频均不超过 800 mel 帧,避免该区别。
RK3588 历史部署限制
- 15 秒 RKNN 编译器打印一次
E RKNN: Unkown op target: 0。虽然 export 与 host simulation 通过,仍需在真实 RK3588 上确认,未认定该诊断无害。 - GELU 展开的 22 个 Erf 算子有 CPU 回退;不能宣称全部算子在 NPU 执行。
- 未验证真实 RK3588 的模型加载、RKLLM external embedding 接口、KV cache、EOS、准确率、稳定性或速度。
- FP16 ONNX 对比的是官方 FP32 参考,不是原生官方 FP16 所有分支的逐算子等价证明。
- 5 条中文 / 129 字不能证明全任务无精度损失;W8A8 的 3 条同源英文校准样本也不足以保证量化识别质量。
RK3588 历史复现代码
erquren/qwen3-asr:导出、RKNN/RKLLM 转换、独立 decoder parity、真实语音识别与 CER、完整输入约定和测试摘要。 工具链分别使用:导出 Transformers4.57.6 / Torch2.6.0 CPU;RKNN Toolkit2 2.3.2;RKLLM Toolkit1.2.3 / Transformers4.55.2。三个环境应分开。
许可与归属
官方 Qwen3-ASR-0.6B 权重及本项目原创转换代码遵循 Apache License2.0。Rockchip SDK/runtime 遵循其自身条款,未打包或重新许可。
报告中的 FLEURS 参考文本来自 Google FLEURS,Conneau et al., FLEURS: Few-shot Learning Evaluation of Universal Representations of Speech (2022),论文,依 CC BY4.0 使用。参考原文未改写,CER 归一化另行说明;未包含音频。
RK3576 / RV1126B additions (RKNN 2.5.0 / RKLLM 1.3.1)
| Target | File | Bytes | Host simulator |
|---|---|---|---|
| rk3576 | rk3576/rkllm/decoder.fp16.rk3576.rkllm |
1539862988 | not applicable / not run |
| rk3576 | rk3576/rkllm/decoder.w8a8.rk3576.rkllm |
947185356 | not applicable / not run |
| rk3576 | rk3576/rknn/encoder-15s.fp16.rk3576.rknn |
391836978 | passed |
| rk3576 | rk3576/rknn/encoder-2s.fp16.rk3576.rknn |
384572398 | passed |
| rk3576 | rk3576/rknn/encoder-4s.fp16.rk3576.rknn |
386398062 | passed |
| rv1126b | rv1126b/rkllm/decoder.fp16.rv1126b.rkllm |
1517278940 | not applicable / not run |
| rv1126b | rv1126b/rkllm/decoder.w8a8.rv1126b.rkllm |
925097244 | not applicable / not run |
| rv1126b | rv1126b/rknn/encoder-15s.fp16.rv1126b.rknn |
378641267 | passed |
| rv1126b | rv1126b/rknn/encoder-2s.fp16.rv1126b.rknn |
377706735 | passed |
| rv1126b | rv1126b/rknn/encoder-4s.fp16.rv1126b.rknn |
377994415 | passed |
These are newly compiled target-specific files, not renamed RK3588 binaries. Existing RK3588 files and their historical results are unchanged.
No board inference, latency, hardware core-occupancy, or RKLLM transcription/CER/WER tests have been performed for these targets. Host simulator results only cover the encoder cases listed in each report, not the RKLLM decoder. Successful export is not evidence of successful board deployment.
Use RKNN Runtime compatible with Toolkit2 2.5.0 and RKLLM runtime/headers matching 1.3.1. RK3576 decoder uses 2 NPU cores; RV1126B uses 1. Do not use the historical RK3588 runtime assumptions for these new models.
Canonical shared tokenizer, FP32 embedding table, and preprocessing files are at shared/decoder_hf/ and shared/preprocessor/; these are data sidecars, not chip-specific binaries. Each target manifest records these references. The published ONNX external input/output convention remains FP32 even for FP16 filenames.
W8A8 calibration reuses three checksum-verified acoustic embedding windows from the same JFK English recording, converted locally to the RKLLM 1.3.1 kwargs format. This is smoke calibration only, not representative multilingual calibration or proof of quantized accuracy.
This run compares one independent speech golden per encoder bucket (not the earlier 11-case suite). No new end-to-end ASR reference or CER regression was run.
Warnings and CPU operator fallbacks must be checked in build reports/logs; simulator success does not establish pure-NPU execution or resolve board-side compiler diagnostics. Reproducibility scripts, version snapshots, manifests and per-target SHA256SUMS accompany these additions.
- Downloads last month
- 38
Model tree for erquren/Qwen3-ASR-0.6B-RK
Base model
Qwen/Qwen3-ASR-0.6B