今天小編分享的科學經驗:大模型訓練成本降低近一半!新加坡國立大學最新優化器已投入使用,歡迎閲讀。
優化器在大語言模型的訓練中占據了大量内存資源。
現在有一種新的優化方式,在性能保持不變的情況下将内存消耗降低了一半。
該成果由新加坡國立大學打造,在 ACL 會議上獲得了傑出論文獎,并已經投入了實際應用。
随着大語言模型不斷增加的參數量,訓練時的内存消耗問題更為嚴峻。
研究團隊提出了 CAME 優化器,在減少内存消耗的同時,擁有與 Adam 相同的性能。
CAME 優化器在多個常用的大規模語言模型的預訓練上取得了相同甚至超越 Adam 優化器的訓練表現,并對大 batch 預訓練場景顯示出更強的魯棒性。
進一步地,通過 CAME 優化器訓練大語言模型,能夠大幅度降低大模型訓練的成本。
實現方法
CAME 優化器基于 Adafactor 優化器改進而來,後者在大規模語言模型的預訓練任務中往往帶來訓練性能的損失。
Adafactor 中的非負矩陣分解操作在深度神經網絡的訓練中不可避免地會產生錯誤,對這些錯誤的修正就是性能損失的來源。
而通過對比發現,當起始數值 mt 和當前數值 t 相差較小時,mt 的置信度更高。
受這一點啓發,團隊提出了一種新的優化算法。
下圖中的藍色部分就是 CAME 相比 Adafactor 增加的部分。
CAME 優化器基于模型更新的置信度進行更新量修正,同時對引入的置信度矩陣進行非負矩陣分解操作。
最終,CAME 成功以 Adafactor 的消耗得到了 Adam 的效果。
相同效果僅消耗一半資源
團隊使用 CAME 分别訓練了 BERT、GPT-2 和 T5 模型。
此前常用的 Adam(效果更優)和 Adafactor(消耗更低)是衡量 CAME 表現的參照。
其中,在訓練 BERT 的過程中,CAME 僅用一半的步數就達到了和 Adafaactor 相當的精度。
△左側為 8K 規模,右側為 32K 規模
對于 GPT-2,從損失和困惑度兩個角度看,CAME 的表現和 Adam 十分接近。
在 T5 模型的訓練中,CAME 也呈現出了相似的結果。
而對于模型的微調,CAME 在精确度上的表現也不輸于基準。
資源消耗方面,在使用 PyTorch 訓練 4B 數據量的 BERT 時,CAME 消耗的内存資源比基準減少了近一半。
團隊簡介
新加坡國立大學 HPC-AI 實驗室是尤洋教授領導的高性能計算與人工智能實驗室。
實驗室致力于高性能計算、機器學習系統和分布式并行計算的研究和創新,并推動在大規模語言模型等領網域的應用。
實驗室負責人尤洋是新加坡國立大學計算機系的校長青年教授 ( Presidential Young Professor ) 。
尤洋在 2021 年被選入福布斯 30 歲以下精英榜 ( 亞洲 ) 并獲得 IEEE-CS 超算傑出新人獎,當前的研究重點是大規模深度學習訓練算法的分布式優化。
本文第一作者羅旸是該實驗室的在讀碩士生,他當前研究重點為大模型訓練的穩定性以及高效訓練。
論文地址:
https://arxiv.org/abs/2307.02047
GitHub 項目頁:
https://github.com/huawei-noah/Pretrained-Language-Model/tree/master/CAME