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

# 流水線並行（Pipeline Parallelism）

將深度神經網路的不同層分配到不同的 GPU 設備上，讓多個 micro-batch 在不同層上交叉執行以提高 GPU 利用率的分佈式訓練方法。

## 完整說明

流水線並行（Pipeline Parallelism）是大型模型分佈式訓練的一種策略，通過將模型的不同層分配到不同的 GPU 設備上，形成一條流水線。多個 micro-batch 在流水線上交叉執行：當 GPU0 在處理第一個 micro-batch 的第一層時，GPU1 可以同時處理前一個 micro-batch 的第二層。這種流水線方式可以提高 GPU 的利用率，減少設備之間的閒置時間。流水線並行特別適合層數很多但每層參數較少的模型。與張量並行相比，流水線並行的設備間互連帶寬要求較低，但通常存在氣泡（bubble）開銷。

## 常見問題

### 流水線並行中的氣泡是什麼，如何最小化？

流水線氣泡是指某些 GPU 處於閒置狀態的時間。在流水線的填充階段（前 GPU 數個時間步），較後面的 GPU 還沒有接收到數據而閒置。在清空階段（最後幾個時間步），較前面的 GPU 已經完成計算而閒置。氣泡開銷 = (GPU 數 - 1) / (GPU 數 × micro-batch 數)。要最小化氣泡，應該增加 micro-batch 數，使得流水線在大部分時間都滿載。例如，4 個 GPU 的流水線，如果有 8 個 micro-batch，氣泡開銷是 25%；如果有 32 個 micro-batch，開銷降到 6%。

### 流水線並行如何決定最優的 micro-batch 大小？

micro-batch 大小需要平衡幾個因素。較小的 micro-batch 大小導致流水線更容易滿載（減少氣泡），但增加了通訊次數。較大的 micro-batch 大小減少通訊次數，但可能導致更多的氣泡。通常的做法是選擇一個中等的 micro-batch 大小，使得氣泡開銷在可接受的範圍內（如 < 20%）。同時需要考慮記憶體限制，因為每個 GPU 需要存儲多個 micro-batch 的激活值。例如，對於 4 個 GPU，可以嘗試 4-16 個 micro-batch。

### 流水線並行與數據並行的組合方式是什麼？

在實際訓練中，通常同時使用流水線並行和數據並行。例如，128 個 GPU 可以分為兩組：流水線組（4 個 GPU，每個 GPU 負責 2 層）和數據並行組（32 倍）。這樣，每個流水線內的 GPU 計算不同層，同時不同流水線實例處理不同的 batch。這種組合可以同時享受兩種並行化的優勢。通訊開銷被分為層間通訊（流水線，較小）和梯度同步（數據並行，通常使用高效的方法如梯度累積）。

---

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