流水線並行

Pipeline Parallelism

按層切分模型的並行

詳細解釋

流水線並行(Pipeline Parallelism)是將模型層分佈到多GPU,並通過流水線方式處理多個微批次,提高GPU利用率的並行策略。

工作原理:

  • 模型分片:將網絡層分組到不同GPU
  • 微批次:將大批次分為多個小批次
  • 流水線:
  • GPU0處理微批次0,傳給GPU1
  • GPU0處理微批次1,同時GPU1處理微批次0
  • 形成流水線,多GPU同時工作
  • 氣泡:啟動和排空階段的空閒

GPipe和PipeDream:

  • GPipe:同步梯度,簡單但氣泡大
  • PipeDream:異步權重,複雜但效率高

優勢:

  • 提高利用率:多GPU同時工作
  • 內存效率:每個GPU只存部分層
  • 擴展性:可擴展到更多GPU
  • 與數據並行兼容

挑戰:

  • 流水線氣泡:啟動和排空時間
  • 調度複雜:微批次調度策略
  • 權重存儲:需要存多個版本(PipeDream)
  • 通信:激活傳輸開銷

應用:

  • 超大模型:與張量並行結合
  • 多節點:跨機流水線
  • 訓練效率:大規模訓練必需

與其他並行關係:

  • 模型並行:基礎層級分割
  • 流水線並行:在此基礎上流水線化
  • 三維並行:數據+模型+流水線

流水線並行是大規模訓練的重要組成。

探索更多AI詞彙

查看所有分類,繼續學習AI知識