| 【CANN体验官】Qwen2.5-3B HiFloat8 量化体验 Co-authored-by: Developer user<921918760@qq.com> # message auto-generated for no-merge-commit merge: !144 merge cann-experience-hifloat8 into master 【CANN体验官】Qwen2.5-3B HiFloat8 量化体验 Created-by: imaginationhh Commit-by: Developer user Merged-by: cann-robot Description: ## 描述 本 PR 为 CANN 体验官任务交付,提交至 experiment/task-book/amct_experience_imaginationhh/。 使用 AMCT(Ascend Model Compression Toolkit)对 **Qwen2.5-3B-Instruct** 执行 **HiFloat8** 量化,完成从环境搭建、量化脚本编写到 benchmark 结果输出的全流程体验,并对比量化前后精度、记录兼容性问题与优化建议。 **核心成果**: - 实现基于 amct_ops NPU 自定义 cast 算子的 HiFloat8 伪量化 Linear(npu_hifloat8_fakequant_linear.py),全程 NPU。 - wikitext2 全量(146 段)精度对比:FP16 PPL **8.5570** → HiFloat8 PPL **8.6724**,劣化仅 **+1.349%**。 - 交付 quantize.py(npu_op / cpu_sim / amct 三后端)、eval_common.py、run.sh、README.md、result_npuop_full.json。 **关键兼容性发现**:AMCT 内置 HIFP8_CAST_CFG 走 torch_npu.npu_quantize(hifloat8),在当前 CANN 9.1.0 因 aclnnQuantize 内核未编入 HiFloat8(DT_HIFLOAT8 not in [INT8,UINT8,INT32])而无法跑通;改用 amct_ops 独立 ascendc cast 算子绕过,成功实现真·NPU HiFloat8 伪量化。详见 README 第 5 节。 ## 如何测试 bash cd experiment/task-book/amct_experience_imaginationhh bash run.sh --model_path /path/to/Qwen2.5-3B-Instruct --backend npu_op 环境:Ascend 910B3,CANN 9.1.0,torch 2.7.1,torch_npu 2.7.1.post4。已通过 OAT 与 ruff 检查。 ## 文档更新 新增 experiment/task-book/amct_experience_imaginationhh/README.md,包含目录结构、环境说明、任务达成情况(量化输入/精度对比/执行指令)与体验反馈。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 代码重构 - [x] 其他,请描述:CANN 体验官任务交付(量化实践 + 兼容性反馈) See merge request: cann/amct!144 | 19 天前 |