RDK S100 模型量化工具
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_a793e4ac/rdk-model-quantization。
技能介绍
问题
将 PyTorch/ONNX 模型部署到地平线 RDK S100/S600 BPU 时,常见问题不是能否量化,而是量化后精度掉点和板端推理不稳定。资料中的 Paraformer-large 实践显示,stride 内存对齐可能让 Cosine 从 0.959 掉到 0.157;Predictor 过拟合会产生尾部垃圾字符;首次推理未 warmup 也会造成延迟偏差。
工作方式
该技能提供 BPU 量化工作流:ONNX 导出、校准数据生成、量化执行、精度验证和后处理清理。关键步骤包括:
- 使用
default校准方法,并配合 50-100 个有代表性的音频样本; - 在板端使用 stride-aware 拷贝,避免直接
memcpy破坏内存布局; - 对 Predictor 应用
correction_factor去除尾部无效 token; - 通过
Cosine、文本准确率和端到端延迟验证部署质量。
适用边界
它更适合作为 RDK 语音识别或类似模型量化参考,而不是通用模型部署工具。资料主要围绕 Paraformer-large、RDK S100P/S600 和 BPU INT8 场景。若模型含大量自定义算子、非 BPU 支持结构或不同前端特征参数,仍需单独核对算子支持、CMVN/LFR 对齐和板端推理兼容性。
使用场景
- 在 RDK S100P 板端部署 Paraformer 语音识别时,完成 INT8 量化并核对 Cosine 与文本准确率。
- 已有 PyTorch 语音模型需要导出 ONNX,并按 BPU 要求生成校准数据、执行量化和精度验证。
- 排查 BPU 推理出现尾部垃圾字符或 Cosine 偏低,需要应用 correction_factor 与 stride-aware 拷贝方案。
- 在 RDK S600 上评估不同校准方法,优先选择 default 校准并记录 Cosine 与延迟差异。
适合人员
- 负责 RDK 语音识别交付的算法工程师,需要把 Paraformer-large 从 FP32 量化到 INT8 并保住文本准确率。
- 做地平线板端推理优化的系统工程师,需要处理 stride 对齐、warmup 与 Predictor 后处理问题。
- 维护 ONNX 到 BPU 量化流水线的工具工程师,需要复用导出、校准、验证和清理脚本。
- 评估 RDK S100P/S600 部署可行性的技术负责人,需要比较 default 校准下的精度与加速收益。