调优流程介绍

网络模型生成时,Auto Tune工具调优在算子编译阶段执行,默认执行流程如下图所示:

图1 Auto Tune工具执行流程
  1. 原始开源框架模型首先传入GE、FE进行图准备(InferShape、算子选择等)及图优化(融合、常量折叠等)等操作。
  2. 然后进入算子编译阶段,首先根据网络模型中的Layer信息匹配知识库。

    若能匹配到知识库
    • 在未开启Auto Tune调优或者REPEAT_TUNE的场景下,直接使用知识库中的调优策略编译算子。
    • 若开启了Auto Tune调优且同时开启了REPEAT_TUNE,则重新进行调优。

      若调优后的结果优于当前已存在的知识库(包括内置知识库与自定义知识库),则会将调优后的结果存入用户自定义知识库,并使用自定义知识库中的调优策略编译算子。

      否则,不再生成用户自定义知识库,直接使用已存在的知识库编译算子。

    若未匹配到知识库,然后判断是否开启了Auto Tune调优。
    • 开启了Auto Tune调优的场景。
      • 若调优后的结果优于默认调优策略的性能,则会将调优后的结果写入自定义知识库,并使用自定义知识库中的调优策略编译算子。
      • 若调优后的结果不优于默认调优策略的性能,会将默认调优策略写入自定义知识库,并使用自定义知识库中的调优策略编译算子。

        此种场景下,将默认调优策略写入自定义知识库的操作,仅针对GA调优模式支持的算子生效;针对RL调优模式支持的算子,会直接使用默认调优策略编译算子,不会再将默认调优策略写入自定义知识库。

    • 若未开启Auto Tune调优,则使用默认调优策略编译算子。

  3. 推理场景下,编译完成后,生成适配昇腾AI处理器的离线模型文件。训练场景下,编译完成后,生成训练好的网络模型文件。