私有化大模型基礎知識
文章目錄
- 私有化大模型基礎知識
- 0x01.開源閉源
- 2. 數據成本:昂貴且隱形的開銷
- 3. 研發投入:人力與時間成本
- 總結:總成本量化
- 更重要的是:持續投入和機會成本
- 0x02.模型大小
- 0x03.模型參數
- 0x04.CPU和GPU
- 0x05.GPU和模型大小的關系
- 0x06.**Pretraining,Fine-Tuning,SFT,RLHF**
學習內容
- 開源、閉源
- 模型大小
- 模型參數
- GPU、CPU
- GPU和模型大小的關系
- 預訓練和微調
0x01.開源閉源
企業 | 大模型 | 開源 | 閉源 |
---|---|---|---|
OpenAI | GPT-1、GPT-2、GPT-3 | ? | |
GPT-3.5、GPT-4 | ? | ||
Meta | LLaMA(僅用于研究) | ? | |
LLaMA2 | ? | ||
谷歌 | PaLM 2 | ? | |
微軟 | Turning-NLG | ? | |
Authropic | Claude | ? | |
Cohere | Cohere | ? | |
Stability AI | StableLM | ? | |
LMSYS | Vicuna | ? | |
Mosaic ML | MPT-30B | ? | |
阿聯酋技術創新研究所 | Falcon | ? | |
智譜 | GLM-130B、Chat-GLM-6B、Chat-GLM2-6B | ? | |
Chat-GLM2-12B、Chat-GLM2-32B、Chat-GLM2-66B、Chat-GLM2-130B | ? | ||
百度 | 文心 | ? | |
阿里 | Qwen-7B、Qwen-7B-Chat | ? | |
華為 | 盤古 | ? | |
商湯 | 日日新 | ? | |
科大訊飛 | 星火 | ? | |
百川智能 | baichuan-7B、baichuan-13B | ? | |
baichuan-53B | ? | ||
深度求索(DeepSeek) | DeepSeek- R1、DeepSeek-V3 | ? |
從零開始(From Scratch)訓練一個大型語言模型(LLM)是一項極其艱巨且昂貴的任務,通常只有國家實驗室或科技巨頭才有能力承擔。我們可以從算力、數據和研發投入三個核心維度來進行具體量化。從零訓練一個達到GPT-3.5或LLaMA 2級別能力的大模型,其總成本輕松超過1億美元,甚至逼近或達到10億美元級別。這是一個“入場費”極高的游戲。
-
算力成本:最大的開銷,主要是GPU
算力成本是其中最可量化,也是最驚人的部分。它主要分為兩部分:訓練成本和推理成本
? 衡量單位:FLOPs(浮點運算次數)和 GPU-Hours(GPU小時)
-
訓練計算量(FLOPs): 訓練一個模型所需的總計算量大致與模型參數量和訓練數據量(Token數) 的乘積成正比。
- 公式(估算): Total FLOPs ≈ 6 1 * (模型參數量) * (訓練數據的Token數量)
- 例如:訓練一個1750億參數(類似GPT-3)的模型,使用3000億個Token的數據,總計算量約為 6 * 175B * 300B = 3.15 * 102? 次FLOPs。
-
硬件與時間成本:
- 硬件: 需要成千上萬顆頂級GPU(如NVIDIA H100, A100)。這些芯片每顆售價在2萬到4萬美元之間。
- 集群規模: 訓練上述規模的模型,通常需要一個由數千到上萬顆GPU組成的集群,連續運行數周甚至數月。
- 能耗: 這樣一個GPU集群的功耗是兆瓦(MW)級別的,相當于一個小型城鎮的用電量。
量化估算(以訓練一個千億級參數模型為例):
項目 | 估算值 | 說明 |
---|---|---|
所需GPU數量 | 2,000 - 10,000 顆 (如A100/H100) | 取決于訓練效率、框架優化水平和時間要求。 |
訓練時間 | 30 - 90 天 | 連續不間斷運行。 |
GPU小時成本 | 約 $1 - $2 / GPU小時 (云服務價格) | 如果自建集群,需計算折舊和電費,成本類似。 |
總訓練算力成本 | $1.44M - $43.2M | 計算:2000顆GPU * 24小時 * 30天 * $1 = ~$1.44M (下限) 10000顆GPU * 24小時 * 90天 * $2 = ~$43.2M (上限) |
這只是訓練一次的成本! 模型研發過程中需要無數次實驗、調試和失敗,實際消耗的算力可能是最終成功訓練一次的10倍到100倍。
2. 數據成本:昂貴且隱形的開銷
數據成本不僅在于獲取,更在于清洗、去重、標注和質量控制。
- 數據規模: 一個 competitive 的大模型需要數萬億個高質量Token(約合數十TB的純文本數據)。例如:
- LLaMA 2 使用了 2 萬億個Token。
- GPT-3 使用了約 3000 億個Token(但數據質量可能更高)。
- Chinchilla 定律指出,對于計算預算固定的情況,模型參數量和訓練數據量應該以大約1:1的比例縮放(例如,700億參數的模型應使用1.4萬億Token訓練)。
- 成本構成:
- 采集與許可: 購買高質量數據集(如學術論文、書籍、代碼庫)或獲取網絡數據的版權許可,費用可能高達數百萬美元。
- 清洗與預處理: 這是最耗人力的部分。需要大量數據工程師和標注員。清理數萬億Token的數據,人力成本可能需要數百人年,折合數千萬美元。
- 質量要求: 低質量、重復或有毒的數據會嚴重損害模型性能,所謂“垃圾進,垃圾出”(Garbage in, garbage out)。
量化估算:
項目 | 估算值 | 說明 |
---|---|---|
數據量 | 1萬億 - 5萬億個Token | |
數據獲取/許可成本 | $1M - $10M+ | 如果大量使用付費專有數據,成本會極高。 |
數據清洗與預處理成本 | $10M - $50M+ | 假設需要100名數據工程師/標注員工作1-2年(年薪+福利按$15萬計),僅人力成本就超過$1500萬。 |
3. 研發投入:人力與時間成本
- 團隊規模與構成: 你需要一個世界級的團隊,包括:
- AI研究員(PhD級別): 負責算法創新、模型架構設計。
- 機器學習工程師: 負責分布式訓練框架、效率優化。
- 數據工程師: 負責數據處理 pipeline。
- 基礎設施工程師: 維護龐大的GPU集群。
- 一個核心團隊至少需要50-100名頂尖人才,而大公司(如OpenAI, Google)的團隊規模可達數百人。
- 時間成本: 從項目啟動到產出第一個可用的基礎模型(Base Model),即使一切順利,也至少需要1-2年時間。這段時間內,你只有投入,沒有產出。
量化估算:
項目 | 估算值 | 說明 |
---|---|---|
核心團隊規模 | 50 - 100 人 | |
研發時間 | 12 - 24 個月 | |
人力成本 | $50M - $200M+ | 假設團隊平均年薪$20萬(含福利和公司開支),50人兩年僅工資支出就達$2000萬。頂尖人才的薪酬遠高于此。 |
總結:總成本量化
將以上所有成本相加,我們可以得到一個粗略的總成本區間:
成本類型 | 低成本估算 | 高成本估算 | 說明 |
---|---|---|---|
算力成本 | $15 Million | $100 Million+ | 包含多次實驗和調優 |
數據成本 | $10 Million | $60 Million+ | 高質量數據是成功的關鍵 |
研發人力成本 | $50 Million | $200 Million+ | 頂尖人才昂貴 |
總成本估算 | ~$75 Million | ~$360 Million+ | 這是一個極其粗略的估算 |
這意味著,從零開始訓練一個具有競爭力的大模型,其總投入在數億到十億美元之間。
更重要的是:持續投入和機會成本
- 推理成本: 模型訓練出來后的部署和推理(供用戶使用)成本同樣巨大,可能超過訓練成本。
- 迭代更新: 技術日新月異,你需要持續投入巨資進行模型迭代,否則很快會落后。
- 機會成本: 將這么多資金和人力投入一個高風險、長周期的項目,意味著無法將它們用于其他可能更見效的業務。
正因為如此高的門檻,大多數企業選擇以下路徑而非從零開始:
- 使用API: 直接調用OpenAI、Anthropic等公司的API,按使用量付費。成本最低,啟動最快。
- 微調(Fine-Tuning): 基于已有的開源基礎模型(如LLaMA 2, Mistral),用自己的領域數據進行微調。成本僅為從零訓練的1%甚至0.1%,卻能獲得很好的領域性能。
- 預訓練(Pre-Training): 在開源模型的基礎上,用大量數據繼續預訓練,使其更適應特定領域(如醫學、法律)。成本介于微調和從零訓練之間。
除非企業有雄厚的資本實力、明確且巨大的戰略需求、以及組建世界級團隊的能力,否則“從零開始”更像一個科技巨頭的“軍備競賽”,對絕大多數公司來說并非理性選擇。
0x02.模型大小
Chat-GLM-6B 中的 XX B 是一種用來表示模型的大小或者數據集的規模的縮寫,其中 X 是一個數字,B 是billion(十億)的首字母。例如,6B 就是 60億,34B 就是 340 億。
人工智能的大模型中,XXB 是用來看模型有多厲害的一個標準。一般來說,參數越多,模型就越厲害,能夠做更多的任務,比如說話、寫字、畫畫等。
0x03.模型參數
機器學習模型需要從大量的數據中學習,參數越多,它們在存儲和處理信息方面的能力就越強大。大模型具有更多的參數,這意味著它們能夠記住更多的信息和模式,并用于生成更準確、自然的輸出。以線形模型為例:
簡單的全連接神經網絡
Input Layer :3個輸入
OutPut Layer:1個輸出
Hidden Layer :隱藏層是用來計算的
W:影響的X與Y的線性關系,多輸入就會有多個W,W和連接數有關。
B:綁定在神經元上跟連接數沒關系,跟輸出有關系。
上圖中 :
3 * 4+4 * 4 +4 *1 =32 W
4 + 4 + 1=9 個神經元
32 +9 = 41 個參數
0x04.CPU和GPU
-
CPU
中央處理器 (CPU) 由數十億個晶體管構成,可以擁有多個處理核心,通常被稱為計算機的“大腦”。它是所有現代計算系統必不可少的組成部分,因為它負責執行計算機和操作系統所需的命令和流程。在執行網頁瀏覽、游戲物理計算和其他程序的運行以及電子表格構建等任務時,CPU 對確定程序運行速度也非常重要。
-
GPU
圖形處理單元 (GPU) 具有許多更小、更專業的核心。這些核心協同運行,并將處理任務同時(即并行)劃分給許多核心,從而提供強勁的性能。GPU 擅長處理高度并行任務,例如在游戲過程中渲染視覺效果,在內容創作過程中操縱視頻數據,以及在密集型 AI 工作負載中計算結果
CPU 和 GPU 有什么區別?
CPU 和 GPU 具有很多共同點:它們都是重要的計算引擎,都是基于芯片的微處理器,并且,兩者都處理數據。但是 CPU 和 GPU 具有不同的架構,構建的目的也不同。
CPU 適用于各種任務,特別是對延遲或單核性能要求較高的任務。作為強大的執行引擎,CPU 注重用較少的核心來處理單個任務,并快速將其完成。因此,它在處理從串行計算(在單個處理器上一次只執行一個任務)到運行數據庫等各種任務時獨具優勢。
GPU 最初是專為加速圖形和 3D 渲染任務(如游戲)等特殊用途而設計的專用集成電路 (ASIC)。隨著時間的推移,這些功能固定的引擎變得更加可編程化、更加靈活。雖然圖形和超現實的游戲視覺效果仍然是其主要功能,但 GPU 已經成為更通用的并行處理器,能夠同時執行許多任務,處理越來越多的應用,包括 AI。相比于CPU,GPU在并行計算和圖形渲染方面都具有更高的性能和效率。
如今已不存在 CPU 與 GPU 非此即彼的問題。相比以往,您更需要同時利用兩者來滿足各種計算需求。使用正確的工具完成工作,便可取得最佳的效果。
很多人都搞不清GPU和顯卡的區別:
-
GPU不是顯卡
GPU是顯卡上的一塊芯片,也就是圖像處理芯片,屬于顯卡的重要組成部分。GPU使顯卡減少了對CPU的依賴,并進行部分原本
CPU的工作,尤其是在3D圖形處理時GPU所采用的核心技術有硬件T&L(幾何轉換和光照處理)、立方環境材質貼圖和頂點混合、紋理壓縮和凹凸映射貼圖、雙重紋理四像素256位渲染引擎等,而硬件T&L技術可以說是GPU的標志。
全球有哪些知名廠商
- 英偉達
- AMD
- intel
- 高通
- 蘋果
- 景嘉微
英偉達GPU芯片銷量最大的幾個型號
1、Tesla系列
Tesla系列芯片是英偉達針對高性能計算和并行計算而設計的GPU芯片,其特點是高度可編程性和高性能。Tesla系列芯片的應用
領域包括科學計算、石油勘探、氣象預報、深度學習等領域。例如,Tesla V100是一款擁有640個張量核心的GPU芯片,能夠實
現高性能的深度學習計算。
2、Quadro系列
Quadro系列芯片是英偉達為計算機圖形學和可視化而設計的GPU芯片,其特點是高度的圖形性能和精度。Quadro系列芯片的應
用領域包括建筑設計、影視制作、游戲開發等領域。例如,Quadro RTX 6000是一款擁有4864個CUDA核心的GPU芯片,能夠實
現高精度、高逼真的圖形渲染。
3、GeForce系列
GeForce系列芯片是英偉達面向游戲玩家和計算機愛好者而設計的GPU芯片,其特點是出色的圖形性能和較低的價格。GeForce
系列芯片的應用領域包括游戲開發、虛擬現實、數字內容制作等領域。例如,GeForce RTX 2080 Ti是一款擁有4352個CUDA核
心的GPU芯片,能夠實現高速的游戲渲染和虛擬現實應用。
4、Titan系列
Titan系列芯片是英偉達面向專業用戶和高端游戲玩家而設計的GPU芯片,其特點是超高的圖形性能和精度。Titan系列芯片的應
用領域包括游戲開發、計算機輔助設計、數字內容制作等領域。例如,Titan RTX是一款擁有4608個CUDA核心的GPU芯片,能
夠實現高精度、高逼真的圖形渲染。
英偉達GPU型號命名規則
從網上引用的一句話: 50系是敲門磚,60系是甜點卡,70系是中堅力量,80系是性能猛獸,90系是終極信仰。
CUDA是干什么的
CUDA是NVIDIA為GPU開發的并行計算平臺和編程模型,通過軟件層將GPU的硬件并行能力轉化為通用計算資源。
GPU(圖形處理器)是專門處理圖形渲染和并行計算的硬件,其核心優勢在于通過數千個小型處理單元(如CUDA Core)實現數據并行處理。不同于CPU的復雜指令串行處理,GPU采用SIMT(單指令多線程)架構,適合處理高密度計算任務。
CUDA(統一計算設備架構)
包含三個核心組件
- 編程模型?:支持C/C++等語言擴展,允許開發者定義并行執行的函數(核函數);?
- 運行時環境?:管理GPU內存分配、任務調度與執行流;??
- 硬件抽象層?:將GPU物理架構(如SM流式多處理器)映射為邏輯線程塊,實現跨代硬件兼容。
CPU和GPU如何配置
盡管CPU并不直接參與深度學習模型計算,但CPU需要提供大于模型訓練吞吐的數據處理能力。通常為每塊GPU分配固定數量的CPU邏輯核心。理想情況下,模型計算吞吐隨GPU數量線性增長,單GPU的合理CPU邏輯核心數分配可以直接線性擴展到多GPU上。每塊GPU應配備至少4~8核心的CPU,以滿足多線程的異步數據讀取。
0x05.GPU和模型大小的關系
Float32 為4個字節
Float16 為2個字節
Int8 為一個字節
Int4 為0.5個字節
以7B 為例:
Float32=7?109?4/10243=26.077032089233GFloat32 = 7 * 10^9*4/1024^3 = 26.077032089233 G Float32=7?109?4/10243=26.077032089233G
Float16 = 13.03 G
Int8 = 6.519G
Int4= 3.25G
1G=1024?1024?1024=102431G=1024 * 1024 * 1024= 1024^3 1G=1024?1024?1024=10243
模型訓練影響顯存因素
-
模型參數
-
梯度
-
優化器參數
-
樣本大小
-
BatchSize
訓練需要的顯存是推理的10幾倍
0x06.Pretraining,Fine-Tuning,SFT,RLHF
預訓練(Pre-training)是語言模型學習的初始階段,在預訓練期間,模型會接觸到大量未標記的文本數據,例如書籍、文章和
網站。給出ChatGPT。
基于人類反饋的強化學習(Reinforcement Learning from Human Feedback)人工先介入,通過對同一個Prompt生成答案的排序來訓練一個Reward Model。再用Reward Model去反饋給SFT Model,通過評價生成結果的好壞,讓模型更傾向于生成人們喜好的結果。RLHF是一種更復雜、更耗時的方法來微調LLM,但它比SFT更有效。
“6” : 一個基于Transformer模型訓練過程推導出的經驗近似值訓練過程。主要由兩個部分組成:前向傳播(Forward Pass) 和反向傳播(Backward Pass)。反向傳播的計算量通常是前向傳播的2倍。所以,前向傳播 (2) + 反向傳播 (4) = 總共 ~6 FLOPs per parameter per token ??