将大型模型的参数和计算分布到多个设备上的分布式训练技术
# 原始矩阵乘法: Y = X @ W # 张量并行版本: # W = [W1, W2, ..., Wn] # 列切分 # Y = [X@W1, X@W2, ..., X@Wn] # 并行计算 # 最终结果通过concat或reduce获得
GPU0: [Layer 1-6] → GPU1: [Layer 7-12] → GPU2: [Layer 13-18] → GPU3: [Layer 19-24]
# 激活值形状: [batch, sequence, hidden] # 在sequence维度切分到不同GPU # 配合张量并行使用,进一步降低内存需求
# 组合使用多种并行策略 model = MegatronModel( tensor_model_parallel_size=8, # 8路张量并行 pipeline_model_parallel_size=16, # 16路流水线并行 sequence_parallel=True, # 启用序列并行 use_fp8=True # FP8加速(H100支持) )
单GPU内存需求 = 模型参数 / (TP × PP) 其中:TP = 张量并行度,PP = 流水线并行度