預訓練
訓練不穩定與損失尖峰(training instability and loss spikes)
一次健康的預訓練,會看到損失連續好幾週平順地往下滑。不穩定,就是這份平靜被打破的時候:損失突然往上跳,有時跳得很大,偶爾再也回不來、毀掉整次訓練。這些損失尖峰是大規模訓練中最令人畏懼的事件之一,因為一個糟糕的尖峰就可能浪費掉數千顆 GPU 上好幾天的算力。
它們發生在某次更新對模型的當前狀態而言太過劇烈時——常起於一個帶有極端數值的罕見批次、某一層裡爆炸的梯度,或低精度下的數值溢位。標準的防範是一整套工具而非單一解藥:梯度裁剪封住任何更新的大小、謹慎的學習率預熱緩和早期波動、正規化的選擇與權重初始化讓激活值維持在範圍內,而跳過或回滾一個有毒的批次則能在半途救回一次訓練。
較大的模型往往更神經質,所以團隊會頻繁存檔,並像老鷹一樣盯著損失曲線。從尖峰中復原,通常意味著倒回上一個好的檢查點,或許再調低學習率、或跨過那批惹事的資料,然後繼續推進。
又称
另见