昇腾社区首页
中文
注册

Tensor Parallel

TP(Tensor Parallel,张量并行)是一种模型并行的策略,它通过将张量(如权重矩阵、激活值等)在多个设备(如NPU)之间进行切分 ,从而实现模型的分布式推理。

限制与约束

  • Atlas 800I A2 推理服务器A800I A2Atlas 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所示。

    表2 O project矩阵local tp切分补充参数:ModelConfig中的models参数

    配置项

    取值类型

    取值范围

    配置说明

    o_proj_local_tp

    int

    [1,worldSize / 节点数]

    表示Attention O矩阵切分数。

    • 仅DeepSeek-R1和DeepSeek-V3模型支持此特性。
    • 默认值:-1,表示不开启切分

使用样例

下面以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,
                }
            }
         }
      }
   ]
},

执行推理

  1. 配置服务化参数。该特性需配合MindIE Motor使用,在服务化的config.json文件中添加如上相应参数,config.json文件路径的详细说明请参考:《MindIE Motor开发指南》中的“集群服务部署 > PD分离服务部署”章节
  2. 启动服务。具体请参考《MindIE Motor开发指南》中的“快速开始 > 启动服务”章节