詳細解釋
張量並行(Tensor Parallelism)是將單一層的計算分佈到多GPU的技術,通過分割矩陣運算實現超大層的並行計算。
工作原理:
- 矩陣分割:
- 列並行:分割權重矩陣列
- 行並行:分割權重矩陣行
- 計算分佈:
- 每個GPU計算部分結果
- All-Gather或Reduce-Scatter合併
- 示例(MLP):
- 第一個線性層:列並行
- 第二個線性層:行並行
- 中間激活同步
Megatron-LM:
- NVIDIA開發
- Transformer優化
- 標準張量並行實現
優勢:
- 層內並行:單層可擴展
- 低通信:相比模型並行通信少
- 高效:GPU利用率高
- 適合Transformer:自注意力並行
應用:
- 大語言模型:GPT-3、GPT-4訓練
- 注意力層:頭級別並行
- MLP層:矩陣分割
- 與流水線並行結合
與其他並行關係:
- 數據並行:批次維度並行
- 模型/流水線並行:層維度並行
- 張量並行:層內並行
- 三維並行:三者組合
實現:
- Megatron-LM
- DeepSpeed
- Colossal-AI
- PyTorch Parallelism
張量並行是超大模型訓練的關鍵技術。