Context Parallel
Context Parallel(CP,上下文并行)主要针对Self-attention模块在sequence维度进行并行计算。CP通过将长序列在上下文维度进行切分,分配到不同设备并行处理,减少首token响应时间。CP实现主要包括:
- 各个设备计算各自的attention,设备之间用ring的方式传递KV值来获得分块运算的结果,整体原理类似ring-attention。
- 用Flash-attention 2算法进行分块运算, 最后对分块结果进行修正。
限制与约束
- Atlas 800I A2 推理服务器和Atlas 800I A3 超节点支持此特性。
- 当前仅DeepSeek-R1的W8A8量化模型支持此特性。
- 支持PD分离场景和PD混部场景。
- PD混部场景,该特性可以和SP、TP同时使用。开启CP特性时,DP必须等于1,且CP、DP和TP的乘积等于Worldsize。
- PD分离场景仅支持在P节点开启CP特性,该特性可以和SP、TP、MTP同时使用 。开启CP特性时,DP必须等于1,且CP、DP和TP的乘积等于Worldsize。
- 该特性只支持FP16,不支持BF16。
使用样例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | "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": 1, "cp": 2, "sp": 8, "tp": 8, "moe_ep": 16, "moe_tp": 1 } ] } |
执行推理
- 配置服务化参数。该特性需配合MindIE Motor使用,按照表1在服务化的config.json文件中对应的字段中添加相应参数。config.json文件的详细配置说明,PD分离场景请参考《MindIE Motor开发指南》中的“集群服务部署 > PD分离服务部署”章节;PD混部场景请参考《MindIE安装指南》中的“配置MindIE > 配置MindIE Server > 多机推理”章节。
- 启动服务。具体请参考《MindIE Motor开发指南》中的“快速开始 > 启动服务”章节。
父主题: 特性介绍