What is Gradient Accumulation(梯度累積)?

    一種訓練技術,透過在多次前向傳遞中累積梯度後執行單次權重更新來模擬更大的批次大小。

    Definition

    梯度累積是一種記憶體優化技術,能在無法將大批次放入 GPU 記憶體的硬體上以有效的大批次大小進行訓練。它將大批次分割為較小的微批次,順序計算每個微批次的梯度,累加梯度,然後使用累積的梯度執行單次權重更新。這在數學上產生與真正大批次訓練相同的結果。

    梯度累積是 LLM 微調中最重要的實用技術之一,因為它將批次大小從記憶體限制中解耦。

    Why It Matters

    較大批次大小提供更穩定的梯度估計。然而 GPU 記憶體限制了同時處理的範例數量。沒有梯度累積,團隊被迫使用記憶體能容納的批次大小——通常僅 1-2 個範例——導致嘈雜的梯度和較差的訓練結果。

    How It Works

    標準訓練中,每步包含前向傳遞、損失計算、反向傳遞、優化器步驟和梯度歸零。使用梯度累積,前三步重複 N 次,梯度在迭代間累加,然後執行一次優化器步驟。代價是線性的訓練速度降低。

    Example Use Case

    研究人員在單一 RTX 3090 上微調 13B 模型,記憶體僅容納微批次 1。設置梯度累積步驟為 16 模擬批次大小 16,實現穩定的訓練動態。

    Key Takeaways

    • 梯度累積透過在多個微批次間累加梯度來模擬大批次大小。
    • 產生與真正大批次訓練數學上相同的結果。
    • 將有效批次大小從 GPU 記憶體限制中解耦。
    • 代價是線性的牆鐘訓練時間降低。
    • 對在消費級或中階 GPU 硬體上微調大型模型至關重要。

    How Ertas Helps

    Ertas Studio 根據使用者的 GPU 記憶體和期望的有效批次大小自動配置梯度累積,確保穩定的訓練動態。

    Related Resources

    Ship AI that runs on your users' devices.

    Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.