Tensor Parallel
TP(Tensor Parallel,张量并行)是一种模型并行的策略,它通过将张量(如权重矩阵、激活值等)在多个设备(如NPU)之间进行切分 ,从而实现模型的分布式推理。
限制与约束
- Atlas 800I A2 推理服务器A800I A2和Atlas 800I A3 超节点支持此特性。
- DeepSeek-V3和DeepSeek-R1模型支持“Lmhead矩阵local tp切分”、“O project矩阵local tp切分”、“tp大于1”。
- PD分离且D节点是分布式的场景,支持Lmhead矩阵local tp切分和O project矩阵local tp切分,减少矩阵计算时间,降低推理时延。
- PD分离且D节点是分布式低时延场景,当tp大于1时支持MLA的tp切分,小batch低时延场景能减少decode推理时延。
- “tp”大于1时,不支持和O project矩阵local tp切分同时开启,也不建议和Lmhead矩阵local tp同时开启。
开启“Lmhead矩阵local tp切分”,需要配置的参数如表1所示。
表1 Lmhead矩阵local tp切分补充参数:ModelConfig中的models参数 配置项
取值类型
取值范围
配置说明
lm_head_local_tp
int
[1,worldSize / 节点数]
表示LmHead张量并行切分数。
- 仅DeepSeek-R1和DeepSeek-V3模型支持此特性。
- 默认值:-1。表示不开启切分
开启“O project矩阵local tp切分”,需要配置的参数如表2所示。
使用样例
下面以DeepSeek-R1模型为例。下方以开启tp切分,关闭Lmhead矩阵local tp切分和O project矩阵local tp切分为例示意。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | "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, "tp": 2 "models": { "deepseekv2": { "parallel_options": { "lm_head_local_tp": -1, "o_proj_local_tp": -1, } } } } ] }, |
父主题: 特性介绍