AI硬體與軟體堆疊
關於訓練中使用的梯度檢查點(重新計算啟動值),下列說明何者正確?
- A只保存順向傳播中間結果的一部分,反向傳播需要時再重新計算其餘部分,以增加計算為代價來減少記憶體
- B在訓練途中將模型的權重存到磁碟
- C不計算梯度來進行訓練
查看答案與解析
正確答案:A. 只保存順向傳播中間結果的一部分,反向傳播需要時再重新計算其餘部分,以增加計算為代價來減少記憶體
反向傳播需要各層順向傳播的中間結果,但全部保存的話,記憶體會隨層數與批次大小成正比增加。在梯度檢查點中,只保存每隔數層的結果,反向傳播到該區間時,再從保存的位置重新做一次順向傳播,重建所需的值。雖然順向傳播的計算約多出一次,但可大幅減少啟動值的記憶體。
- A. 正確。是記憶體不足時常用的方法。
- B. 與中途保存(儲存檢查點)是不同的東西。
- C. 梯度是要計算的。