refactor: Auto-Tuning 后端差异改为读共享 backend profile(autotune/float_cal)
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 指标,选出最佳基础量化方案。
mix_precision = "auto"
quant_autotune
qdtype=int8
int8
int16
saturation
per
optimize_vs_quantize
references/icraft-auto-tuning.md
config/<ARCH>/*int8.toml
*int16.toml
<stem>_auto_tune.toml
[quantize]
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
量化精度的精度分析在触发 mix_precision="auto" 调优前,应先确定最佳基础量化方案。 运行 scripts/base_quant_sweep.py:
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
3_deploy/metrics/auto_tune/base_quant_sweep/base_quant_sweep.md
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 自动调优前自动调用本功能。
Fpai-user-analysis-accuracy
accuracy_analysis.py
$Fpai-user-analysis-accuracy --base-quant-sweep auto
量化调优
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
Fpai-user-qt-tuning
icraft 量化调优 skill:为 modelzoo 部署工程启用
mix_precision = "auto"+quant_autotune自动量化调优, 并新增基础量化方案选择(Base Quantization Scheme Selection)能力:对量化数据精度 (WL/ZGqdtype=int8,BYint8/int16)遍历saturation(kld/null/ems)与per(channel/tensor), 编译各方案并评估optimize_vs_quantizeftmp 指标,选出最佳基础量化方案。自动调优(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:--sat-list(默认kld,null,ems)与--per-list(默认channel,tensor)生成各方案编译配置, 分别编译到3_deploy/imodel/<ARCH>/<mode>_sat<sat>_per<per>/。stage=optimize与stage=quantizehost 仿真并对比 ftmp(余弦/相对欧氏/MAE), 选择最佳基础方案。3_deploy/metrics/auto_tune/base_quant_sweep/base_quant_sweep.md3_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 自动调优前自动调用本功能。