一、導讀
作為非AI專業技術開發者(我是小小爬蟲開發工程師😋)
本系列文章將圍繞《大模型微調》進行學習(也是我個人學習的筆記,所以會持續更新),最后以上手實操模型微調的目的。
(本文如若有錯誤的地方,歡迎批評指正)
(寫作不易,方便的話點個贊,謝謝)
?《大模型微調》系列文章路徑
01 | 大模型微調 | 從0學習到實戰微調 | AI發展與模型技術介紹
1、本文摘要
本文以圍繞語言模型為核心進行階段發展闡述
- 以理解每個階段特性就好了,缺陷更相關典型內容
- 然后下一個階段解決了上一個階段什么問題
本02內容,理論太多了,寫的過程也是炸裂,但是莫得辦法,實操馬上在03.....QAQ
2、碎碎念
💪 為什么要學習AI呢? 💪
- 作為一名爬蟲開發工程師,我深知技術領域的不斷變革與發展
- 如今,AI 已然成為時代浪潮的核心驅動力,就如同 Windows 操作能力是從業者的基礎技能,
- 我堅信未來 AI 開發應用必將成為程序員不可或缺的能力標簽。
你可以閱讀我下列文章
1?? 關于langchain的系列文章(相信我把Langchain全部學一遍,你能深入理解AI的開發)
01|LangChain | 從入門到實戰-介紹
02|LangChain | 從入門到實戰 -六大組件之Models IO
03|LangChain | 從入門到實戰 -六大組件之Retrival
04|LangChain | 從入門到實戰 -六大組件之Chain
05|LangChain | 從入門到實戰 -六大組件之Memory
06|LangChain | 從入門到實戰 -六大組件之Agent
2?? 關于Langchain的實戰案例(自認為本地問答機器人的案例寫的很好,很好理解ReAct)
Langchain-實戰篇-搭建本地問答機器人-01
都2024了,還在糾結圖片識別?fastapi+streamlit+langchain給你答案!
3?? 關于Agent智能體開發案例(MCP協議)
在dify構建mcp,結合fastapi接口,以實際業務場景理解MCP
4?? 推薦閱讀一下transformer 文章,以便能更好的理解大模型
Transformer模型詳解(圖解最完整版)
Attention Is All You Need (Transformer) 論文精讀
5?? 除了在 CSDN 分享這些技術內容,我還將在微信公眾號持續輸出優質文章,內容涵蓋以下板塊:?
(當然我也希望能夠跟你們學習探討😀)
關注😄「穩穩C9」😄公眾號
- 爬蟲逆向:分享爬蟲開發中的逆向技術與技巧,探索數據獲取的更多可能。?
- AI 前沿內容:緊跟 AI 發展潮流,解讀大模型、算法等前沿技術動態。?
- 騎行分享:工作之余,用騎行丈量世界,分享旅途中的所見所感。
二、語言模型發展過程
階段 | 核心定義 | 代表性成果 | 主要限制 | 推薦論文 |
---|---|---|---|---|
統計語言模型 | 基于概率統計的語言建模方法,通過馬爾可夫假設簡化條件概率,利用語料庫統計詞共現頻率計算序列概率。 | - N-gram模型(如三元組"我 愛 自然",通過 ( P(自然 | 我, 愛) ) 建模局部依賴) - 早期應用:IBM語音識別系統(1990s)、輸入法候選詞推薦。 | - 參數爆炸:詞匯量 ( V ) 時,n-gram參數規模達 ( O(V^n) )(如3-gram需 ( V^3 ) 存儲) - 局部依賴局限:僅建模前 ( n-1 ) 個詞,無法捕捉長距離語義關聯(如“自然語言處理”中的跨詞依賴)。 |
神經網絡語言模型 | 利用神經網絡學習分布式詞向量(詞嵌入),通過非線性變換建模上下文語義關聯,端到端優化語言序列概率。 | - NNLM(Bengio, 2003):首個神經網絡語言模型,引入詞嵌入與多層感知機 - Word2Vec/GloVe(2013-2014):高效詞向量生成模型,推動語義相似度計算突破 - LSTM語言模型:通過門控機制緩解RNN梯度消失,捕捉長距離依賴(如“她 出生 于 北京,那里 有 故宮”)。 | - 順序計算瓶頸:RNN/LSTM依賴時序遞推,無法并行處理長序列(如超長文本生成效率低下) - 固定窗口局限:早期前饋模型(如FFNNLM)依賴固定窗口大小,上下文建模能力有限。 | 《A Neural Probabilistic Language Model》(Bengio et al., 2003) 《Distributed Representations of Words and Phrases and their Compositionality》(Mikolov et al., 2013) |
基于Transformer的預訓練語言模型 | 完全依賴自注意力機制建模全局語義關聯,通過大規模無監督預訓練(如掩碼語言模型、自回歸生成)學習通用語言表征,支持微調適配下游任務。 | - 編碼器模型:BERT(2018,雙向Transformer,在GLUE基準首次超越人類表現) - 解碼器模型:GPT-3(2020,1750億參數,實現少樣本/零樣本學習,如文本生成、代碼補全) - 里程碑:Transformer架構(2017)統一自然語言理解與生成任務。 | - 計算復雜度高:自注意力機制時間復雜度 ( O(n^2) ),處理長文本(如4096+ tokens)顯存消耗巨大 - 預訓練成本高昂:GPT-3訓練需數千張GPU運行月級時間,資源門檻極高 - 生成可控性差:開放式生成易出現邏輯錯誤或事實偏差(如“巴黎是英國的首都”)。 | 《Attention Is All You Need》(Vaswani et al., 2017) 《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》(Devlin et al., 2018) 《Language Models are Few-Shot Learners》(Brown et al., 2020) |
為什么要提到這3個過程?
從數據概率到大模型的過程,我們需要知道其要進行發展的原因
-
算法我是真的不太懂😭~~ 我還是以快速上手微調為目標
-
所以,下文案例,我盡量以生動形象的闡述,關于算法的詳細論述就不過多展開了
PS:下面3個階段為語言模型過程
- 紅色代表問題
- 綠色代表解決了上一個階段的問題
語言模型演進關系圖
1. 經典統計語言模型(左)
- 核心缺陷(向下分支):
🔴 參數空間爆炸(n-gram參數隨n指數增長,如10-gram參數達(10^{50}))
🔴 數據稀疏性(低頻詞組合概率估算失效,如“量子花園”)
🔴 語義建模弱(One-Hot編碼無法捕捉詞間關聯,僅局部依賴) - 改進方向(向右箭頭指向神經網絡模型):
→ 被神經網絡模型通過分布式表示和非線性建模解決
2. 神經網絡語言模型(中)
- 解決的經典問題(向左箭頭指向統計模型):
? 分布式表示(詞嵌入降維,緩解參數爆炸和稀疏性)
? 非線性建模(捕捉高階依賴,突破局部限制) - 新缺陷(向下分支):
🔴 計算復雜度高(RNN/LSTM順序計算,訓練慢)
🔴 長距離依賴不徹底(LSTM門控機制仍難處理極長序列)
🔴 數據依賴強(需海量標注數據,小數據過擬合) - 改進方向(向右箭頭指向Transformer模型):
→ 被Transformer通過自注意力機制和并行計算解決
3. 基于Transformer的語言模型(右)
- 解決的神經網絡問題(向左箭頭指向神經網絡模型):
? 全局依賴建模(自注意力直接捕捉長距離關聯)
? 并行化能力(自注意力層可批量計算,訓練速度提升)
? 位置編碼(補充時序信息,彌補無循環結構缺陷) - 新缺陷(向下分支):
🔴 參數量爆炸(GPT-4達1.8萬億參數,訓練成本極高)
🔴 數據需求激增(需TB級語料,小數據場景難適用)
🔴 生成質量問題(幻覺、長文本邏輯斷層、事實錯誤)
三、經典統計語言模型
1、定義
統計語言模型(Statistical Language Model, SLM)是自然語言處理(NLP)領域的核心技術之一,通過概率方法量化語言序列的合理性。
統計語言模型是用于計算一個句子出現概率的概率模型,描述為字符串 ( s ) 的概率分布 ( P(s) )。
通過貝葉斯公式,可將其分解為條件概率的乘積:
P ( s ) = P ( w 1 ) P ( w 2 ∣ w 1 ) P ( w 3 ∣ w 1 , w 2 ) … P ( w l ∣ w 1 , w 2 , … , w l ? 1 ) P(s) = P(w_1)P(w_2|w_1)P(w_3|w_1, w_2)\dots P(w_l|w_1, w_2, \dots, w_{l-1}) P(s)=P(w1?)P(w2?∣w1?)P(w3?∣w1?,w2?)…P(wl?∣w1?,w2?,…,wl?1?)
其中 ( w_1, w_2, \dots, w_l ) 為句子中的詞,通過統計語料庫獲取條件概率,進而計算句子概率。
但該模型存在兩個問題:
-
參數空間過大
。
若模型采用 ( 10 - gram )(即每個詞依賴前面 10 個詞),假設詞匯量為 ( 10^5 )(實際語言的詞匯量更大),那么僅計算 P ( w i ∣ w i ? 1 , w i ? 2 , … , w i ? 10 ) P(w_i | w_{i-1}, w_{i-2}, \dots, w_{i-10}) P(wi?∣wi?1?,wi?2?,…,wi?10?) 這一層的參數數量就達到 ( 1 0 5 ) 10 (10^5)^{10} (105)10這是一個天文數字,存儲和計算這些參數幾乎不可能,嚴重體現了參數空間過大的問題。 -
模型過于稀疏
。
當生成句子“主人公在量子花園中尋找神秘鑰匙”時,“量子花園”這樣的組合在普通語料庫中極少出現。
計算 P ( 花園 ∣ 量子 ) P(\text{花園} | \text{量子}) P(花園∣量子)時,由于缺乏足夠的統計數據(語料庫中“量子”后面接“花園”的實例極少甚至沒有)
導致這個條件概率難以準確估算,模型無法有效處理這種罕見的詞匯組合,
這就是模型過于稀疏的體現——大量詞組合因未在語料庫中出現或出現次數不足,使得概率計算失去可靠依據。
2、舉例子理解
以手機語音輸入的自動糾錯功能為例,能生動展現統計語言模型的運作。
當你說 “我今天去超柿”,手機卻顯示 “我今天去超市”,這正是統計語言模型在 “幕后” 工作。
統計語言模型會計算 “超柿” 與 “超市” 在該語境中的出現概率。它基于大量語料庫,分析 “超” 字后續接 “市” 和 “柿” 的條件概率。
比如,在海量文本中,“超” 后接 “市”(如 “超市”“商場” 等場景)的頻率遠高于 “柿”(僅指水果 “柿子”,與 “超” 搭配極少見)。
模型通過計算
P ( 市 ∣ 超 ) P(市∣超) P(市∣超)
和
P ( 柿 ∣ 超 ) P(柿∣超) P(柿∣超)
發現前者條件概率更高,再結合整句
P ( 我今天去超市 ) = P ( 我 ) P ( 今天 ∣ 我 ) P ( 去 ∣ 我今天 ) P ( 超 ∣ 我今天去 ) P ( 市 ∣ 我今天去超 ) P(我今天去超市)=P(我)P(今天∣我)P(去∣我今天)P(超∣我今天去)P(市∣我今天去超) P(我今天去超市)=P(我)P(今天∣我)P(去∣我今天)P(超∣我今天去)P(市∣我今天去超)
其整體概率遠大于 “我今天去超柿”,于是自動糾錯為 “超市”。
這個過程就像模型在 “猜測”:根據已有的語言習慣和語境,哪個詞出現最合理?
通過條件概率的層層計算,最終給出符合常見語言模式的結果,讓交流更順暢。
3、典型算法
統計語言模型的核心算法圍繞馬爾可夫假設(Markov Assumption)和n-gram模型展開,通過簡化條件概率的依賴關系解決參數空間爆炸問題。
3.1 馬爾可夫假設與n-gram
馬爾可夫假設認為:語言序列中某個詞的出現僅依賴于其前有限個詞,而非整個歷史序列。具體來說,若假設當前詞 ( w_i ) 僅依賴于前 ( n-1 ) 個詞 ( w_{i-n+1}, \dots, w_{i-1} ),則構成 n-gram模型。其數學表達式為:
P ( w i ∣ w 1 , w 2 , … , w i ? 1 ) ≈ P ( w i ∣ w i ? n + 1 , … , w i ? 1 ) P(w_i | w_1, w_2, \dots, w_{i-1}) \approx P(w_i | w_{i-n+1}, \dots, w_{i-1}) P(wi?∣w1?,w2?,…,wi?1?)≈P(wi?∣wi?n+1?,…,wi?1?)
-
unigram(1-gram):假設詞與詞之間獨立,概率退化為單詞語法頻率,即 ( P ( w i ∣ w i ? 1 ) = P ( w i ) ( P(w_i | w_{i-1}) = P(w_i) (P(wi?∣wi?1?)=P(wi?) ,忽略上下文依賴。
-
bigram(2-gram):考慮前一個詞的影響,如 P ( w i ∣ w i ? 1 ) P(w_i | w_{i-1}) P(wi?∣wi?1?) ,參數數量為 V 2 V^2 V2 (( V ) 為詞匯量)。
-
trigram(3-gram):考慮前兩個詞的影響,如 [ P(w_i | w_{i-2}, w_{i-1}) ],參數數量為 ( V^3 )。
n-gram模型通過截斷歷史依賴,將參數空間從 [ O(V^l) )(( l ) 為句子長度)降至 ( O(V^n) \ ],顯著提升了計算可行性。
例如,當 ( n=3 ) 且 ( V=10^5 ) 時,參數數量為 ( 10^{15} ),雖仍龐大但遠低于10-gram的 ( 10^{50} )。
3.2 數據平滑技術
盡管n-gram模型緩解了參數空間問題,數據稀疏性
仍是核心挑戰(如未登錄詞或低頻詞組合)。為此,需引入平滑算法調整概率估計,避免零概率問題。典型方法包括:
- 拉普拉斯平滑(Laplace Smoothing):對所有n-gram計數加1,確保未出現的組合概率非零,如:
P ( w i ∣ w i ? 1 ) = C ( w i ? 1 , w i ) + 1 C ( w i ? 1 ) + V P(w_i | w_{i-1}) = \frac{C(w_{i-1}, w_i) + 1}{C(w_{i-1}) + V} P(wi?∣wi?1?)=C(wi?1?)+VC(wi?1?,wi?)+1?
其中 ( C(\cdot) ) 表示共現次數,( V ) 為詞匯表大小。 - 插值法(Interpolation):結合低階n-gram概率(如bigram與unigram),通過加權平均平滑高頻與低頻模式,公式為:
P ( w i ∣ w i ? 2 , w i ? 1 ) = λ 3 P ( w i ∣ w i ? 2 , w i ? 1 ) + λ 2 P ( w i ∣ w i ? 1 ) + λ 1 P ( w i ) P(w_i | w_{i-2}, w_{i-1}) = \lambda_3 P(w_i | w_{i-2}, w_{i-1}) + \lambda_2 P(w_i | w_{i-1}) + \lambda_1 P(w_i) P(wi?∣wi?2?,wi?1?)=λ3?P(wi?∣wi?2?,wi?1?)+λ2?P(wi?∣wi?1?)+λ1?P(wi?)
其中 ( \lambda_1 + \lambda_2 + \lambda_3 = 1 ) 為權重系數。
4、應用
統計語言模型憑借對語言序列的概率建模能力,在自然語言處理領域有廣泛應用
4.1 語音識別與手寫體識別
在語音識別中,麥克風采集的聲音信號經聲學模型轉換為候選詞序列后,統計語言模型(如trigram)用于計算不同候選句子的概率 P ( s ) P(s) P(s) ,選擇概率最高的序列作為最終識別結果。
例如,當聲學模型輸出"今天去超柿"和"今天去超市"時,語言模型通過 P ( 超市 ∣ 去 ) ? P ( 超柿 ∣ 去 ) P(超市|去) \gg P(超柿|去) P(超市∣去)?P(超柿∣去) 輔助選擇更合理的文本。
像國內的阿里識別,科大訊飛等等
4.2 機器翻譯
在統計機器翻譯中,模型需將源語言(如英語)譯為目標語言(如漢語)。
統計語言模型負責評估譯文的流暢度,即計算目標語言句子的 P ( 譯文 ) P(譯文) P(譯文) ,與翻譯模型的概率 P ( 譯文 ∣ 原文 ) P(譯文|原文) P(譯文∣原文) 結合,通過貝葉斯公式選擇最優譯文。
例如,生成"尋找鑰匙在花園"和"在花園中尋找鑰匙"時,語言模型通過 P ( 在花園中 ) P(在花園中) P(在花園中) 的高頻出現偏好后者。
比如百度翻譯
4.3 文本生成與自動補全
輸入法的候選詞推薦、搜索引擎的自動補全(如輸入"人工"后提示"智能")、機器寫詩等場景,均依賴n-gram模型預測下一個最可能的詞。例如,手機輸入法根據用戶輸入的"我想吃",通過 ( P(火鍋|我想吃) ) 的高概率推薦"火鍋"作為補全詞。
4.4 拼寫糾錯與語法檢查
通過計算錯誤詞序列與修正后序列的概率差異,統計語言模型可識別拼寫錯誤并給出修正建議。
如用戶輸入"我門今天開會",模型發現 P ( 我們 ∣ 我 ) P(我們|我) P(我們∣我) 遠高于 P ( 我門 ∣ 我 ) P(我門|我) P(我門∣我) ,從而糾正"門"為"們"。
搜狗輸入法等
4.5 自然語言理解與輿情分析
在情感分析、文本分類等任務中,統計語言模型通過計算詞序列的概率分布,輔助判斷文本的語義傾向。
例如,判斷句子"這部電影糟透了"的情感時,模型會捕捉"糟透了"作為負向詞的高頻共現模式,提升分類準確率。
統計語言模型雖受限于馬爾可夫假設的局部依賴性(無法建模長距離依賴),但其簡單高效的概率框架為后續深度學習模型(如RNN、Transformer)奠定了重要基礎,至今仍是理解語言序列概率分布的核心技術之一。
拓爾思,中科天璣
5、相關閱讀
-
自然語言處理:語言模型&遞歸神經網絡
-
Statistical Language Modeling 統計語言建模
-
Language Model: A Survey of the State-of-the-Art Technology 語言模型:最先進的技術綜述
-
N-gram Language Modeling in Natural Language Processing 自然語言處理中的N-gram語言建模
-
N-gram Language Models
-
統計語言模型,ngram和困惑度
四、神經網絡語言模型
神經網絡語言模型(Neural Language Model, NLM)通過
- 分布式表示
- 非線性建模
- 自注意力機制
突破了傳統統計語言模型的參數爆炸與數據稀疏瓶頸,推動自然語言處理從規則驅動走向數據驅動,為預訓練大模型時代奠定了技術基礎。
1、核心思想
從符號表示到向量空間的革命 ,神經網絡語言模型通過兩大核心創新解決傳統模型缺陷:
1.1 分布式表示
低維向量捕捉語義關聯
傳統統計模型痛點:
- 參數爆炸:n-gram參數規模為 ( O(V^n) ),如3-gram在詞匯量 ( V=10^5 ) 時需 ( 10^{15} ) 參數,存儲與計算不可行;
- 數據稀疏:未登錄詞組合(如“量子計算機”)因訓練語料中無共現,概率計算失效。
分布式表示突破:
- 將詞匯映射到低維連續向量空間(如50-1024維詞嵌入),通過向量運算捕捉語義關系。
- 示例:“國王”向量 - “男人”向量 + “女人”向量 ≈ “女王”向量,體現語義類比能力;
- 參數共享:不同詞的上下文依賴通過共享的嵌入矩陣學習,未登錄詞組合可通過向量插值泛化(如“量子花園”雖未出現,但“量子”與“花園”的向量組合能推斷語義)。
1.2 非線性建模
捕捉復雜語義依賴
- 多層網絡擬合復雜函數:通過ReLU、Sigmoid等非線性激活函數,多層神經網絡可擬合任意復雜的條件概率 ( P(w_i | w_{i-1}, \dots, w_{i-n+1}) )。
- 例如:前饋神經網絡通過多層變換,區分“蘋果(水果)”與“蘋果(公司)”的上下文歧義;
- 時序建模能力:循環神經網絡(RNN)通過隱藏層狀態 ( h_t ) 存儲歷史信息,理論上可處理長距離依賴(如“我小時候在鄉下長大,那里的河流至今仍清晰記得”中“河流”與“鄉下”的關聯)。
2、早期模型
從簡單到序列建模的探索
2.1 神經概率語言模型(NNLM,Bengio, 2003)
首個神經網絡語言模型,奠定分布式表示與非線性建模基礎
- 架構本質:基于前饋神經網絡(FFNN),首次將詞嵌入(Word Embedding)與多層感知機結合。
- 結構:
- 輸入層:將前 ( n-1 ) 個詞的嵌入向量拼接為 ( x \in \mathbb{R}^{D \times (n-1)} )(D為嵌入維度);
- 隱藏層:通過非線性激活函數(如Sigmoid)進行特征變換:
h = σ ( W h x + b h ) h = \sigma(W_h x + b_h) h=σ(Wh?x+bh?) - 輸出層:Softmax計算下一詞概率分布:
P ( w i ) = Softmax ( W o h + b o ) P(w_i) = \text{Softmax}(W_o h + b_o) P(wi?)=Softmax(Wo?h+bo?)
- 核心創新:
- 引入詞嵌入將詞匯映射到低維連續空間(如“國王”“女王”的向量體現語義關聯),解決傳統模型的參數爆炸與數據稀疏問題;
- 通過多層非線性網絡擬合復雜語言依賴,突破n-gram的線性建模限制。
- 參數規模:( O(V \cdot D + D^2) ),遠低于n-gram的 ( O(V^n) )(如n=3時參數減少約99.9%)。
- 局限:僅能捕捉局部窗口依賴(如n=3時僅利用前2詞),長距離語義建模能力不足。
2.2 循環神經網絡 (RNN,1986年 Elman模型)
- 結構:
- 循環單元:隱藏層狀態 ( h_t ) 由當前輸入 ( x_t ) 和前一時刻狀態 ( h_{t-1} ) 共同決定:
h t = σ ( W h x x t + W h h h t ? 1 + b h ) (式1) h_t = \sigma(W_{hx} x_t + W_{hh} h_{t-1} + b_h) \quad \text{(式1)} ht?=σ(Whx?xt?+Whh?ht?1?+bh?)(式1)
其中 ( W_{hx} ) 為輸入到隱藏層權重,( W_{hh} ) 為隱藏層自環權重。
- 循環單元:隱藏層狀態 ( h_t ) 由當前輸入 ( x_t ) 和前一時刻狀態 ( h_{t-1} ) 共同決定:
- 優勢:理論上可捕捉任意長度依賴,適用于語音識別、文本生成等序列任務。
- 缺陷:梯度消失問題顯著,實際僅能有效建模5-10步內的依賴。
可參考文章:- 深度學習教程
2.3 長短期記憶網絡 (LSTM,1997年 Hochreiter & Schmidhuber)
- 門控機制創新:
- 遺忘門 ( f_t ):決定丟棄歷史信息 ( h_{t-1} ) 的比例:
f t = σ ( W f [ h t ? 1 , x t ] + b f ) (式2) f_t = \sigma(W_f [h_{t-1}, x_t] + b_f) \quad \text{(式2)} ft?=σ(Wf?[ht?1?,xt?]+bf?)(式2) - 輸入門 ( i_t ):控制當前輸入 ( x_t ) 的存儲量;
- 輸出門 ( o_t ):調節隱藏層輸出 ( h_t )。
- 遺忘門 ( f_t ):決定丟棄歷史信息 ( h_{t-1} ) 的比例:
- 優勢:通過門控機制選擇性保留長期信息,有效建模長距離依賴(如機器翻譯中源語言長句的上下文關聯)。
- 應用:Google神經機器翻譯系統(GNMT)基于LSTM編碼器-解碼器,首次實現端到端高質量翻譯。
3、基于Transformer的突破
從序列到全局建模
建議閱讀一下這一篇文章
Attention Is All You Need (Transformer) 論文精讀
該博主的例子很好理解
3.1 自注意力機制
打破距離限制的語義關聯
核心計算三步曲:
- Query-Key-Value生成:
輸入詞嵌入 ( x_i ) 經線性變換生成Query(Q)、Key(K)、Value(V):
Q i = W Q x i , K j = W K x j , V j = W V x j Q_i = W^Q x_i, \quad K_j = W^K x_j, \quad V_j = W^V x_j Qi?=WQxi?,Kj?=WKxj?,Vj?=WVxj? - 相似度計算與歸一化:
位置 ( i ) 與所有位置 ( j ) 的關聯得分:
score ( i , j ) = Q i K j ? d k (縮放點積避免梯度消失) \text{score}(i,j) = \frac{Q_i K_j^\top}{\sqrt{d_k}} \quad \text{(縮放點積避免梯度消失)} score(i,j)=dk??Qi?Kj???(縮放點積避免梯度消失)
歸一化后得到注意力權重 ( \alpha_{i,j} = \text{Softmax}(\text{score}(i,j)) )。 - 加權求和:
輸出 ( z_i = \sum_j \alpha_{i,j} V_j ),融合全局上下文信息。
多頭注意力(Multi-Head Attention):
并行計算h個獨立注意力頭,捕捉多維度語義關聯(如語法依賴與語義相似性),最終拼接輸出:
MultiHead ( Q , K , V ) = Concat ( head 1 , … , head h ) W O \text{MultiHead}(Q,K,V) = \text{Concat}(\text{head}_1, \dots, \text{head}_h) W^O MultiHead(Q,K,V)=Concat(head1?,…,headh?)WO
注:Transformer需額外添加位置編碼(如正弦函數)注入詞序信息,因自注意力本身不包含時序結構。
3.2 編碼器模型
(BERT:雙向語義理解標桿)
- 架構:僅使用Transformer編碼器,支持雙向上下文編碼。
- 預訓練任務:
- 掩碼語言模型(MLM):隨機遮蔽15%的詞(如“我今天去[MASK]”),強制模型通過前后文預測(如結合“去”的動作推斷“超市”而非“超柿”);
- 下一句預測(NSP):判斷兩個句子是否連續(如“我買了蘋果”與“它很甜”為連續,與“天氣很好”不連續)。
- 性能:在GLUE基準測試中準確率86.7%,超越人類水平;變體RoBERTa(動態掩碼)、ALBERT(參數共享)進一步提升效率與性能。
模型 | 架構 | 核心優勢 | 典型場景 |
---|---|---|---|
BERT | 編碼器 | 雙向語義理解 | 文本分類、問答、NER |
GPT | 解碼器 | 單向生成能力 | 文本續寫、代碼生成、創作 |
3.3 解碼器模型
(GPT:生成式建模的里程碑)
- 架構:僅使用Transformer解碼器,自回歸逐詞生成(每個詞僅依賴前文)。
- 預訓練任務:自回歸語言建模,如輸入“Once upon a time”,預測下一詞“there”,逐步生成完整故事。
- 演進:
- GPT-1(2018):12層解碼器,1.17億參數,開啟“預訓練+微調”范式;
- GPT-2(2019):15億參數,零樣本學習(如輸入“翻譯:I love NLP”直接輸出中文),但單向生成導致復雜邏輯推理較弱。
4、預訓練范式革命
從專用模型到通用智能
4.1 雙向建模 vs 自回歸生成
兩大技術路徑
范式 | 代表模型 | 核心原理 | 優勢場景 | 挑戰 |
---|---|---|---|---|
掩碼語言模型 | BERT | 雙向上下文預測(部分詞遮蔽) | 語義理解(分類、推理) | 非生成式架構 |
自回歸生成 | GPT | 單向序列生成(下一詞預測) | 文本生成(創作、對話) | 生成效率低(順序計算)、幻覺問題 |
5、相關閱讀
參考文章
- What is a Language Model: Introduction, Use Cases 什么是語言模型:簡介、用例
- Neural Probabilistic Language Models 神經概率語言模型
- Recurrent Neural Network Regularization 循環神經網絡正則化
- Long Short-Term Memory 長短期記憶網絡
- Attention Is All You Need 注意力是你所需的一切
- BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding BERT:用于語言理解的深度雙向Transformer預訓練
- Language Models are Unsupervised Multitask Learners 語言模型是無監督多任務學習者
- The Illustrated Transformer 圖解Transformer
- Understanding LSTM Networks 理解LSTM網絡
- 深度學習教程
按照時間線閱讀
- 神經概率語言模型奠基:
Neural Probabilistic Language Models (2003)(Bengio et al.,首次引入詞嵌入與非線性建模) - 循環神經網絡經典:
Long Short-Term Memory (1997)(Hochreiter & Schmidhuber,LSTM門控機制) - Transformer里程碑:
Attention Is All You Need (2017)(Vaswani et al.,自注意力機制顛覆NLP) - 雙向預訓練突破:
BERT: Pre-training of Deep Bidirectional Transformers (2018)(Devlin et al.,MLM開啟預訓練時代) - 生成式建模標桿:
Language Models are Unsupervised Multitask Learners (2019)(Radford et al.,GPT-2零樣本學習) - 可視化解讀:
The Illustrated Transformer (2018)(直觀解析自注意力機制)
五、基于 Transformer 的預訓練語言模型
推薦閱讀:Transformer 快速入門
Transformer架構的誕生徹底重塑了自然語言處理(NLP)的技術格局。
其核心創新——自注意力機制
——通過動態捕捉全局語義關聯,解決了傳統循環神經網絡(RNN)的長距離依賴難題
并為預訓練范式提供了堅實基礎。基于Transformer的預訓練語言模型(如BERT、GPT)通過“預訓練+微調”模式
在語義理解、文本生成等任務中展現出驚人的泛化能力,推動NLP從工具化向智能化演進。
而中國企業**DeepSeek(深度求索)**通過對Transformer的深度優化與創新,在多個關鍵技術領域實現了突破,其技術路徑和應用實踐可作為本章節的重要補充。
1、核心技術突破
1.1 自注意力機制的數學基礎與創新
自注意力機制通過Query(Q)、Key(K)、Value(V)的交互建模序列依賴。具體計算分為三步:
- 線性變換:輸入詞嵌入( x_i )經權重矩陣( W^Q, W^K, W^V )生成Q、K、V:
Q i = W Q x i , K j = W K x j , V j = W V x j Q_i = W^Q x_i, \quad K_j = W^K x_j, \quad V_j = W^V x_j Qi?=WQxi?,Kj?=WKxj?,Vj?=WVxj? - 相似度計算:通過點積計算位置( i )與所有位置( j )的關聯得分:
score ( i , j ) = Q i K j T d k \text{score}(i,j) = \frac{Q_i K_j^T}{\sqrt{d_k}} score(i,j)=dk??Qi?KjT??
其中( \sqrt{d_k} )用于縮放,避免梯度消失。 - 加權求和:Softmax歸一化后與V矩陣相乘,得到上下文感知的輸出:
Attention ( Q , K , V ) = Softmax ( Q K T d k ) V \text{Attention}(Q,K,V) = \text{Softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V Attention(Q,K,V)=Softmax(dk??QKT?)V
多頭注意力通過并行計算多個頭的注意力結果(如12頭),捕捉不同語義子空間的信息,最終拼接輸出:
MultiHead ( Q , K , V ) = Concat ( head 1 , … , head h ) W O \text{MultiHead}(Q,K,V) = \text{Concat}(\text{head}_1, \dots, \text{head}_h) W^O MultiHead(Q,K,V)=Concat(head1?,…,headh?)WO
1.2 位置編碼的創新設計
Transformer本身不具備時序建模能力,需通過位置編碼注入順序信息。主流方法包括:
- 絕對位置編碼:采用三角函數生成周期性向量,如:
P E p o s , 2 i = sin ? ( p o s / 1000 0 2 i / d ) PE_{pos,2i} = \sin(pos / 10000^{2i/d}) PEpos,2i?=sin(pos/100002i/d)
P E p o s , 2 i + 1 = cos ? ( p o s / 1000 0 2 i / d ) PE_{pos,2i+1} = \cos(pos / 10000^{2i/d}) PEpos,2i+1?=cos(pos/100002i/d)
其中( pos )為詞位置,( d )為嵌入維度。這種設計使模型能泛化到訓練長度之外的序列。 - 相對位置編碼:建模詞與詞之間的相對距離,如T5通過正弦函數編碼相對偏移,增強長文本建模能力。
1.3 DeepSeek的核心優化技術
1.3.1 混合專家(MoE)架構
DeepSeek的核心模型(如DeepSeek-V3、DeepSeek-R1)均以Transformer為底層架構,但在以下方面進行了創新性擴展:
- 動態路由與負載均衡:路由器根據輸入動態選擇專家,結合無輔助損失的負載均衡策略,避免傳統MoE模型因強制負載均衡導致的性能下降,同時確保計算資源高效分配。例如,DeepSeek-V3的每個Transformer層包含256個路由專家和1個共享專家,每個token僅激活8個專家,總參數達6710億,但激活參數僅370億,顯著降低計算成本。
1.3.2 多頭潛在注意力(MLA)
通過低秩聯合壓縮技術,將Key-Value矩陣壓縮至低維空間,減少顯存占用和計算量。例如,MLA機制可將顯存需求降低至傳統模型的1/10,使端側設備(如手機、PC)也能部署大規模模型。具體實現包括:
- 低秩分解:將高維KV矩陣分解為低維矩陣的乘積,如將7168維壓縮至512維,顯存占用僅為原始大小的6.7%。
- 分頁KV緩存:采用離散存儲、動態分配和塊表管理,顯存利用率提升3倍以上,處理4096 token僅需16GB顯存的RTX 4090即可完成。
1.3.3 多Token預測(MTP)
同時預測多個后續Token,增加訓練信號密度,顯著提升模型對長期依賴關系的捕捉能力。例如,DeepSeek-V3在代碼生成任務中,第二個Token預測接受率達85%-90%,且在HumanEval基準測試中通過率達40%,超越GPT-4 Turbo。
2、主流模型架構解析
2.1 編碼器模型:BERT與語義理解
- BERT(Bidirectional Encoder Representations from Transformers)
- 雙向編碼:通過掩碼語言模型(MLM)和下一句預測(NSP)預訓練,捕捉雙向語義。
- 例如,輸入“我今天去[MASK]”,模型需結合前后文預測“超市”而非“超柿”。
- 變體優化:
- RoBERTa:取消NSP任務,采用動態掩碼和更長訓練時間,在自然語言推理任務中準確率提升2-3%。
- ALBERT:通過參數共享和矩陣分解,將參數量壓縮至BERT的1/10,適用于資源受限場景。
- 應用案例:招商銀行基于BERT的智能客服系統,問答準確率達92%,工單處理效率提升40%。
2.2 解碼器模型:GPT與生成革命
- GPT系列(Generative Pretrained Transformer)
- 自回歸生成:從左到右逐詞預測,如GPT-3通過1750億參數生成連貫小說、代碼。
- 其“零樣本學習”能力可直接處理未見過的任務,如輸入“解釋量子力學”,模型能生成科普文本。
- 技術突破:
- GPT-4o:支持文本、圖像、音頻多模態輸入,響應速度達毫秒級,可實時分析用戶情緒并生成個性化建議。
- GPT-5(2025年計劃推出):整合o3推理引擎,錯誤率較GPT-4降低67%,支持語音交互和圖像編輯,且計劃免費開放基礎功能。
2.3 編碼器-解碼器模型:T5與BART
https://medium.com/@lmpo/encoder-decoder-transformer-models-a-comprehensive-study-of-bart-and-t5-132b3f9836ed
-
T5(Text-to-Text Transfer Transformer)
- 統一任務框架:將所有NLP任務(如翻譯、摘要)轉化為文本到文本的生成問題。例如,輸入“translate English to Chinese: I love NLP”,模型輸出“我愛自然語言處理”。
- 參數規模:從110M到11B參數,在SuperGLUE基準測試中表現優異。
-
BART(Bidirectional and Auto-Regressive Transformers)
- 序列恢復預訓練:通過掩碼、刪除、打亂等方式擾動輸入,訓練模型恢復原始文本。例如,輸入“[MASK]天去超市”,模型需補全“今”字。
- 應用場景:在摘要生成任務中,BART的ROUGE-L得分較傳統模型提升15%,廣泛用于新聞摘要和客服工單總結。
2.4 DeepSeek的技術突破
2.4.1 DeepSeek-R1:推理專用模型
- 設計目標:專注于數學、代碼生成和復雜邏輯推理。
- 訓練方法:采用多階段循環訓練,包括基礎訓練、強化學習(RL)和微調的交替進行。例如,通過純強化學習(無監督微調)實現邏輯推理能力躍升,思維鏈長度達數萬字,在數學推理任務中性能接近GPT-4。
- 性能表現:在AIME 2024數學推理測試中,Pass@1從單階段訓練的63.6%提升至79.8%。
2.4.2 DeepSeek-V3:高效通用模型
- 架構:采用混合專家(MoE)架構,總參數6710億(激活370億),訓練成本僅557萬美元,遠低于Meta Llama 3.1的5億美元。
- 技術創新:
- FP8混合精度訓練:結合硬件加速技術,在14.8萬億Token的數據集上僅用55天完成訓練。
- 多模態支持:文本+圖像+代碼+PDF解析,適用于復雜場景。
2.4.3 DeepSeek-Coder:代碼生成專家
- 技術優勢:支持338種編程語言,上下文長度擴展至128K,在HumanEval基準測試中通過率達40%,超越GPT-4 Turbo和Claude 3.5。
- 應用案例:在電商系統訂單處理模塊中,生成包含庫存管理、支付流程等復雜邏輯的代碼框架,代碼可讀性和可維護性顯著提升。
3、預訓練范式的演進
3.1 預訓練任務的多樣化
- 掩碼語言模型(MLM):隨機遮蔽15%的詞,迫使模型利用上下文預測。例如,BERT通過MLM學習詞與詞的語義關聯,在情感分析中準確識別“糟透了”的負向情感。
- 自回歸生成(AR):GPT系列通過預測下一個詞學習語言生成模式,在代碼生成中,GitHub Copilot基于Codex(GPT-3變體)使開發效率提升55%。
- 前綴語言模型:T5采用文本到文本框架,通過前綴提示(如“summarize:”)引導模型完成特定任務,支持零樣本和少樣本學習。
3.2 多模態融合的突破
- 圖文聯合建模:GPT-4o結合DALL-E技術,可根據文本描述生成圖像(如“畫一只穿著太空服的貓”),并支持圖像編輯和多模態對話。
- 跨模態推理:PaLM-2通過多語言訓練,可將數學公式轉換為自然語言解釋,或分析圖表數據生成報告。
3.3 DeepSeek的預訓練創新
3.3.1 多階段訓練策略
- 冷啟動數據微調:通過監督微調(SFT)讓模型學習基礎推理邏輯,避免強化學習階段出現無意義輸出。
- 強化學習優化:結合拒絕采樣和自我驗證,生成高質量推理鏈。例如,DeepSeek-R1通過純RL訓練,在數學推理任務中性能接近GPT-4。
3.3.2 分階段訓練與硬件集成
- 訓練階段:預訓練、對齊和領域微調。例如,DeepSeek-R1在華為Ascend 910C芯片上運行推理任務,無需NVIDIA GPU,大幅降低費用。
- 推理優化:MLA技術結合華為芯片的高性能計算能力,使DeepSeek-R1在保持高精度的同時,推理速度提升20%。
5、相關閱讀
https://transformers.run/c1/transformer/
推薦打開這個網站,可以點擊進行學習加以理解
六,總結
-
統計語言模型:
- 基于概率統計,利用馬爾可夫假設和n - gram模型計算句子概率。
- 存在參數空間過大和模型稀疏問題,通過數據平滑技術緩解。
- 在語音識別、機器翻譯等多領域有廣泛應用,為后續模型發展奠定基礎。
-
神經網絡語言模型:
-
通過分布式表示和非線性建模突破傳統模型瓶頸。
-
早期模型如NNLM奠定基礎,RNN理論可捕捉長距離依賴但存在梯度消失問題,LSTM通過門控機制改善。
-
Transformer的自注意力機制實現全局建模,BERT和GPT分別在語義理解和文本生成方面取得突破,同時出現雙向建模和自回歸生成兩種預訓練范式。
-
-
基于Transformer的預訓練語言模型:
-
Transformer架構憑借自注意力機制解決長距離依賴難題,基于此的預訓練語言模型通過“預訓練 + 微調”展現強大泛化能力。
-
介紹了自注意力機制計算、位置編碼方式,以及DeepSeek在混合專家架構、多頭潛在注意力、多Token預測等方面的優化技術。
-
解析了BERT、GPT、T5、BART等主流模型架構,以及預訓練范式在任務多樣化、多模態融合方面的演進和DeepSeek的預訓練創新。