十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

CANN/GE ATC压缩优化配置

CANN/GE ATC压缩优化配置 --compression_optimize_conf产品支持情况IPV350不支持Ascend 950PR/Ascend 950DT不支持Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 训练系列产品/Atlas A2 推理系列产品支持Atlas 200I/500 A2 推理产品支持Atlas 推理系列产品支持Atlas 训练系列产品支持功能说明压缩优化功能配置文件路径以及文件名通过该参数开启配置文件中指定的压缩优化特性从而提升网络性能。关联参数若通过该参数配置了calibration量化特性则不能再使用高精度特性比如不能再通过--precision_mode参数配置force_fp32或must_keep_origin_dtype原图fp32输入不能再通过--precision_mode_v2参数配置origin不能通过--op_precision_mode配置high_precision参数等。在高精度模式下设置量化参数既拿不到量化的性能收益也拿不到高精度模式的精度收益。参数取值参数值配置文件路径以及文件名。参数值格式路径和文件名支持大小写字母a-zA-Z、数字0-9、下划线_、短横线-、句点.、中文汉字。参数值约束当前仅支持配置如下两种压缩方式用户根据实际情况决定配置哪种压缩方式enable_first_layer_quantization: true calibration: { input_data_dir: ./data.bin,d2.bin input_shape: in:16,16;in1:16,16 config_file: simple_config.cfg infer_soc: xxxxxx infer_aicore_num: 10 infer_device_id: 0 infer_ip: x.x.x.x infer_port: 8000 log: info }其中enable_first_layer_quantization用于控制AIPP首层卷积是否进行优化AIPP会与量化后模型首层卷积Conv2D前的Quant算子进行融合配置文件中冒号前面表示压缩优化特性名称冒号后面表示是否开启该特性true表示开启false表示关闭默认关闭。开启enable_first_layer_quantization特性时只有网络结构中存在AIPPConv2D结构并且在atc命令中将--enable_small_channel参数设置为1时才有可能获得性能收益。由于量化后的模型存在一定程度上的精度损失用户根据实际情况决定是否开启该特性。只有Atlas 推理系列产品和Atlas 200I/500 A2 推理产品支持该特性。calibration训练后量化是指在模型训练结束之后进行的量化对训练后模型中的权重由浮点数当前支持float32/float16量化到低比特整数比如int8并通过少量校准数据基于推理过程对数据activation进行校准量化进而加速模型推理速度。训练后量化简单易用只需少量校准数据适用于追求高易用性和缺乏训练资源的场景。训练后量化的样例请单击Link获取。各参数说明如下input_data_dir必选配置模型输入校准数据的bin文件路径。若模型有多个输入则多个输入的bin数据文件以英文逗号分隔。校准数据集用来计算量化参数获取校准集时应该具有代表性推荐使用测试集的子集作为校准数据集。校准数据的bin文件的生成方式可以参考链接。input_shape必选配置模型输入校准数据的shape信息例如input_name1:n1,c1,h1,w1;input_name2:n2,c2,h2,w2节点中间使用英文分号分隔。config_file可选配置训练后量化简易配置文件该文件配置示例以及参数解释请参见简易配置文件。infer_soc必选配置进行训练后量化校准推理时所使用的芯片名称查询方法请参见参数取值。infer_aicore_num可选配置进行训练后量化校准推理时使用的AI Core数目查询方法请参见--aicore_num。infer_device_id可选配置进行训练后量化校准推理时所使用AI处理器设备的ID默认为0。infer_ipAtlas 200I/500 A2 推理产品Ascend RC场景必选NCS软件包所在服务器IP地址。infer_portAtlas 200I/500 A2 推理产品Ascend RC场景必选NCS软件包所在服务器端口。log可选配置设置训练后量化时的日志等级该参数只控制训练后量化过程中显示的日志级别默认显示info级别debug输出debug/info/warning/error/event级别的日志信息。info输出info/warning/error/event级别的日志信息。warning输出warning/error/event级别的日志信息。error输出error/event级别的日志信息。此外训练后量化过程中的日志打屏以及日志落盘信息由AMCT_LOG_DUMP环境变量进行控制export AMCT_LOG_DUMP1日志打印到屏幕并落盘到当前路径的amct_log_时间戳/amct_acl.log文件中不保存量化因子record文件和graph文件。export AMCT_LOG_DUMP2将日志落盘到当前路径的amct_log_时间戳/amct_acl.log文件中并保存量化因子record文件。export AMCT_LOG_DUMP3将日志落盘到当前路径的amct_log_时间戳/amct_acl.log文件中并保存量化因子record文件和graph文件。为防止日志文件、record文件、graph文件持续落盘导致磁盘被写满请及时清理这些文件。如果用户配置了ASCEND_WORK_PATH环境变量则上述日志、量化因子record文件和graph文件存储到该环境变量指定的路径下例如ASCEND_WORK_PATH/home/test则存储路径为/home/test/amct_acl/amct_log_{pid}_时间戳。其中amct_acl模型转换过程中会自动创建{pid}为进程号。[!NOTE]说明上述日志文件、record文件、graph文件重新执行量化时会被覆盖请用户自行进行保存。此外由于生成的日志文件大小和所要量化模型层数有关请用户确保ATC工具所在服务器有足够空间 以量化resnet101模型为例日志级别设置为INFO日志文件大小为12KB左右中间临时文件大小为260MB左右日志级别设置为DEBUG日志文件大小为390KB左右中间临时文件大小为430MB左右。参数默认值无。推荐配置及收益无示例假设压缩优化功能配置文件名称为compression_optimize.cfg文件内容配置示例如下!-- npu310p,310b id11 -- enable_first_layer_quantization: true !-- end id11 -- calibration: { input_data_dir: ./data.bin,d2.bin input_shape: in:16,16;in1:16,16 config_file: simple_config.cfg infer_soc: xxxxxx infer_aicore_num: 10 infer_device_id: 0 infer_ip: x.x.x.x infer_port: 8000 log: info }将该文件上传到ATC工具所在服务器例如上传到_$HOME/module_使用示例如下atc --compression_optimize_conf$HOME/module/compression_optimize.cfg ...开启量化功能后模型转换时提示“build_main build graph[infer_graph_info] failed”请参见开启量化功能模型转换时提示“build_main build graph[infer_graph_info] failed”。依赖约束使用该参数的压缩特性时需要单独安装AMCTacl软件包该包的获取以及安装方法请参见《AMCT模型压缩工具》中的“准备环境 获取软件包、上传软件包、安装工具”章节。使用该参数中的enable_first_layer_quantization特性时请确保使用的模型是由AMCT进行量化操作后输出的部署模型。使用配置文件中的calibration训练后量化功能时只支持带NPU设备的安装场景详细介绍请参见《CANN 软件安装》手册搭建对应产品环境。Atlas 200I/500 A2 推理产品Ascend RC场景还需要在运行环境上安装NCS软件并配置密钥证书请参见《AOE调优工具》AOE工具Ascend RC环境准备。使用配置文件中的calibration进行训练后量化功能时ATC工具会调用AMCT量化接口执行相关操作原理图如下图 1训练后量化原理简图 ![图示](https://raw.gitcode.com/cann/ge/raw/243ea8d2d8f7623dd210c0867dde5782ec5594a9/docs/zh/user_guides/atc_tools/figures/ptq_diagram.png 训练后量化原理简图?utm_sourcegitcode_repo_files)创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表