昇腾社区首页
EN
注册

Sequence Parallel

Sequence Parallel(SP,序列并行)通过对KV Cache进行切分,使得每个sprank保存的KV Cache各不相同,达到节省显存,支持长序列的功能。

限制与约束

  • Atlas 800I A2 推理服务器Atlas 800I A3 超节点支持此特性。
  • 当前仅DeepSeek-R1的W8A8量化模型支持此特性。
  • 支持PD分离场景和PD混部场景。
  • SP必须等于TP。
  • PD混部场景,该特性可以和DP、TP同时使用,DP和TP的乘积等于Worldsize。
  • PD分离场景仅支持在P节点开启SP特性,该特性可以和DP、TP、MTP同时使用 ,DP和TP的乘积等于Worldsize。
  • 该特性只支持FP16,不支持BF16。
表1 SP特性补充参数:ModelDeployConfig中的ModelConfig参数

配置项

取值类型

取值范围

配置说明

sp

int

sp=tp

KV Cache切分得到的份数。

使用样例

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

执行推理

  1. 配置服务化参数。该特性需配合MindIE Motor使用,按照表1在服务化的config.json文件中对应的字段中添加相应参数。config.json文件的详细配置说明,PD分离场景请参考《MindIE Motor开发指南》中的“集群服务部署 > PD分离服务部署”章节;PD混部场景请参考《MindIE安装指南》中的“配置MindIE > 配置MindIE Server > 多机推理”章节
  2. 启动服务。具体请参考《MindIE Motor开发指南》中的“快速开始 > 启动服务”章节