Auto Tune架构

Auto Tune简介

Auto Tune工具包含RL和GA两种调优模式:

RL调优模式

RL由RL Tune和RL知识库两部分组成,RL Tune负责进行算子的调优工作,RL知识库存储调优后的策略。

RL的架构如图1所示。

图1 RL架构
RL Tune由Controller与Environment组成。
  • Controller负责调优算子的控制,包含RL算法,MCTS以及Policy Model(策略模型,即已经训练好的最优模型评价标准)。

    RL训练Policy Model的原理如下所示:

    图2 RL训练Policy Model原理
    1. 首先初始化神经网络。
    2. 用神经网络+MCTS采样,获得算子的Schedule
    3. 编译采样获得的算子,在单板上执行评估算子性能,生成Reward,得到训练样本。
    4. 利用监督方式训练神经网络。
    5. 重复24,直到网络收敛。
  • Environment主要功能是对调优结果进行评价,其中Rules为Schedule生成规则,Estimator为耗时评估策略。
RL知识库包含内置知识库与自定义知识库。
  • 内置知识库为预置的针对常见算子不同shape的调优后策略,存储路径为CANN软件安装后文件存储路径下的“opp/data/rl/<soc_version>/built-in”。
  • 自定义知识库,为用户使用RL调优模式调优后生成的性能优于内置知识库的调优策略。

    默认自定义知识库存储路径为“${HOME}/ascend/latest/data/aoe/custom/op/<soc_version>/vector/”。

    说明:此路径安装完CANN软件后默认不存在,会在首次调优时自动创建。

GA调优模式

GA调优过程中首先进行调优空间分析,然后利用遗传算法进行调优,评估出最优调优策略后将其放入知识库。

GA的架构如下图所示:

GA知识库包含内置知识库与自定义知识库。
  • 内置知识库为预置的针对常见算子不同shape的调优后策略,存储路径为CANN软件安装后文件存储路径下的“opp/data/tiling/<soc_version>/built-in”。
  • 自定义知识库,存储用户使用GA调优生成的调优策略。

    默认自定义知识库存储路径为“${HOME}/ascend/latest/data/aoe/custom/op/<soc_version>/cube“。

    说明:此路径安装完CANN软件后默认不存在,会在首次调优时自动创建。

GA的详细调优原理如下所示:

图3 GA调优原理