MTP特性介绍

MTP(Multi-Token Prediction,多Token预测)是DeepSeek中提出的一种用于单次生成多个token的并行解码方法。 MTP并行解码的核心思想是在推理过程中,模型不仅预测下一个token,而且会同时预测多个token,从而显著提升模型生成速度。

限制与约束

表1 MTP补充参数:ModelDeployConfig中的ModelConfig参数

配置项

取值类型

取值范围

配置说明

plugin_params

std::string

plugin_type: mtp

num_speculative_tokens: [1]

  • plugin_type设置为“mtp”,表示选择mtp特性。
  • num_speculative_tokens表示MTP的层数,只能设置为“1”。

配置示例:

{\"plugin_type\":\"mtp\",\"num_speculative_tokens\": 1}

使用样例

 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" : [
     {
         "plugin_params": "{\"plugin_type\":\"mtp\",\"num_speculative_tokens\": 1}",
         "modelInstanceType" : "Standard",
         "modelName" : "DeepSeek-R1_w8a8",
         "modelWeightPath" : "/data/weights/DeepSeek-R1_w8a8",
         "worldSize" : 8,
         "cpuMemSize" : 5,
         "npuMemSize" : -1,
         "backendType" : "atb",
         "trustRemoteCode" : false
      }
   ]
},

执行推理

  1. 配置服务化参数。该特性需配合MindIE Service使用,按照表1在服务化的config.json文件中添加相应参数。config.json文件路径的详细说明请参考《MindIE安装指南》中的“配置MindIE > 配置MindIE Server > 多机推理”章节中的软件包文件清单。
  2. 启动服务。具体请参考《MindIE Service开发指南》中的“快速开始 > 启动服务”章节