---
title: "張量並行（Tensor Parallelism）"
slug: tensor-parallelism
language: zh-TW
source: https://aiterms.tw/terms/tensor-parallelism
updated_at: 2026-06-22
tags: [模型訓練, 分佈式訓練, 深度學習, 大型語言模型]
ipas_term: false
---

# 張量並行（Tensor Parallelism）

將單個張量（矩陣或更高維數組）的計算分割到多個 GPU 設備上，通過跨設備並行計算矩陣乘法等操作的分佈式訓練方法。

## 完整說明

張量並行（Tensor Parallelism）是大型模型分佈式訓練的一種並行化策略，通過將模型的權重和激活值分割到多個 GPU 設備上，使得單個層的計算可以並行執行。例如，在一個線性層中，權重矩陣被分割成多個部分，每個 GPU 負責一部分矩陣與輸入的乘法計算。張量並行特別適合層數較少但每層參數量很大的模型（如 Transformer 的自注意力層和前饋層）。相比於流水線並行，張量並行的通訊開銷相對較低，但要求計算設備之間的互連帶寬較高。

## 常見問題

### 張量並行如何在 Transformer 中實現？

在 Transformer 中，張量並行主要作用於自注意力層和前饋層。對於自注意力，查詢、鍵、值的投影矩陣可以按列分割，使得每個 GPU 計算部分注意力頭。對於前饋層，兩個線性層的權重矩陣可以適當分割，使得兩層的計算跨 GPU 並行。通過合理的分割方案設計，可以最小化通訊開銷。許多框架（如 Megatron-LM）已提供了 Transformer 的張量並行實現。

### 張量並行的通訊開銷有多大？

通訊開銷取決於分割方案和互連帶寬。在最優情況下，張量並行每個 layer forward pass 或 backward pass 需要一次全規約（all-reduce）操作，涉及的數據量是該層激活值或梯度的大小。例如，對於一個 hidden_size = 12288、batch_size = 1 的層，4 路張量並行的通訊數據量約為 4 × 12288 × 4 bytes ≈ 200KB。在高頻寬互連（如 NVLink，300GB/s）上，這只需幾微秒。在低頻寬互連上（如以太網，100Mbps），可能需要幾毫秒。通訊開銷與計算時間的比例決定了實際加速效果。

### 張量並行與流水線並行應該如何組合？

在訓練非常大的模型時，通常同時使用張量並行和流水線並行。例如，128 個 GPU 可以分為 8 個 GPU 做流水線並行（分割成 8 層），每個 GPU 再做 16 路張量並行。這樣可以同時利用兩種並行化的優勢：流水線並行解決 GPU 閒置問題，張量並行解決單個層的並行化。選擇合適的流水線深度和張量並行寬度需要考慮 GPU 互連拓撲、模型層數和參數分佈。通常，流水線並行的寬度應該是流水線深度的 2-4 倍，以最小化流水線氣泡。

---

來源：https://aiterms.tw/terms/tensor-parallelism
快查頁：https://aiterms.tw/terms/tensor-parallelism
最後更新：2026/06/22
深度解說：https://aiterms.tw/learning/what-is-tensor-parallelism