目录

Fpai-user-qt-tuning

icraft 量化调优 skill:为 modelzoo 部署工程启用 mix_precision = "auto" + quant_autotune 自动量化调优, 并新增基础量化方案选择(Base Quantization Scheme Selection)能力:对量化数据精度 (WL/ZG qdtype=int8,BY int8/int16)遍历 saturation(kld/null/ems)与 per(channel/tensor), 编译各方案并评估 optimize_vs_quantize ftmp 指标,选出最佳基础量化方案。

自动调优(Auto-Tuning)

  • 参考 references/icraft-auto-tuning.md(BY/ZG/WL 参数语义与规则)。
  • 从 config/<ARCH>/*int8.toml(或 *int16.toml)派生 <stem>_auto_tune.toml。
  • 在 [quantize] 设置 mix_precision = "auto" 与 quant_autotune_config = "./quant_autotune/autotune_config.toml"。
  • 生成 2_compile/quant_autotune/autotune_config.toml,按需调整 priority / round_num / cos_targetvalue / float_cal。
  • 运行 icraft compile .\config\<ARCH>\<stem>_auto_tune.toml,报告写入 3_deploy/metrics/auto_tune/auto_tune.md。

基础量化方案选择(Base Quantization Scheme Selection)

量化精度的精度分析在触发 mix_precision="auto" 调优前,应先确定最佳基础量化方案。 运行 scripts/base_quant_sweep.py:

<python> <skill-dir>\scripts\base_quant_sweep.py `
  --deploy-dir .\mobilenetv2_icraft_deploy `
  --arch WL `
  --mode int8 `
  --compile-toml .\config\WL\MobileNetv2_int8.toml `
  --base-cfg .\cfg\MobileNet_WL_int8_demo.yaml `
  --runtime CRT --crt-dir .\WL --exe-name MobileNet.exe `
  --sample-count 1
  • 遍历 --sat-list(默认 kld,null,ems)与 --per-list(默认 channel,tensor)生成各方案编译配置, 分别编译到 3_deploy/imodel/<ARCH>/<mode>_sat<sat>_per<per>/。
  • 对每个方案运行 stage=optimize 与 stage=quantize host 仿真并对比 ftmp(余弦/相对欧氏/MAE), 选择最佳基础方案。
  • 报告:3_deploy/metrics/auto_tune/base_quant_sweep/base_quant_sweep.md
  • 结果 JSON:3_deploy/metrics/auto_tune/base_quant_sweep/base_quant_scheme_result.json

该脚本复用兄弟 skill Fpai-user-analysis-accuracy 的 accuracy_analysis.py(CRT/PYRT 运行时契约)。 $Fpai-user-analysis-accuracy --base-quant-sweep auto 会在 mix_precision 自动调优前自动调用本功能。

关于

量化调优

89.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号