---
# System prepended metadata

title: DIY 4090 十卡機

---

# 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)
