本文整理自網絡blog 這位博主還幾篇關于大模型的文章非常不錯,小編我就一起整理成一篇文章。 ![]() 要理解大型語言模型(LLM)的運行,首先需要了解其所需的硬件配置。除了GPU之外,顯卡內存也是至關重要的。以Meta公司發布的LLaMA 2模型為例,其包括70B、13B、7B等不同參數規模的模型,而這些模型需要的GPU內存也各不相同。比如,要運行完整的70B模型,需要320GB的GPU內存;而對于13B模型,則需要50GB的GPU內存,7B模型則需要30GB的GPU內存。 然而,通過量化技術,可以在一定程度上犧牲模型的精確度,以減少內存的使用量。這意味著,即使你可能會犧牲一些模型的準確性,但你可以將內存使用量減半,甚至降低到原來的1/4或1/8。因此,如果你可以接受與性能稍遜的機器人對話,那么即使沒有獨立顯卡,僅僅使用CPU也能夠運行LLaMA 2。 Meta公司開源的LLM項目(LLaMA 2)具有許多優點,其中一個重要的優點是你可以重新訓練或微調模型,使其符合你的需求。這為應用場景帶來了無限的可能性。 然而,值得注意的是,訓練和微調LLM是非常昂貴的。以前提到的OpenAI模型微調的成本為每小時34至103美元。那么,如果你想要微調LLaMA 2模型,如何預估成本呢? 根據LLaMA公開的信息,7B版本的訓練時間為184,320小時,而70B版本則需要1,720,320小時。假設每小時一張A100 GPU運行,那么僅使用一張A100 GPU運行7B模型將需要21年的時間!當然,Meta公司使用了大量的A100 GPU來進行訓練,7B模型花費了27.6萬美元,而70B模型則花費了170萬美元。 A100和RTX4090算力相差不大,但是顯存大小和傳輸頻寬就很重要: 在 PyTorch 訓練測試中,A100 Throughput 是 4090 的 1.4 倍,H100 是 4090 的 1.6 到 2.5 倍: 至于訓練算力估算可以用 6 * 模型參數量 * 訓練數據 Token 數 (Flops) 預估。以Google 的Colab 平臺為例,Colab Pro 會員每月10.49 USD 每月有100 個運算單元,Pro+ 會員52.49 USD 則為500 個運算單元方案說明,A100 每GPU 小時消耗 約13 個運算單元,換算一個GPU 小時約1.36 USD。 在Meta公司的LLaMA-2-7B-Chat項目中,他們使用了27,540條高質量的監督微調示例,即Supervised Fine-Tuning(SFT),以有效提升模型的品質。這些示例有助于模型更好地理解并準確回答問題。 臺灣LLaMA是基于LLaMA 2的全參數微調模型,旨在增強繁體中文處理能力。它包括兩個主要階段:
此外,模型還通過自我指導(Self-Instruct)方式進行了訓練。Stanford Alpaca項目從ChatGPT中獲取了52,000條數據,并利用4塊A100 GPU在一天內完成了7B LLaMA的訓練,使其達到了類似于text-davinci-003模型的水平。 在成本方面,使用ChatGPT API的費用為500美元。而使用A100 GPU的成本則按每小時1美元計算,使用4塊A100 GPU進行24小時訓練的成本約為100美元。 有了以上信息,我們對于訓練與微調的成本大概有了些了解。訓練確實是一項耗資巨大的活動,通常需要反復嘗試、不斷優化,永無止境。盡管LoRA微調可以用較少的資源取得不錯的效果,甚至有可能用4090型號的顯卡就能實現,但購買裝備和資源仍然會造成一定的經濟負擔。哎~ ![]() 對于大型語言模型(LLM),目前ChatGPT仍然處于領先地位。但要開發相關應用,LLM模型的訓練和執行成本都相當高昂。因此,通過整合OpenAI或Azure的API可能是一種成本效益較高的做法。 然而,有些情況下不允許數據上傳到云端,或者必須重新訓練或微調以滿足需求,那么就需要考慮采用LLaMA、Mistral、Gemma等開源模型,并在本地端執行。 在運行LLM模型時,CPU/RAM/SSD的級別次要,最關鍵的是GPU。目前,H100/A100有錢也買不到。然后是工作站級別的GPU,如RTX-6000/5000/4500/4000/4000 SFF等,RTX-6000有48GB內存,不需要量化就可以直接運行13B大小的模型。再次下來是普通玩家勉強買得起的消費級顯卡4090,價格為1萬6-1萬9人民幣。如果一張不夠,想要體驗團結就是力量,可以考慮購買工作站級別的高端主機,可以插入四張雙寬度顯卡。 總之,要發揮本地端LLM的威力,仍然需要一定的經濟實力。對于運行7B或13B的LLaMA 2模型,不同級別的GPU性能差異如何?花錢裝兩張GPU會增加性能嗎?這篇文章算是對這些問題的初步探討,僅供參考。 先看不同型號單一 GPU 跑 LLM 的效能數字: 表格有附不同 GPU 跑 llama2-7b-chat 及 llama2-13b-chat 模型的效能數字,單位為 Tokens/s。CPU 只能用慘烈形容,不到 2。4090 跑 7B 模型數字挺漂亮,甚至贏過 A100。有趣的是 8 bit 量化版的數很難看,4 bit 量化版也輸給 16 bit,關于這點網路上討論不少,我的理解這是用動態量化節省記憶體的代價。參考:2-3x slower is to be expected with load_in_4bit (vs 16-bit weights), on any model -- that's the current price of performing dynamic quantization。 既然花了時間查找了這些信息,就順便分享給有興趣的同學參考。接下來一個問題是,如果口袋夠深,購買了可插多卡的工作站,多插幾張GPU來運行推理模型是否會更快一些?我找到了一篇關于3090運行LLaMA 2 7B的測試數據(LLM Inference on multiple GPUs with ?? Accelerate), 圖表上方為單純推理,下方為批次模式執行。插入五張3090時,可以明顯看到隨著GPU數量增加,GPU間通信成本會抵消增加的算力,結果不升反降。 更多: |
|