# DIY 4090 十卡機  豪華耕田機                    ==== 上禮拜的今天,我簡介了加州理工學院(Caltech)的大型語言模型(LLM)全參數訓練策略GaLore https://reurl.cc/L4KxL4 ,引發不小的迴響,他們提出的方法可以在僅具有24GB記憶體的單一消費級GPU(RTX 4090)上預訓練一個70億參數LLM,這樣的技術突破相當驚人,也相當誘人,尤其對缺乏GPU資源的研究人員來說,GaLore為人工智慧研究帶來巨大的驅動力,也打破資本密集的科研天花板。 所謂「山不轉,人轉」。當我說到「缺乏GPU資源的研究人員」,應該有人馬上聯想到被美國封禁高端GPU進口的對岸,也就是因為拿不到NVIDIA的A100,中國的AI研究團隊只能在LLM的訓練方法上尋求突破,譬如我這篇貼文要介紹的,浙江大學提出的「Fuyou」:https://reurl.cc/L4KxO7 一張80G記憶體的官方版A100顯卡,要價台幣百萬。 一個1TB的NVMe SSD(固態硬碟),售價只要台幣2千。 就如Fuyou論文標題揭示的,他們將成本低廉的SSD加入模型微調管道,實現在單張RTX 4090顯卡上微調1000億參數的LLM。 如果你懂LLM的訓練方法,應該立刻猜到,Fuyou採用的是卸載(offload)策略。 所謂的卸載,係利用異質儲存體來訓練LLM,例如現行的ZeRO-Infinity技術,將LLM的參數、梯度和優化器(optimizer)狀態從GPU記憶體卸載到CPU記憶體甚至SSD存儲,並在必要時將激活(activation)卸載到主機記憶體,因而能夠以有限的GPU記憶體對參數龐大的LLM進行微調。 不過,類似ZeRO-Infinity的技術有個問題,就是它們都是針對高階GPU伺服器設計的。高階伺服器上的微調實際上並不需要將激活和優化器狀態卸載到SSD(因為GPU記憶體容量充足),一旦移轉到低階GPU或CPU記憶體容量有限的環境(例如你家的桌上型電腦),ZeRO-Infinity就使不上力。 Fuyou克服了上述的瓶頸。他們添加SSD作為優化維度,在低端機器上實現高效的100B巨大模型微調,主要有三大創新: ●採用同步性的核外(Out-of-core)CPU優化器,使它與反向傳播重疊。傳統的優化器運算階段,CPU負責更新優化器狀態,GPU則完全閒置,為了提高GPU的使用率,Fuyou移除了傳統的優化器階段,讓模型訓練的優化器與反向傳播重疊,而且不影響訓練的收斂速度。 ●GPU-CPU-SSD全管道激活交換(Activation Swapping)。該技術實現GPU記憶體、CPU記憶體和SSD之間的高效資料交換,使低階機器能夠微調LLM,該模型大小受SSD容量限制,而非CPU/GPU記憶體大小。 ●自動化的激活交換管理。Fuyou使用一個成本模型來預測給定數量的激活交換的epoch時間(資料交換牽涉到SSD頻寬和GPU PCIe頻寬),然後從中選擇成本最小的激活交換量。 實驗結果顯示,Fuyou能夠在RTX 4090上對175B參數的GPT-3進行微調,而ZeRO-Infinity則無法進行微調。 在訓練13B的GPT-3模型時,Fuyou在RTX 4090上實現了156 TFLOPS的吞吐量,而ZeRO-Infinity僅實現了45 TFLOPS。 該篇論文也將目前流行的幾種LLM培訓技術拿來比較,例如我先前提過的,讓Megatron-LM和DeepSpeed都輸到脫褲的Colossal-AI https://reurl.cc/E45N8m ,在低端GPU硬體環境下,Fuyou全贏了! 我知道,我知道,即使浙江大學努力做了各種測試並列出詳細數據,肯定還是有人會跳出來質疑。 或許等他們釋出實際的程式庫之後,我們才知道Fuyou是否真的有「福佑」。 無論如何,人類為了克服逆境而努力拚搏的精神,總是值得借鏡,你說是吧? ----- 
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up