參考: https://zhuanlan.zhihu.com/p/7046080918
LLM(Large Language Model)大規模語言模型,是指具有大規模參數和復雜計算結構的機器學習模型。大模型里常說的多少B, B 是 Billion 的縮寫,表示 十億,如DeepSeek滿血版 671B(6710億參數);
大模型本質上是一個使用海量數據訓練而成的深度神經網絡模型,其巨大的數據和參數規模,實現了智能的涌現,展現出類似人類的智能。
語言大模型大模型主要分類:
NLP: 自然語言處理,常用于處理文本數據和理解自然語言;
常見模型: GPT系列(OpenAI)、Bard(Google)、文心一言(百度)
視覺大模型(CV):常用于圖像處理和分析,如圖像分類、目標檢測、圖像分割、姿態估計、人臉識別等;
常見模型: VIT系列(Google)、文心UFO、華為盤古CV、INTERN(商湯)。
多模態大模型: 這類模型結合了NLP和CV的能力,是指能夠處理多種不同類型數據的大模型,例如文本、圖像、音頻等多模態數據。
常見模型: DingoDB多模向量數據庫(九章云極DataCanvas)、DALL-E(OpenAI)、悟空畫畫(華為)、midjourney。
大模型的訓練流程:
- 數據準備
這部分包括:
①數據收集: 公開數據(新聞,媒體,論文,網頁)和內部數據,
數據通常要求合規(版權,法律)② 數據清洗和過濾: 去重,過濾(低質量的,違法暴力的,敏感的),格式化(統一格式)③預處理: 將清洗后的文本轉化為模型可識別的形式(分詞,截斷,填充,構建批次)
- 模型架構設計
這一階段確定架構和參數;
①架構選擇
選擇適合的模型架構來搭建LLM模型, Transformer 架構占據主導地位,
其他模型有:①RNN 及其變體: 循環神經網絡(RNN)、長短期記憶網絡(LSTM)、門控循環單元(GRU)②混合架構:Transformer + RNN 結合 Transformer 的注意力機制和 RNN 的序列建模能力。③稀疏注意力機制: 優化 Transformer 的注意力計算,降低時間和空間復雜度。④基于圖的架構: 將文本表示為圖結構,節點表示 token 或短語,邊表示語義關系。⑤基于內存的架構: 引入外部記憶模塊存儲知識,減少對模型參數的依賴。⑥量子計算啟發的架構: 借鑒量子計算原理設計新型神經網絡。⑦神經概率邏輯模型: 將深度學習與符號邏輯推理相結合。⑧其他(T5,Switch Transformers)
Transformer 有三個變體: Encoder-Only , Decoder-only ,Encoder-Decoder
Encoder-Only架構
僅由編碼器構成 也被稱為單向架構。
這種架構的優點是能夠更好地理解輸入文本的語義和上下文信息,常用于如文本分類、情感分析等。 缺點是它無法直接生成文本輸出,因此在需要生成文本的任務中不太適用。
通常用于: 文本分類、命名實體識別、情感分析等
模型代表: BERT、RoBERT 和 ALBERT 等。
Decoder-only 架構
僅包含解碼器,也被稱為生成式架構。
Decoder-Only 架構還有一個重要特點是可以進行無監督預訓練。在預訓練階段,模型通過大量的無標注數據學習語言的統計模式和語義信息。
通常用于: 文本生成類任務,如對話系統、故事創作、摘要生成等
模型代表: GPT系列、LLaMA、OPT、BLOOM等
Encoder-Decoder 架構
包含編碼器和解碼器部分
這種架構的優點是能夠更好地處理輸入序列和輸出序列之間的關系,從而提高機器翻譯和對話生成等任務的準確性。缺點是模型復雜度較高,訓練時間和計算資源消耗較大。
通常用于: 轉換類任務,如機器翻譯、語音識別、問答系統等。
模型代表: 例如Google的T5模型、華為的盤古NLP大模型等
②參數設計
模型的性能與參數規模強相關
模型規模:
總參數量(如 7B、13B、70B、175B 等,參數量越大,
理論上可學習的知識越豐富,但訓練成本越高);結構參數:
transformer 層數(L):表示 Transformer 模型的堆疊層數(通常幾十或上百層如 GPT-3 有 96 層);
層數決定了模型對輸入信息的提煉深度:隱藏層維度(d_model):每層的特征維度(如 GPT-3 為 12288);
維度越高意味著每個token的信息承載越多,注意力頭數(num_heads):影響模型對文本中 “不同關系” 的捕捉能力(如 GPT-3 有 96 個頭);上下文窗口:模型可處理的最大文本長度(如 GPT-3 為 2048 token,GPT-4 為 128k tokens),
窗口越大,模型對長文本的理解能力越強。
ps:
Token(令牌) 是最基本的文本處理單元,相當于模型“理解”文本的“最小單位”。
在數據預處理階段,將文本使用分詞器 Tokenizer進行分詞處理,即得到token;
- 預訓練
預訓練本質上是一種大規模的自監督學習過程。與傳統神經網絡需要人工標注數據不同,預訓練巧妙地利用文本數據本身的內在結構作為監督信號。具體而言,它是通過預測文本中的下一個詞來學習語言規律。也就是說,預訓練把復雜的語言學習問題轉化成了一個統計問題:在已知前面所有詞的情況下,去推斷下一個詞最有可能是什么。此階段耗時最長、資源消耗最大(需數千 GPU/TPU 運行數周甚至數月)。
它的意義在于
①繞過了數據標注的瓶頸。 預訓練讓模型從文本的自然結構中自主學習,無需外部監督。
②預訓練使模型不僅獲得了通用的語言表示能力,還獲得了常識知識、邏輯推理能力。(還有"涌現能力"現象——當模型規模達到臨界點時,會自然展現出訓練目標之外的智能行為,從簡單的文本預測中涌現出數學推理、代碼生成等高級能力。)
①訓練目標
1. 學習通用語言表示:掌握詞匯、語法、句法、語義等基礎語言規則。
2. 構建世界知識:從文本中吸收事實、概念、邏輯關系等知識。
3. 建立上下文理解能力:預測下一個詞時需要依賴前文語境。
②核心預訓練方法
主要分為兩類,區別在于訓練目標和模型架構:
1. 自回歸語言建模(Autoregressive LM)
原理:根據上文預測下一個詞(從左到右)。
代表模型:GPT 系列、LLaMA、Bloom。
特點:
天然適合生成任務。
訓練時只能看到上文信息(單向注意力)。2. 掩碼語言建模(Masked LM)
原理:隨機遮蓋輸入文本中的部分詞,讓模型預測被遮蓋的詞。
代表模型:BERT、RoBERTa。
特點:
能同時利用左右上下文(雙向注意力)。
更適合理解類任務(如文本分類、NER)
③訓練策略
分布式訓練:因模型參數量巨大(如 175B 參數需數十 TB 顯存),需通過分布式技術拆分任務:
數據并行:將數據拆分到多個設備,各自計算梯度后匯總;
模型并行:將模型層拆分到不同設備(如底層在 GPU1,上層在 GPU2);
張量并行:將單個層的參數拆分到多個設備(如注意力頭分布到不同 GPU);優化器與調度:常用 AdamW 優化器(帶權重衰減的 Adam),
學習率采用 “線性預熱 + 余弦衰減” 策略(避免初始學習率過大破壞模型);混合精度訓練:用 FP16(半精度)或 BF16(腦浮點)計算,
減少顯存占用并加速訓練(同時保留關鍵參數用 FP32 存儲,避免精度損失)。批次大小(Batch Size):從數百萬到數億 token(需分布式訓練)
④訓練監控
需實時監控關鍵指標,確保訓練穩定:
損失(Loss):訓練集和驗證集的損失應持續下降,若驗證集損失上升,可能出現過擬合;困惑度(Perplexity, PPL):衡量模型預測的 “不確定性”,PPL = exp (Loss),
值越低表示模型對文本的預測越準確(如 GPT-3 在預訓練后 PPL 約為 20);資源指標:GPU 利用率、顯存占用、網絡通信效率(分布式訓練中關鍵)。
訓練過程中會定期保存checkpoint(模型參數 + 優化器狀態),便于中斷后恢復或后續微調。
上面是大概流程,但是具體怎么操作么找到,找到也沒啥用,動不動就幾百上千萬美元,玩不起,也不會自己去訓練一個模型;
- 微調(適配具體場景)
預訓練與微調(Fine-tuning)的關系
預訓練:在大規模數據上學習通用語言知識。(使用海量無標注文本(TB級))
微調:在預訓練基礎上,使用特定任務的標注數據進一步優化模型。(使用少量任務標注數據(KB-MB級))
預訓練是“培養通才”,微調是“打造專才”
①微調(Fine-tuning)核心目標
1.任務適配:使通用模型掌握特定任務能力(如翻譯、摘要、客服)。
2.領域專業化:注入專業知識(如醫療、法律、金融)。
3.對齊人類偏好:優化輸出安全性、無害性和有用性(通過RLHF)。
4.彌補預訓練不足:糾正知識盲區或更新信息(如2023年后事件)。
②微調方法分類
按更新參數范圍分為全量微調FFT(Full Fine Tuning),高效參數微調PEFT(Parameter-Efficient Fine Tuning)
這種分類方法的核心問題是:微調時需要更新模型的多少參數?
全參數微調(Full Fine-tuning)
原理
更新預訓練模型的所有參數。適用場景
數據量充足(>10萬樣本)。
任務與預訓練數據分布差異大(如專業領域)。缺點
顯存占用高(需存儲優化器狀態和梯度)。
易災難性遺忘(Catastrophic Forgetting
參數高效微調(Parameter-Efficient Fine-tuning, PEFT)
核心思想:凍結大部分預訓練參數,只訓練少量新增參數。
優勢:顯存占用低、訓練速度快、避免遺忘。
主流技術:
LoRA 向Transformer層注入低秩矩陣(ΔW = A·B),僅訓練A、B。 顯存節省70%,支持多任務切換(替換矩陣)Adapter 在FFN層后插入小型全連接層,僅訓練該模塊。 增加推理延遲(約4%),適合串行部署Prompt Tuning 學習軟提示(Soft Prompt)向量,拼接輸入端。 幾乎不增加計算量,但對超參數敏感QLoRA LoRA + 4-bit量化(用NF4存儲預訓練權重),GPU顯存需求降低至1/3。 可在24GB消費級顯卡微調65B模型(如Llama 2)
按“微調目標與方法”劃分
這種分類方法的核心問題是:微調的目標是什么(教模型做什么)?用什么數據和方法實現?(即訓練范式)
監督微調(Supervised Fine-Tuning, SFT)
用人工標注的“輸入-輸出”(監督數據)訓練模型,
通過最小化預測輸出與目標輸出的損失(如交叉熵),
讓模型學習“在特定輸入下生成正確輸出”。指令微調(Instruction Tuning):使用多樣化的指令 - 響應數據訓練模型,使其理解并遵循人類指令,它屬于SFT的一種,但數據從“輸入-輸出”升級為“自然語言指令-響應”,目標是讓模型理解并執行任意自然語言指令,指令微調側重 “指令”,SFT 側重 “響應”
基于人類反饋的強化學習(RLHF)
通過人類對模型輸出的偏好反饋(如排序、評分)訓練“獎勵模型”,再用強化學習(如PPO算法)優化模型,讓輸出更符合人類價值觀(如“更安全”“更有用”“更誠實”)。用于對齊階段,屬于微調的一種, 目標是讓模型安全、有用、符合人類偏好。
方法是
獎勵模型(Reward Model, RM)(通常基于 SFT 模型結構)輸入 “問題 + 輸出”,輸出一個分數(分數越高越符合人類偏好)用 RM 的分數作為 “獎勵”,通過強化學習優化模型,讓其生成更符合人類偏好的內容。
多任務微調:
數據: 混合任務標注數據;
目標: 提升跨任務泛化能力
領域微調:
數據: 特定領域文本(如醫療、法律)無嚴格格式(相當于用隱私數據在訓練一下)
目標: 適應專業領域
通常在預訓練后、任務微調前(為領域任務打基礎)
- 對齊
目標是讓AI系統的行為與人類需求、偏好和價值觀保持一致
翻譯成人話就是:“減少有害信息輸出,使輸出更加友好(會說話)”; 有害信息包括不限于,虛假,無效,違法,犯罪,反動,色情,暴力…等信息,
除了RLHF(強化學習從人類反饋)還有其他對齊方法
RLOO(RL from AI Feedback):用 AI 替代人類標注偏好數據(降低成本);
DPO(Direct Preference Optimization):直接用人類偏好數據微調模型,無需訓練獎勵模型(簡化流程);
安全微調(Safety Fine-tuning):用 “有害指令 + 安全響應” 數據微調,讓模型拒絕生成有害內容(如 “如何制作炸彈”→“抱歉,我不能提供此類信息”)。
- 評估 驗證 “模型性能”
評估需覆蓋能力、安全、效率等多維度,貫穿訓練全流程(預訓練、SFT、對齊后均需評估)。
基礎能力:語言理解(如分詞、語義相似性)、生成質量(流暢度、連貫性)、推理能力(邏輯推理、數學計算)、知識覆蓋(事實準確性);
任務性能:在標準基準測試上的表現(如 MMLU 測試知識問答,GLUE 測試語言理解,HumanEval 測試代碼生成);
安全性:通過 “紅隊測試”(用有害指令誘導模型)評估是否生成有害內容;
對齊度:人工評估模型輸出是否符合人類偏好(如簡潔性、相關性);
效率:推理速度(tokens / 秒)、顯存占用、訓練 / 推理成本。
- 部署
部署的目標是讓模型在實際場景中高效可用(如 API 服務、App 集成)。
常見操作有
模型壓縮
量化:將參數從 FP32 轉為 INT8/INT4(如 GPTQ、AWQ 技術),顯存占用可降低 75% 以上,幾乎不損失性能;
剪枝:移除冗余參數(如不重要的注意力頭或神經元);
知識蒸餾:用大模型(教師)教小模型(學生),保留核心能力。
推理優化
推理引擎:用優化的推理框架(如 TensorRT-LLM、vLLM)加速生成速度(支持批量推理、連續批處理);
上下文緩存:緩存輸入文本的計算結果(如注意力矩陣),避免重復計算。
部署與監控
部署形式:以 API 服務(如 OpenAI 的 ChatCompletion)、本地部署(如企業私有云)或邊緣設備(如手機)形式落地;
持續監控:跟蹤模型輸出的安全性(如用過濾器攔截有害內容)、性能變化(如是否出現 “模型漂移”),并基于用戶反饋迭代優化。