大模型訓(xùn)練成本降低近一半!新加坡國立大學(xué)最新優(yōu)化器已投入使用
本文經(jīng)AI新媒體量子位(公眾號ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。
優(yōu)化器在大語言模型的訓(xùn)練中占據(jù)了大量內(nèi)存資源。
現(xiàn)在有一種新的優(yōu)化方式,在性能保持不變的情況下將內(nèi)存消耗降低了一半。
該成果由新加坡國立大學(xué)打造,在ACL會議上獲得了杰出論文獎,并已經(jīng)投入了實(shí)際應(yīng)用。
圖片
隨著大語言模型不斷增加的參數(shù)量,訓(xùn)練時的內(nèi)存消耗問題更為嚴(yán)峻。
研究團(tuán)隊(duì)提出了 CAME 優(yōu)化器,在減少內(nèi)存消耗的同時,擁有與Adam相同的性能。
圖片
CAME優(yōu)化器在多個常用的大規(guī)模語言模型的預(yù)訓(xùn)練上取得了相同甚至超越Adam優(yōu)化器的訓(xùn)練表現(xiàn),并對大batch預(yù)訓(xùn)練場景顯示出更強(qiáng)的魯棒性。
進(jìn)一步地,通過CAME優(yōu)化器訓(xùn)練大語言模型,能夠大幅度降低大模型訓(xùn)練的成本。
實(shí)現(xiàn)方法
CAME 優(yōu)化器基于 Adafactor 優(yōu)化器改進(jìn)而來,后者在大規(guī)模語言模型的預(yù)訓(xùn)練任務(wù)中往往帶來訓(xùn)練性能的損失。
Adafactor中的非負(fù)矩陣分解操作在深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練中不可避免地會產(chǎn)生錯誤,對這些錯誤的修正就是性能損失的來源。
而通過對比發(fā)現(xiàn),當(dāng)起始數(shù)值mt和當(dāng)前數(shù)值t相差較小時,mt的置信度更高。
圖片
受這一點(diǎn)啟發(fā),團(tuán)隊(duì)提出了一種新的優(yōu)化算法。
下圖中的藍(lán)色部分就是CAME相比Adafactor增加的部分。
圖片
CAME 優(yōu)化器基于模型更新的置信度進(jìn)行更新量修正,同時對引入的置信度矩陣進(jìn)行非負(fù)矩陣分解操作。
最終,CAME成功以Adafactor的消耗得到了Adam的效果。
相同效果僅消耗一半資源
團(tuán)隊(duì)使用CAME分別訓(xùn)練了BERT、GPT-2和T5模型。
此前常用的Adam(效果更優(yōu))和Adafactor(消耗更低)是衡量CAME表現(xiàn)的參照。
其中,在訓(xùn)練BERT的過程中,CAME僅用一半的步數(shù)就達(dá)到了和Adafaactor相當(dāng)?shù)木取?/p>
△左側(cè)為8K規(guī)模,右側(cè)為32K規(guī)模
對于GPT-2,從損失和困惑度兩個角度看,CAME的表現(xiàn)和Adam十分接近。
在T5模型的訓(xùn)練中,CAME也呈現(xiàn)出了相似的結(jié)果。
而對于模型的微調(diào),CAME在精確度上的表現(xiàn)也不輸于基準(zhǔn)。
資源消耗方面,在使用PyTorch訓(xùn)練4B數(shù)據(jù)量的BERT時,CAME消耗的內(nèi)存資源比基準(zhǔn)減少了近一半。
團(tuán)隊(duì)簡介
新加坡國立大學(xué)HPC-AI 實(shí)驗(yàn)室是尤洋教授領(lǐng)導(dǎo)的高性能計(jì)算與人工智能實(shí)驗(yàn)室。
實(shí)驗(yàn)室致力于高性能計(jì)算、機(jī)器學(xué)習(xí)系統(tǒng)和分布式并行計(jì)算的研究和創(chuàng)新,并推動在大規(guī)模語言模型等領(lǐng)域的應(yīng)用。
實(shí)驗(yàn)室負(fù)責(zé)人尤洋是新加坡國立大學(xué)計(jì)算機(jī)系的校長青年教授(Presidential Young Professor)。
尤洋在2021年被選入福布斯30歲以下精英榜(亞洲)并獲得IEEE-CS超算杰出新人獎,當(dāng)前的研究重點(diǎn)是大規(guī)模深度學(xué)習(xí)訓(xùn)練算法的分布式優(yōu)化。
本文第一作者羅旸是該實(shí)驗(yàn)室的在讀碩士生,他當(dāng)前研究重點(diǎn)為大模型訓(xùn)練的穩(wěn)定性以及高效訓(xùn)練。
論文地址:https://arxiv.org/abs/2307.02047
GitHub項(xiàng)目頁:https://github.com/huawei-noah/Pretrained-Language-Model/tree/master/CAME