ai-infra-interview-305

第 62 题:Megatron-LM的column parallelrow parallel的矩阵划分策略?

题目

Megatron-LM的column parallelrow parallel的矩阵划分策略?


完整讲解

一、Column Parallel(列并行)

线性层 (Y = XA),A 按切分:每卡持 (A_k),(Y_k = X A_k),各卡独立算,无需通信得到分片 (Y_k)。前向:每卡输出 (Y_k);若下游需要完整 (Y),再 all-gather。典型用于 Q、K、V 三个线性层:输出维(head×head_dim)按列切,每卡算部分 head。

二、Row Parallel(行并行)

线性层 (Y = XA),A 按切分:每卡持 (A_k)(行块),(Y = \sum_k X A_k)。前向各卡算 (X A_k) 得到 partial sum,再 all-reducereduce-scatter 得到 (Y)。典型用于 output 投影(attention 后的 O、FFN 第二层):输入维按行切,各卡产出 partial,归约后得完整输出。

三、为何这样划分?


面试要点


记忆要点

  1. Column = 列切 A,每卡算一块 Y,用于 QKV。
  2. Row = 行切 A,partial sum + reduce,用于 O。
  3. 目的:前向/反向通信次数与量最小,与 fused attention 配合。
返回模块 返回总览