簡介
本博客內容是《大語言模型》一書的讀書筆記,該書是中國人民大學高瓴人工智能學院趙鑫教授團隊出品,覆蓋大語言模型訓練與使用的全流程,從預訓練到微調與對齊,從使用技術到評測應用,幫助學員全面掌握大語言模型的核心技術。并且,課程內容基于大量的代碼實戰與講解,通過實際項目與案例,學員能將理論知識應用于真實場景,提升解決實際問題的能力。
本文主要記錄datawhale的活動學習筆記,可點擊活動連接
1.2 大模型技術基礎
大語言模型
預訓練階段會得到base model,本質上就是一個互聯網文本模擬器,這個階段需要上萬臺服務器訓練幾個月的時間,這個生成的模型可以認為是互聯網的有損壓縮。這個互聯網文本模擬器很有意思,但我們想要的不是整個互聯網,而是我們提問,模型回答。
我們實際需要的是一個助手模型,在后訓練階段就可以訓練一個助手模型。在后訓練過程中,是一個監督微調SFT(supervised finetuning),整體的訓練過程,與預訓練過程一致。差別就在于數據集。這些對話數據集是人工標注問題和答案,當然現在很多也都是模型生成的。
這個助手模型中,如果不采用某些手段,模型會產生幻覺。
RL是強化學習,這個過程包括兩個階段,第一個階段是訓練一個獎勵模型,用于代替人類對可以驗證和不可以驗證的領域問題進行排序,然后基于獎勵模型實現RL。
構建一個大語言模型
大語言模型預訓練(Pre-training)
使用與下游任務無關的大規模數據進行模型參數的初始訓練
? 基于Transformer解碼器架構,進行下一個詞預測
? 數據數量、數據質量都非常關鍵
大語言模型后訓練(Post-Training)
指令微調(Instruction Tuning)
? 使用輸入與輸出配對的指令數據對于模型進行微調
? 提升模型通過問答形式進行任務求解的能力
人類對齊(Human Alignment)
? 將大語言模型與人類的期望、需求以及價值觀對齊
? 基于人類反饋的強化學習對齊方法(RLHF)
大模型的研發已經成為一項系統工程
擴展定律(Scaling Law)
? 通過擴展參數規模、數據規模和計算算力,大語言模型的能力會出現顯著提升
? 擴展定律在本次大模型浪潮中起到了重要作用
大語言模型采用了與小型預訓練語言模型相似的神經網絡結構(基于注意力機制的 Transformer 架構)和預訓練方法(如語言建模)。但是通過擴展參數規模、數據規模和計算算力,大語言模型的能力顯著超越了小型語言模型的能力。
有趣的是,這種通過擴展所帶來的性能提升通常顯著高于通過改進架構、算法等方面所帶來的改進。因此,建立定量的建模方法,即擴展法則(Scaling Law),
KM擴展定律
? OpenAI 團隊建立了神經語言模型性能與參數規模(𝑁)、數據規模(𝐷)和計算算力(𝐶)之間的冪律關系
Chinchilla擴展定律
? DeepMind 團隊于 2022 年提出了另一種形式的擴展定律,旨在指導大語言模型充分利用給定的算力資源優化訓練
Hoffmann 等人 [22](DeepMind 團隊)于 2022 年提出了一種可選的擴展法則,旨在指導大語言模型充分利用給定的算力資源進行優化訓練。通過針對更大范圍的模型規模(70M 到 16B 參數)和數據規模(5B 到 500B 詞元)進行實驗,研究
其中 𝐸 = 1.69, 𝐴 = 406.4, 𝐵 = 410.7,𝛼 = 0.34 和 𝛽 = 0.28。進一步,利用約束條件
𝐶 ≈ 6𝑁𝐷 對于損失函數 𝐿(𝑁, 𝐷) 進行推導,能夠獲得算力資源固定情況下模型規
模與數據規模的最優分配方案(如下所示):
深入討論擴展定理
? 模型的語言建模損失可以進行下述分解
? 擴展定律可能存在邊際效益遞減
? 隨著模型參數、數據數量的擴展,模型性能增益將逐漸減小
? 目前開放數據已經接近枯竭,難以支持擴展定律的持續推進
涌現能力
什么是涌現能力
? 原始論文定義:“在小型模型中不存在、但在大模型中出現的能力”
? 模型擴展到一定規模時,特定任務性能突然出現顯著躍升趨勢,遠超隨機水平
上下文學習(In-context Learning, ICL).
指令遵循(Instruction Following).
逐步推理(Step-by-step Reasoning)
上下文學習(In-context Learning)
? 在提示中為語言模型提供自然語言指令和任務示例,無需顯式梯度更新就能為測試樣本生成
預期輸出
指令遵循(Instruction Following)
? 大語言模型能夠按照自然語言指令來執行對應的任務
逐步推理(Step-by-step Reasoning)
? 在提示中引入任務相關的中間推理步驟來加強復雜任務的求解,從而獲得更可靠的答案
涌現能力與擴展定律的關系
? 涌現能力和擴展定律是兩種描述規模效應的度量方法
大模型核心技術
? 規模擴展:擴展定律奠定了早期大模型的技術路線,產生了巨大的性能提升
? 數據工程:數據數量、數據質量以及配制方法極其關鍵
? 高效預訓練:需要建立可預測、可擴展的大規模訓練架構
? 能力激發:預訓練后可以通過微調、對齊、提示工程等技術進行能力激活
? 人類對齊:需要設計對齊技術減少模型使用風險,并進一步提升模型性能
? 工具使用:使用外部工具加強模型的弱點,拓展其能力范圍