昇腾社区首页
中文
注册

Multi Step

Multi Step特性允许推理引擎在一次调度中进行异步多次前向推理,以达到提升吞吐的效果。MindIE目前实现了异步单次推理,能够利用NPU执行时间在一定程度上掩盖前后处理时间,进而实现性能优化。

该新特性不建议在正式商用场景下开启。

限制与约束

  • Atlas 800I A2 推理服务器Atlas 800I A3 超节点支持此特性。
  • 该特性仅能在使能异步调度时生效。
  • 该特性不支持和Sequence Parallel(SP)、Context Parallel(CP)同时开启。
  • 该特性暂不支持n、best_of、use_beam_search等与多序列推理相关的后处理参数。
  • 该特性不能和Look Ahead、Memory Decoding、Splitfuse同时使用。
  • 该特性暂不支持“tp>1”的使用场景。
  • 开启Multi Step特性,需要配置的参数如表1所示。
    表1 Multi Step特性补充参数:ModelConfig参数

    配置项

    取值类型

    取值范围

    配置说明

    multi_step

    int

    [0,1]

    在一次调度中进行异步前向推理的次数。

    PD分离部署场景下,请在D节点的ModelConfig参数中配置“multi_step”。

使用样例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
"ModelDeployConfig" :
{
   "maxSeqLen" : 2560,
   "maxInputTokenLen" : 2048,
   "truncation" : false,
   "ModelConfig" : [
     {
         "modelInstanceType" : "Standard",
         "modelName" : "DeepSeek-R1_w8a8",
         "modelWeightPath" : "/data/weights/DeepSeek-R1_w8a8",
         "worldSize" : 8,
         "cpuMemSize" : 5,
         "npuMemSize" : -1,
         "backendType" : "atb",
         "trustRemoteCode" : false,
         "multi_step" : 1
      }
   ]
},

执行推理

  1. 设置环境变量,开启异步调度。具体请参见1
  2. 配置服务化参数。按照表1在服务化的config.json文件中添加相应参数。服务化的config.json文件路径的详细说明请参考:《MindIE安装指南》中的“配置MindIE > 配置MindIE Server > 单机推理”章节中的软件包文件清单。
  3. 启动服务。具体请参考《MindIE Motor开发指南》中的“快速开始 > 启动服务”章节