目錄
- 概述
- 1. 預訓練(Pre-training)
- 2. 微調(Fine-tuning,又稱 SFT,Supervised Fine-Tuning)
- 3. 對齊(Alignment,又稱 RLHF 或 DPO 等)
- 4 三階段對比
- 6 第一階段——自我學習,積累實力
- 6.1 大模型本質上是文字接龍
- 1. 從字符到 token 的拆分過程
- 2. 為什么要用 token 而非字符或單詞?
- 3. 關鍵指標:token 與成本
- 6.2 機器怎么學會做文字接龍
- 1. 語言模型的核心任務
- 2. 數學形式
- 3. 訓練目標
- 4. 訓練與測試過程
- 5. 三階段的本質任務
- 6.3 尋找參數面臨的挑戰
- 1. **參數優化與超參數選擇**
- 2. **訓練失敗與應對**
- 3. **過擬合(Overfitting)**
- 4. 訓練過程的核心原則
- 6.4 如何讓機器找到比較合理的參數
- 1 增加訓練數據的多樣性
- 2 設置更合理的初始參數
- 3 引入先驗知識
- 6.5 需要多少文字才能學會“文字接龍”?
- 1語言知識(Linguistic Knowledge)的學習
- 2 世界知識(World Knowledge)
- 3 世界知識的多層次性
- 6.6 任何文本皆可用來學“文字接龍”
- 1. **從互聯網抓取海量文本**
- 2. **自監督學習(Self-supervised Learning)**
- 3. **大規模數據獲取與訓練優勢**
- 6.7 數據的精煉與完善:數據清理的必要性與操作細節
- 1. 數據清理的必要性
- 2. 六大清理步驟
- 6.8 所有文本資料都能拿來訓練“文字接龍”嗎?
- 1 是否任何資料都能用于訓練?
- 2 版權糾紛與法律風險
- 3 開發團隊的常見做法
- 4 授權與合規建議
- 6.9 再訓更大的模型也沒用:為什么語言模型仍無法好好回答問題?
- 1. 學習方式決定了“只會接龍”
- 2. 缺乏明確的目標引導
- 3. 無效的自問自答模式
- 4. 大模型預訓練的困境與解決思路
課程地址 B站 本文參考筆記
概述
大模型的訓練通常被概括為 “預訓練 → 微調 → 對齊” 三個遞進的階段,每個階段的目標、數據、算法和產出都有明顯差異。下面按時間順序逐一說明:
1. 預訓練(Pre-training)
目標:讓模型學會“通用的語言和世界知識”,具備強大的表征與生成能力。
數據:大規模、多領域、多語言的原始文本(如網頁、書籍、論文、代碼等),數據量通常從幾 TB 到數百 TB。
算法:自監督學習(最常見的是下一個 token 預測或 masked token 預測)。
算力:千卡級 GPU/TPU,持續數周到數月。
產出:基座模型(Base model),如 GPT-3、Llama-2、Baichuan-Base。
特點:
- 無人工標注,僅依靠海量文本的自監督信號。
- 模型規模大(數十億到上萬億參數),訓練成本高。
- 具備廣泛的知識和語言能力,但沒有指令遵循能力,也不保證輸出安全、有用。
2. 微調(Fine-tuning,又稱 SFT,Supervised Fine-Tuning)
目標:讓基座模型學會遵循指令、完成具體任務(問答、摘要、翻譯、代碼補全等)。
數據:數十萬到上百萬條 (指令, 輸入, 期望輸出) 的高質量人工標注數據。
算法:繼續用監督學習訓練,通常只訓練 1–3 個 epoch,學習率較小。
算力:相比預訓練下降 2–3 個數量級(幾十張卡、幾天到一周)。
產出:指令微調模型(Instruct model),如 GPT-3.5-Turbo、Llama-2-Chat、ChatGLM-6B-SFT。
特點:
- 輸出風格更貼近人類對話,能執行“請翻譯成英文”“寫一段 Python 代碼”等指令。
- 仍可能輸出有害、偏見或事實錯誤的內容,需要進一步約束。
3. 對齊(Alignment,又稱 RLHF 或 DPO 等)
目標:讓模型的價值觀、安全性、有用性與人類期望“對齊”。
數據:
- 偏好數據(Preference data):人工對同一 prompt 的多個回答進行排序。
- 有時再輔以紅隊對抗樣本、安全準則、憲法原則等。
算法: - 經典路線:RLHF(Reinforcement Learning from Human Feedback,用 PPO 強化學習)。
- 新路線:直接偏好優化(DPO、KTO、RRHF 等),無需顯式強化學習。
算力:與微調同一量級,但流程更復雜(需訓練獎勵模型、做 RL 或偏好優化)。
產出:對話/助手模型(Chat/Assistant model),如 GPT-4、Claude-3、Kimi-Chat。
特點: - 顯著降低有害、歧視、幻覺輸出,提升幫助性與可操控性。
- 使模型學會說“我不知道”“我無法協助此類請求”等安全表達。
4 三階段對比
階段 | 訓練信號 | 數據規模 | 主要能力獲得 | 典型代表 |
---|---|---|---|---|
預訓練 | 自監督 | TB 級原始文本 | 通用語言、世界知識 | Llama-2-Base |
微調 | 監督學習 | 105–106 條指令 | 遵循指令、任務完成 | Llama-2-Chat-SFT |
對齊 | 人類反饋/偏好 | 104–105 條排序 | 安全、有用、符合價值觀 | GPT-4, Claude-3 |
這三個階段并非絕對割裂:
- 一些模型把“微調+對齊”合并為單階段(如指令微調中直接混入安全數據)。
- 社區出現“繼續預訓練 → 輕量微調 → 在線對齊”的迭代式開發管線,以持續改進模型。
上面的三個階段對應到課程中分別是第六節(自我學習,積累實力)、第七節(名師指點,發揮潛力)、第八節(參與實戰,打磨技巧)
6 第一階段——自我學習,積累實力
6.1 大模型本質上是文字接龍
大模型本質上是文字接龍:當生成答案時,模型通過逐步預測和生成單個符號(稱為Token),依序構建完整的輸出。
在大模型的語境里,Token 是“文本”被離散化后的最小處理單元;模型既不認識字母,也不直接操作漢字,而是先把所有字符序列拆成一串 token,再進行訓練和推理。 可以簡單理解為,Token 是模型眼里“語言的字母表”中的單個符號。
可以把文本想象成樂高積木:
- 字符是小顆粒,拼起來太碎;
- 單詞是大模塊,種類太多;
- token 是官方設計的“標準磚塊”,既通用又高效,大模型只認這種磚塊。
1. 從字符到 token 的拆分過程
以 OpenAI 的 GPT 系列為例,使用 BPE(Byte Pair Encoding) 子詞分詞器:
- 英文字母:
"ChatGPT"
→["Chat", "G", "PT"]
(3 個 token) - 中文:
"大模型"
→["大", "模型"]
(2 個 token) - 帶標點:
"你好,世界!"
→["你好", ",", "世界", "!"]
(4 個 token) - 極端情況:
一個罕見 emoji🤯
可能被拆成多個 byte-level token,也可能獨占一個 token,取決于詞表是否收錄。
2. 為什么要用 token 而非字符或單詞?
- 壓縮文本長度:高頻子詞(如 “ing”、“的”、“模型”)用一個 token 表示,減少序列長度。
- 跨語言兼容:同一套詞表可同時覆蓋 100+ 語言,無需為每種語言單獨設計分詞器。
- 平衡粒度:比“字符”粗,比“整詞”細,避免詞表爆炸,又能處理未登錄詞。
3. 關鍵指標:token 與成本
- 上下文長度以 token 計數:GPT-4 Turbo 支持 128k tokens ≈ 10 萬英文單詞。
- 計費單位:OpenAI、Anthropic 等按 “每 1k tokens” 收費,輸入與輸出分別計價。
- 經驗換算:
- 1 個英文單詞 ≈ 1.3 tokens
- 1 個漢字 ≈ 1.8–2.2 tokens(取決于文本密度)
6.2 機器怎么學會做文字接龍
1. 語言模型的核心任務
文字接龍:輸入一個未完成的句子 → 輸出最可能的下一個 token。
2. 數學形式
模型是一個含 數十億參數 的 Transformer 函數 f:next_token = f(unfinished_sentence)
3. 訓練目標
用海量「句子-下一 token」樣本,通過優化算法確定所有參數,使預測誤差最小。
4. 訓練與測試過程
訓練(Training)
? 數據來源:大規模文本,形式為「未完成的句子 → 下一個正確 token」。
? 目標:通過優化算法(如 Adam、SGD)迭代更新數十億參數,最小化預測誤差。
測試 / 推斷(Testing / Inference)
? 使用已訓練完成的固定參數模型。
? 輸入任意文本前綴,模型即時輸出最可能的后續 token,參數不再更新。
5. 三階段的本質任務
無論預訓練、微調還是對齊,模型始終在學習「文字接龍」。
階段差異僅體現在訓練數據:
? 階段 1:通用語料 → 建立廣泛語言知識與常識。
? 階段 2:高質量指令-回答對 → 獲得任務理解與指令遵循能力。
? 階段 3:人類偏好或安全準則數據 → 實現價值觀對齊與輸出可控。
6.3 尋找參數面臨的挑戰
1. 參數優化與超參數選擇
- 優化(Optimization):利用機器學習方法自動調整數十億個模型參數,使模型輸出盡可能貼合訓練數據。
- 超參數(Hyperparameters):決定“如何優化”的人工設定值,如學習率、優化器類型、批大小等。它們不在訓練中被更新,卻對結果影響巨大。
- 難點:超參數空間龐大且效果難以預估;訓練失敗時只能通過反復試錯重新設定,耗費大量算力。
2. 訓練失敗與應對
- 表現:模型在訓練集上無法收斂或誤差居高不下。
- 根因:超參數設置不當、數據質量差或模型結構設計缺陷。
- 解決:系統性地調整超參數(俗稱“調參”),并重啟訓練。
3. 過擬合(Overfitting)
- 定義:模型在訓練集表現優異,但在未見過的新數據(測試集)上表現顯著下降。
- 成因:模型過度記憶訓練數據中的噪聲或局部特征,缺乏泛化能力。
- 示例:貓狗分類器僅依據“黃色=狗,黑色=貓”的顏色特征進行判斷,遇到黃色貓時即誤判為狗。
過擬合相關課程: 為什麼類神經網路可以正確分辨寶可夢和數碼寶貝呢?
4. 訓練過程的核心原則
- 機器只認訓練數據:算法唯一目標是最小化訓練集上的誤差,不會主動評估參數是否合理或能否泛化至其他場景。
- 勿以人智度機心:模型不具備人類的因果推理與常識判斷,其“知識”邊界完全由給定數據決定。
6.4 如何讓機器找到比較合理的參數
1 增加訓練數據的多樣性
問題:如果數據分布過于單一,模型易學到虛假或片面特征(如僅憑顏色區分貓狗)。
解決:在貓狗分類任務中補充黃貓、黑狗等反例,迫使模型學習形狀、紋理等更本質的特征。
作用:多樣化數據削弱虛假關聯,提升模型泛化能力,使優化得到的參數更具魯棒性。
2 設置更合理的初始參數
? 定義:優化算法的起點。最終解通常與初始點在同一“盆地”,因此起點決定搜索效率與結果質量。
? 常見做法
– 隨機初始化(Train from Scratch):按特定分布隨機生成參數,簡單但可能陷入局部最優或訓練不穩定。
– 優化初始化:利用預訓練、遷移學習或元學習獲得接近目標解的初始參數,顯著加快收斂并提升性能。
3 引入先驗知識
? 概念:通過精心設計的初始參數或約束,將人類知識或經驗“植入”模型,指導優化方向。
? 意義:
– 初始參數即“先天知識”,可減少盲目搜索。
– 在數據有限或任務復雜的場景下,先驗知識能有效提升最終參數質量。
挑戰:如何構造高質量的初始參數仍是機器學習研究的核心難題之一,涉及預訓練策略、跨任務遷移、元學習等技術。
6.5 需要多少文字才能學會“文字接龍”?
1語言知識(Linguistic Knowledge)的學習
- 任務:要學會“文字接龍”,語言模型需要掌握語言的文法規則,才能理解句子的結構,并作出符合文法的詞匯選擇。
- 所需數據量:相對有限。研究指出,幾千萬~幾億詞即可讓模型掌握基礎的語法、詞法與句法規則,從而生成符合語言習慣的序列。
2 世界知識(World Knowledge)
- 任務:除了語言知識,語言模型還需要學習世界知識,以理解事實、常識與語境,例如“水的沸點是 100 °C(1 atm)”。
- 數據需求:遠超語言知識。
- 量級:即使訓練語料達到 300 億詞,仍難以覆蓋全部世界知識。
- 原因:
- 事實本身浩如煙海;
- 同一事實在不同上下文(海拔、氣壓、文化背景)中答案可變;
- 知識呈層次化——從簡單事實到深層因果、跨領域關聯,均需大量多樣化文本才能逐步捕捉。
3 世界知識的多層次性
- 復雜性示例
- 表層:水的沸點為 100 °C(標準大氣壓)。
- 深層:在高海拔地區氣壓降低,沸點下降;在高壓鍋中,沸點升高。
- 數據要求
- 必須包含大規模、多場景、多語言的描述,才能讓模型逐漸習得這些條件依賴與因果層次。
- 因此,世界知識的獲取是“數據饑餓型”任務:語料越大、越多元,模型掌握得越全面,但仍無法窮盡。
【精煉與完善后的文本】
6.6 任何文本皆可用來學“文字接龍”
1. 從互聯網抓取海量文本
? 網絡本身即是一座取之不盡的“語料礦山”。
? 技術路徑:網絡爬蟲 → 清洗去噪 → 按句子或滑動窗口切分 → 構造“上文 → 下一 token”配對。
? 示例:將句子“人工智慧真神奇”拆為
人工 → 智 人工智 → 慧 人工智慧 → 真 ……
即可直接用于自監督訓練。
2. 自監督學習(Self-supervised Learning)
? 定義:無需人工標注,模型利用文本自身的順序結構作為監督信號。
? 流程:
① 自動把連續文本拆成“上文”與“待預測 token”;
② 通過最大化似然,讓模型學會在給定前文時輸出概率最高的下一詞。
? 特點:人力成本低,可擴展至萬億級 token,適合大模型預訓練。
3. 大規模數據獲取與訓練優勢
? 數據規模:只要存儲與算力允許,爬蟲可源源不斷提供多語言、多領域文本。
? 訓練優勢:
– 零人工標注,降低數據準備成本;
– 語料多樣性與規模直接決定模型語言能力與泛化上限;
– 同一套流程可復制到任何新語料,持續更新模型知識。
6.7 數據的精煉與完善:數據清理的必要性與操作細節
1. 數據清理的必要性
網絡爬取的原始語料雖然規模龐大,但直接用于訓練會引入噪聲、偏見甚至有害信息。DeepMind 的研究指出:
“未經清洗的數據會顯著降低模型質量、安全性和泛化能力。”
因此,自監督學習仍需系統的人工干預與自動化清理流程。
2. 六大清理步驟
① 有害內容過濾
- 使用關鍵詞、分類器或人工審核剔除色情、暴力、仇恨、違法等不當文本。
- 建立動態黑名單,定期更新敏感詞庫與規則。
② 去除無用符號
- 剝離 HTML 標簽、腳本、導航欄、頁眉頁腳、LaTeX 殘留等格式標記。
- 正則 + DOM 解析器組合,保證正文完整性。
③ 保留有效符號
- 保留表情符號(😊、👍)、數學符號(π、∑)、特殊標點(“”、《》),因其可能攜帶語義或情感信息。
- 建立白名單,避免誤刪。
④ 數據質量分級
- 高質量來源:維基百科、教科書、政府/學術網站、權威新聞 → 上采樣(重復多次)。
- 低質量來源:論壇灌水、自動生成、事實錯誤 → 下采樣或直接剔除。
- 指標:準確性、權威性、有用性、可讀性(可由人工+模型聯合打分)。
⑤ 去重
- 全局 MinHash / SimHash 檢測段落級重復;閾值通常設為 90% 相似度。
- 案例:某婚慶公司廣告段落出現 6 萬余次,去重后將其權重降至零,防止模型“背廣告”。
⑥ 測試集過濾
- 與訓練集做反向去重,確保測試樣本未在訓練階段曝光。
- 再次執行步驟①–④,保證評估的嚴謹性與可復現性。
- 效果評估
- 清理后語料規模通常下降 20%–40%,但困惑度(PPL)下降、BLEU/人工評分提升。
- 引入“數據健康報告”:統計每類被過濾內容比例,作為后續迭代依據。
通過上述六步,既保留互聯網文本的廣度,又最大程度抑制噪聲與風險,為大模型提供“干凈且富營養”的訓練口糧。
【精煉并完善后的文本】
6.8 所有文本資料都能拿來訓練“文字接龍”嗎?
“海量公開數據≠合法可用”。開發者必須將版權合規納入數據工程的核心環節,否則模型規模越大,潛在法律風險也越大。
1 是否任何資料都能用于訓練?
網絡文本雖取之不盡,卻并非“拿來即可用”。未經授權的受版權保護內容一旦用于訓練,即可能觸發侵權訴訟。
2 版權糾紛與法律風險
? 典型案例:2023 年《紐約時報》起訴 OpenAI 與微軟,指控其未經授權使用付費新聞訓練 GPT 系列。
? 風險點:
– 付費墻后的新聞、學術論文、專利文本、圖書、劇本、代碼倉庫等,均可能受版權或合同條款保護;
– 即使網頁公開可見,也不等于放棄版權。
3 開發團隊的常見做法
做法 | 描述 | 風險等級 |
---|---|---|
大規模爬取公開網頁 | 默認“公開即可用”,不篩選版權狀態 | 高 |
謹慎過濾 | 使用 robots.txt、版權聲明、付費墻檢測等手段剔除受限內容 | 中 |
全授權鏈路 | 只使用:① 已獲直接授權;② 明確 CC-0、CC-BY 等開放許可;③ 自采/自建數據 | 低 |
頭部科技公司(Google、Microsoft 等)通常采用第 3 種模式,或與出版機構簽署商業許可協議,或自建合法語料庫。
4 授權與合規建議
- 建立版權審查流水線
? 元數據識別:抓取時記錄域名、版權聲明、許可證標簽;
? 指紋去重:剔除已知付費內容指紋(如新聞出版商提供的黑名單)。 - 優先使用低風險語料
? 公有領域作品(古騰堡計劃、政府公文);
? 開放許可資源(維基百科、CC-BY-SA 新聞、開源代碼)。 - 合同與保險
? 與內容方簽訂“文本挖掘許可”或“AI 訓練許可”;
? 購買版權責任保險,降低潛在訴訟成本。
6.9 再訓更大的模型也沒用:為什么語言模型仍無法好好回答問題?
1. 學習方式決定了“只會接龍”
? 訓練方法:GPT、PaLM 等模型以無監督“文字接龍”為目標,對互聯網、書籍等大規模文本進行下一個 token 的預測。
? 結果:模型學到的是語言形式的統計規律,而非“理解問題—檢索知識—組織答案”的顯式流程。
2. 缺乏明確的目標引導
? 無答題目標函數:訓練語料沒有“這是問題—這是標準答案”的成對信號,模型不知道何時該“簡潔回答”、何時該“詳細解釋”。
? 上下文缺失:原始文本不提供“提問者意圖、場景約束、答案格式”等關鍵信息,導致輸出往往“答非所問”或冗長發散。
3. 無效的自問自答模式
? 現象示例:問“3×7 等于幾?”,模型可能繼續生成“那么 7×3 呢?”、“再考慮 3×8…”等衍生問題,而非直接給出“21”。
? 根因:訓練時從未被要求“先給出答案”,而是最大化“生成與 prompt 最連貫的后續文本”,于是傾向于擴展話題而非解決問題。
4. 大模型預訓練的困境與解決思路
? 雖然語言模型通過大量的無監督學習,積累了大量的文本數據和潛在的語言能力,但純粹擴大參數量與數據量,只能讓模型更熟練地“背臺詞”,模型并不清楚如何有效地使用這些能力來回答實際問題。
? 解決思路:通過人為設計任務目標、對齊機制與評估標準,使得模型的“內功”轉化為可靠的“解題能力”。