知識分享 · AI 訓練
ChatGPT 是怎麼被教出來的?從爬網路資料到三階段訓練的養成記
預訓練讀過的資料印出來疊起來有 1500 公里高,卻要先洗到只剩 1.4% 才能用;教會它「好好回答問題」其實只要一萬多筆資料;最後靠你按的讚和倒讚出社會。臺大李宏毅教授的課程整理,加上「自己的資料能做什麼」的實話。
先看整張圖:三階段養成記
你每天在用的 ChatGPT、Gemini、Claude,是怎麼被「教」出來的?臺大電機系李宏毅教授在課堂上用了一組任何人都聽得懂的比喻:大型語言模型的養成分三個階段,就像一個人的成長 —— 學齡前、上學、出社會。
三階段養成記。比喻出自李宏毅教授的課堂。
全部都是文字接龍,換的只是教材
課程開場先破題:三個階段聽起來很玄,但本質上沒有不同 —— 都在學文字接龍。而文字接龍其實就是一種「分類問題」:給模型一個未完成的句子「臺灣最高的山是」,它要從自己認得的所有 token 裡選出下一個字 ——「玉」。這跟教電腦看圖片分辨貓狗是同一種數學,差別只在圖片分類可能有一千個類別,而文字接龍的類別是幾十萬個 token。
所以三個階段改變的不是學習方法,而是教材:第一階段的教材是整個網路,第二階段的教材是人寫的標準答案,第三階段的教材是模型自己的作答加上人類的評價。理解了這件事,後面就都好懂了。
第一階段:預訓練 —— 資料從哪裡來?
要學會文字接龍,需要兩種知識:語言知識(文法怎麼接才通順 —— 大約 10 億個詞彙量就學得差不多)和世界知識(水的沸點是 100 度、在低壓下卻小於 100 度……無窮無盡,多少資料都學不完)。所以第一階段的策略很暴力:上網爬,能爬到的全部拿來學。隨便一句「人工智慧真神奇」,就能拆出「人→工」「人工→智」……好幾筆練習題。因為幾乎不需要人工整理,這個階段又叫自督導學習(self-supervised learning)—— 機器自己督導自己。
15 兆個 token 是什麼概念?
Llama 3 和 DeepSeek-V3 這一級的模型,預訓練用了大約 15T(15 兆)個 token。課堂上有一個很有畫面的換算:一張 A4 紙約印 1,000 個 token,一百張紙厚一公分 ——
15 兆個 token 印成紙,疊到外太空。換算與比喻出自課程。
更驚人的是取得成本:Hugging Face 公開的 FineWeb 資料集差不多就是 15T token,免費下載(前提是你有 44TB 的硬碟放它)。不過課程也提到一個警訊:模型吃資料的速度比網路長資料的速度快,有研究估計 2028 年前後,網路上的資料就會被用盡。
資料不是越多越好:先洗到剩 1.4%
爬下來的資料不能直接用。課堂上講了一個真實案例:完全開源的模型 OLMo 在訓練時,loss 會莫名其妙暴漲、訓練不穩定。團隊追根究底,找到元凶是 Reddit 上一個叫 Microwave GAN 的討論版 —— 版上的貼文是幾千個大小寫混雜的 M(疑似在模擬微波爐的聲音)。這種資料餵下去,模型真的會被訓壞。
所以實務上,網路資料要經過層層過濾。以 DataComp 這篇論文公開的流程為例:
清洗漏斗:留下的 1.4%,換來的是「同樣算力、更好的模型」。
- 量要對,比例也要對。DeepMind 的 Chinchilla 研究發現,算力固定時,模型大小與資料量有最佳比例 —— 課堂的說法很傳神:模型太大資料太少是「思而不學則殆」,模型太小資料太多是「學而不思則罔」。後來的 Llama 系列都照這個定律調配方。
- 品質可以用 AI 再加工。有一招叫 Rephrasing the Web:讓一個現成的語言模型把網路文章「換句話說」改寫得像維基百科一樣整齊,再拿去訓練 —— 同樣效果只需要三分之一的資料。
第二階段:SFT —— 一萬筆資料的畫龍點睛
讀完整個網路的模型,照理說很厲害了吧?不,它根本不能用。2020 年的 GPT-3 有 1,750 億參數,你問它問題,它不回答 —— 反而出四個選項給你選;Google 更大的 PaLM(5,400 億參數)被問國小數學,它回你更多題目。為什麼?因為網路上「臺灣最高的山是哪座」後面接的,不一定是玉山 —— 可能是考卷的選項、可能是「知道的朋友請留言」。你餵它什麼分佈,它就接什麼分佈。
解法是第二階段 SFT(Supervised Fine-tuning,督導式微調):人類寫下一筆一筆「問題+標準答案」——「有人問臺灣最高的山,你就答玉山」「有人要你教他做壞事,你就說不行」。做完 SFT,模型脫胎換骨,突然就會好好回答問題了。
神奇的是:需要的資料少得驚人
- OpenAI 的 InstructGPT(ChatGPT 的前身):SFT 資料只有一萬多筆。
- Meta 的 Llama 2:只用了 27,540 筆。他們試過找廠商收上百萬筆,發現沒有更好——論文那一節的標題就叫 Quality is all you need(品質才是一切)。
- LIMA 這篇研究更狠:精挑細選 1,000 筆就能跟 GPT-4 打得有來有回。
- 最離奇的一筆:有研究發現拿中國網路論壇「弱智吧」的腦筋急轉彎問題(「一斤棉花和一斤鐵同時掉進水裡要先救誰」這種)做 SFT,效果居然在各任務上都最好——怎麼挑 SFT 資料,至今仍是玄學兼顯學。
為什麼這麼少的資料就夠?因為 SFT 教的不是知識,是「回答的樣子」。玉山是臺灣最高的山,模型在預訓練讀過幾百遍、早就知道了 —— 它只是不知道「被問的時候要把玉山說出來」。課堂的比喻是畫龍點睛:整條龍(知識)在預訓練就畫完了,SFT 只是點上眼睛,龍就飛了。反過來說,SFT 也塞不進新知識 —— 研究顯示硬塞模型完全不會的東西,它只能死背,成績反而暴跌。
第三階段:RLHF —— 你按的讚,就是它的社會化
你有沒有注意過,AI 的回答旁邊總有讚和倒讚的按鈕?那不是裝飾 —— 那就是第三階段 RLHF(人類回饋強化學習)的資料收集器。這個階段沒有標準答案了:模型自己作答,人類只說「好」或「不好」,它得自己想辦法變好 —— 這就是「出社會」。
為什麼需要這一段?因為很多事人類寫不出標準答案,但一眼就能判斷好壞。課堂的例子:請模型寫一首七言律詩,它洋洋灑灑寫了——十句。教授說:我不會寫詩,但我知道七言律詩只能有八句,這首直接倒讚。「寫出好答案很難、判斷答案好壞相對容易」——這個不對稱,就是 RLHF 能運作的根基。
- SFT 只問過程:一個 token 一個 token 對答案,可能放過「我很可以教你做壞事」這種只錯一個字、意思卻全錯的回答。
- RLHF 只問結果:整個回答一起評,好就拉近、不好就推遠 —— 評的正是人類真正在乎的東西。
- 而且是因材施教:教材是模型自己寫的答案,針對它自己的痛點,不是老師硬塞的解法。
但機器的困境也真實存在:你只給一個倒讚,它不知道錯在哪。課堂上那首十句的「律詩」被嫌棄後,模型檢討了半天意境不夠深遠 —— 完全沒發現自己多寫了兩句。另外,現在連「給回饋的人」都可以換成 AI:訓練一個專門評分的 reward model 來代替人類按讚,甚至讓模型自己評自己(self-rewarding)—— 因為「產生答案難,挑錯相對容易」這個不對稱,對 AI 自己也成立。
那,我們自己的資料能做什麼?
看完三階段,先說一句實話:預訓練不是一般公司玩得起的(15 兆 token、幾萬張 GPU)。一般單位手上的資料,實際能走的路是兩條:微調(fine-tune 一個現成的開源模型,正是上面的第二階段 SFT,只是教材換成你的資料)或 RAG(不動模型,讓 AI 查你的資料庫再回答)。想微調,最大的坑不在訓練,在資料集怎麼準備 —— 這正是第二支影片的主題。
先想清楚:你要教它上哪一種課
影片開場先講重要性,比喻跟李宏毅教授異曲同工:微調就像送模型去補習班,教材不行,老師再好、學生再努力都沒用 —— 大部分「微調後效果反而變差」的案例,追查下去都是資料集的問題。而資料集長什麼樣子,取決於你要教哪種課:
| 要教的課 | 一筆資料長怎樣 | 資料好不好生 |
|---|---|---|
| 指令微調 (教它做明確的任務) |
指令+輸入+輸出:「把英文翻成中文」+「Good morning」+「早安」 | 好生。任務明確、常有現成答案(翻譯 API、題庫),主要是格式轉換的工 |
| 對話微調 (教它連貫的多輪對話) |
整段對話:誰問、誰答、上下文接得順 —— 客服機器人就靠這種 | 中等。可從客服記錄、訪談整理,要標清楚角色 |
| 推理微調 (教它一步一步想) |
問題+思考過程(思維鏈)+答案,三段缺一不可 | 思維鏈最難生。來源:數學題自帶的解題過程,或從開源推理模型(如 DeepSeek R1)蒸餾 |
| 偏好資料 (強化學習用) |
同一個問題+好回答+壞回答,成對標註 | SFT 之後才用,對齊風格與價值觀 —— 正是上一節 RLHF 的親戚 |
| 知識蒸餾 (大模型教小模型) |
把大模型的問答直接當資料集,微調出便宜的小模型 | 最好生 —— 但要人工抽驗品質,而且你得信任那個老師 |
格式只有兩種要認得:Alpaca 與 ShareGPT
嚴格說微調資料集沒有硬性格式 —— 訓練程式最後都會把它攤平成文字。但社群多年下來收斂出兩種通用格式,主流工具(如 LLaMA-Factory)直接支援:
兩種通用格式。OpenAI 的 messages 格式是 ShareGPT 的近親。
最後一件事:資料要分三份
準備好的資料不能全部拿去訓練。影片用考試比喻講得很清楚:訓練集是日常課本與練習題(約 70%)、驗證集是模擬考(約 15%,用來確認模型不是在死背)、測試集是期末考(約 15%,最後驗收真實能力)。三份絕對不能混 —— 測試題混進課本,就像考前偷背答案:分數漂亮,遇到新題照樣不會。還有一個細節:時間序列的資料(例如預測價格)必須照時間切,拿 2023 年訓練、2024 年測試,順序反過來就是作弊。
一句話總結
大型語言模型的養成:學齡前讀完整個網路(但先洗到剩 1.4%)、上學時用一萬多筆人寫的問答學會「好好回答」、出社會後靠讚與倒讚磨出人類喜歡的樣子 —— 三個階段學的都是文字接龍,換的只是教材。而輪到你自己的資料時,記住兩句話:教它新知識靠的不是微調,是 RAG;教它新樣子,才輪到微調 —— 而且品質永遠比數量重要。
互動實驗室:這件事發生在哪一階段?
四個你可能遇過的情境,點選看它對應養成記的哪一段、為什麼:
參考與引用來源 (References & Sources)
- 1. 主要來源:李宏毅【生成式人工智慧與機器學習導論 2025】第 7 講 https://www.youtube.com/watch?v=YJoegm7kiUM
- 2. 第二來源:code秘密花園「想微調特定領域的大模型,數據集究竟要怎麼搞?」 https://www.youtube.com/watch?v=C7euxRVw3JQ
- 3. FineWeb(課程提到的公開預訓練資料集) https://huggingface.co/datasets/HuggingFaceFW/fineweb
- 4. Chinchilla Scaling Law(DeepMind) https://arxiv.org/abs/2203.15556
- 5. LIMA: Less Is More for Alignment(Meta) https://arxiv.org/abs/2305.11206