什麼是梯度檢查點(Gradient checkpointing)

只保存順向傳播中途結果的一部分,在反向傳播需要時重新計算其餘部分,以增加運算換取減少記憶體的方法。

日文名稱: 勾配チェックポイント

「梯度檢查點(Gradient checkpointing)」出現在1領域的1道練習題中(AI硬體與軟體堆疊等)。

這個名詞所屬的領域: AI硬體與軟體堆疊

練習梯度檢查點(Gradient checkpointing)的題目

關於訓練中使用的梯度檢查點(重新計算啟動值),下列說明何者正確?

  1. A只保存順向傳播中間結果的一部分,反向傳播需要時再重新計算其餘部分,以增加計算為代價來減少記憶體
  2. B在訓練途中將模型的權重存到磁碟
  3. C不計算梯度來進行訓練
查看答案與解析

正確答案:A. 只保存順向傳播中間結果的一部分,反向傳播需要時再重新計算其餘部分,以增加計算為代價來減少記憶體

反向傳播需要各層順向傳播的中間結果,但全部保存的話,記憶體會隨層數與批次大小成正比增加。在梯度檢查點中,只保存每隔數層的結果,反向傳播到該區間時,再從保存的位置重新做一次順向傳播,重建所需的值。雖然順向傳播的計算約多出一次,但可大幅減少啟動值的記憶體。

解析中的「梯度檢查點(Gradient checkpointing)」

出現「梯度檢查點(Gradient checkpointing)」的題目(1題)

  1. 關於訓練中使用的梯度檢查點(重新計算啟動值),下列說明何者正確?

相關名詞

反向傳播(Backpropagation) 批次大小(Batch size) 全歸約(All-reduce) 注意力機制(Attention mechanism) 知識蒸餾(Knowledge distillation) 計算圖(Computational graph) 訓練後量化(Post-training quantization) 剪枝(Pruning) 張量平行(Tensor parallelism) 推測式解碼(Speculative decoding)

前往名詞解釋列表