# DIY 4090 十卡機 ![image](https://hackmd.io/_uploads/Hko7PmY66.png) 豪華耕田機 ![image](https://hackmd.io/_uploads/HkcL5mYap.png) ![image](https://hackmd.io/_uploads/H16dcXFT6.png) ![image](https://hackmd.io/_uploads/BJjwamtpa.png) ![432094381_10229466823362477_1332781541164755554_n](https://hackmd.io/_uploads/S1QFoQKTa.jpg) ![432117179_10229466825562532_8961215002090133282_n](https://hackmd.io/_uploads/Hy7tjXYTT.jpg) ![430282341_10229466826282550_7659220886219554640_n](https://hackmd.io/_uploads/Bk7Ys7K6a.jpg) ![430333508_10229466824642509_6056579025834293295_n](https://hackmd.io/_uploads/HkQYsmF66.jpg) ![430284351_10229466824922516_1501138596833458390_n](https://hackmd.io/_uploads/HJgXYjXtpp.jpg) ![431981023_10229466824282500_603458531117261685_n](https://hackmd.io/_uploads/SJx7ti7YT6.jpg) ![432106775_10229466826002543_1974087102358495043_n](https://hackmd.io/_uploads/Syg7FsmFap.jpg) ![430282355_10229466823762487_9206344968737223993_n](https://hackmd.io/_uploads/SJg7Ks7KpT.jpg) ![432122856_10229466824562507_9085395442480047826_n](https://hackmd.io/_uploads/rJzQts7tTp.jpg) ![430312031_10229466826082545_7524256977910125932_n](https://hackmd.io/_uploads/ryWXYomFap.jpg) ![430326874_10229466826562557_7169034531376673909_n](https://hackmd.io/_uploads/H1bmKs7tpa.jpg) ![431441169_10229466824202498_4611980158608854362_n](https://hackmd.io/_uploads/H1f7Ys7K6p.jpg) ![430334318_10229466825282525_2721454289426849098_n](https://hackmd.io/_uploads/HJbmYiQYpp.jpg) ![430326614_10229466823482480_9032678715159539005_n](https://hackmd.io/_uploads/ByZ7FomFa6.jpg) ![432071480_10229466825682535_6482785931824071691_n](https://hackmd.io/_uploads/B1f7Fo7Ka6.jpg) ![430289872_10229466823962492_8013243416880200489_n](https://hackmd.io/_uploads/H1GXtjQtaa.jpg) ==== 上禮拜的今天,我簡介了加州理工學院(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是否真的有「福佑」。 無論如何,人類為了克服逆境而努力拚搏的精神,總是值得借鏡,你說是吧? ----- ![擷取](https://hackmd.io/_uploads/B1TWGkrlR.jpg)