CANN/tensorflow AOE调优配置
AOE【免费下载链接】tensorflowAscend TensorFlow Adapter项目地址: https://gitcode.com/cann/tensorflow[!NOTE]说明 AOE调优特性仅支持如下产品的训练场景Atlas A3 训练系列产品/Atlas A3 推理系列产品Atlas A2 训练系列产品/Atlas A2 推理系列产品Atlas 训练系列产品aoe_mode通过AOE工具进行调优的调优模式。1子图调优。2算子调优。4梯度切分调优。在数据并行的场景下使用allreduce对梯度进行聚合梯度的切分方式与分布式训练性能强相关切分不合理会导致反向计算结束后存在较长的通信拖尾时间影响集群训练的性能和线性度。用户可以通过集合通信的梯度切分接口set_split_strategy_by_idx或set_split_strategy_by_size进行人工调优但难度较高。因此可以通过工具实现自动化搜索切分策略通过在实际环境预跑采集性能数据搜索不同的切分策略理论评估出最优策略输出给用户用户拿到最优策略后通过set_split_strategy_by_idx接口设置到该网络中。[!NOTE]说明通过修改训练脚本和AOE_MODE环境变量都可配置调优模式同时配置的情况下通过修改训练脚本方式优先生效。针对Atlas A2 训练系列产品/Atlas A2 推理系列产品不支持子图调优。针对Atlas A3 训练系列产品/Atlas A3 推理系列产品不支持子图调优。配置示例custom_op.parameter_map[aoe_mode].s tf.compat.as_bytes(2)work_pathAOE工具调优工作目录存放调优配置文件和调优结果文件默认生成在训练当前目录下。该参数类型为字符串指定的目录需要在启动训练的环境上容器或Host侧提前创建且确保安装时配置的运行用户具有读写权限支持配置绝对路径或相对路径相对执行命令行时的当前路径。绝对路径配置以“/”开头例如/home/test/output。相对路径配置直接以目录名开始例如output。配置示例custom_op.parameter_map[work_path].s tf.compat.as_bytes(/home/test/output)aoe_config_file通过AOE工具进行调优时若仅针对网络中某些性能较低的算子进行调优可通过此参数进行设置。该参数配置为包含算子信息的配置文件路径及文件名例如/home/test/cfg/tuning_config.cfg。配置示例custom_op.parameter_map[aoe_config_file].stf.compat.as_bytes(/home/test/cfg/tuning_config.cfg)配置文件中配置的是需要进行调优的算子信息文件内容格式如下{ tune_ops_name:[bert/embeddings/addbert/embeddings/add_1,loss/MatMul], tune_ops_type:[Add, Mul], tune_optimization_level:O1, feature:[deeper_opat] }tune_ops_name指定的算子名称当前实现是支持全字匹配可以指定一个也可以指定多个指定多个时需要用英文逗号分隔。此处配置的算子名称需要为经过图编译器处理过的网络模型的节点名称可从Profiling调优数据中获取详细可参见《性能调优工具用户指南》。tune_ops_type指定的算子类型当前实现是支持全字匹配可以指定一个也可以指定多个指定多个时需要用英文逗号分隔。如果有融合算子包括了该算子类型则该融合算子也会被调优。tune_optimization_level调优模式取值为O1表示高性能调优模式取值为O2表示正常模式。默认值为O2。feature调优功能特性开关可以取值为deeper_opat或者nonhomo_split取值为deeper_opat时表示开启算子深度调优aoe_mode需要配置为2取值为nonhomo_split时表示开启子图非均匀切分aoe_mode需要配置为1。[!NOTE]说明 如上配置文件中tune_ops_type和tune_ops_name可以同时存在同时存在时取并集也可以只存在某一个。【免费下载链接】tensorflowAscend TensorFlow Adapter项目地址: https://gitcode.com/cann/tensorflow创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考