預訓練:自監督學習與資料清洗
用完形填空工作紙與圖書館採購兩個比喻,說明模型在第一階段怎樣自學,以及資料質素為何決定一切。
Read in English一句話答案:預訓練就是把海量文字遮住一部分,叫模型猜被遮住的是甚麼,猜錯就微調參數,重複幾萬億次——沒有人逐條教它,它是自己做完形填空學會的。
老師問:「係咪有人一條條教佢?」
一位小學常識科老師在教員室問了一條很多人心裡都有的問題:「AI 識得咁多嘢,係咪有一班人喺度日日餵佢?好似我哋教學生咁,一課一課教?」
這個想像很自然,但實情相反。如果真的要人手逐條教,以人類知識的體量計算,幾百萬人教幾百年也教不完。真正的做法聰明得多,而且每一位中文科老師都做過類似的事——出完形填空。
完形填空:一份會自動出題、自動對答案的工作紙
想像你有一個永遠不會累的學生,以及一座極大的圖書館。你的教法是這樣的:
隨手翻開一頁,用手指遮住其中一個字,問學生:「呢度應該係咩字?」學生猜。你把手指移開,答案就在紙上——所以你不需要另外準備答案紙。猜錯了,學生就稍微調整一下自己的判斷方式;猜對了,就強化那個判斷方式。然後翻下一頁,再遮一個字。
重複這件事幾萬億次。
這就是自監督學習。它之所以叫「自監督」,關鍵在於:答案本來就在資料裡面,不需要人手標註。 這是整件事能夠做到這種規模的唯一原因。如果每一題都要人手寫答案,成本會高到不可能。
而模型每一次「調整判斷方式」,調整的就是 第 4 課 講的那些參數。猜了幾萬億次之後,這些參數裡就壓縮了大量關於語言、事實與推理的規律。
這裡有一個很值得教師注意的推論:模型的根本任務由頭到尾都是「猜下一個字」。 它不是被訓練成「說真話」,也不是被訓練成「幫到你」。那兩件事是後面兩個階段才加上去的,見 第 7 課 與 第 8 課。
圖書館採購:垃圾入,垃圾出
既然學生是靠翻書自學,那麼書架上放甚麼書,就決定了他學到甚麼。
這正是資料清洗要做的事。網上抓回來的原始文字裡,有百科條目、學術論文、新聞報道,也有大量重複的廣告、機器翻譯的劣文、仇恨言論、亂碼與個人資料。訓練團隊要做的工作,跟圖書館主任採購時做的判斷相當接近:
- 去重。同一篇文章在網上出現一萬次,如果全部收進去,模型會過度記住它。這就像圖書館買了一萬本同一本書。
- 過濾質素。用規則與分類器把明顯低質素、機器生成的內容剔走。
- 移除有害內容。仇恨言論、成人內容、暴力細節等,在源頭減量比事後補救有效得多。
- 處理個人資料。盡量剔走電話、地址、身分證號碼這類資料。
- 語言與領域配比。要中文好,中文資料就要夠多夠好;要數理推理好,就要加入教科書與程式碼。
這一步的工程量非常大,而且外界很難核實。這也是 Model Card 那一課 之所以重要的原因——模型卡是我們少數可以查閱訓練資料說明的地方。
同時,這一步也直接種下了兩個問題的種子:資料裡有的偏見會被學進去,資料裡沒有的東西模型會自己編。這兩件事留給 第 9 課。
規模:為甚麼學校不會自己做這件事
幾個數量級的感覺,幫助你在會議上判斷:
- 預訓練一個前沿模型,需要數以千計的高階顯示卡連續運轉數星期至數月。
- 電費與硬件成本以千萬至億元計。
- 訓練資料以萬億個 token 計——參照 第 3 課 的換算,那是遠超人類一生能讀完的量。
所以答案很清楚:沒有任何一間學校應該考慮自行預訓練模型。 學校真正需要的,由便宜到貴依次是:
- 改寫提示(免費,見 提示工程)。
- 建立校本知識庫(中等成本,見 RAG)。
- 在既有模型上做輕量微調(較高成本,見 LoRA 與 QLoRA)。
九成以上的校本需求,在第一與第二項就解決了。
一個課室裡的例子
一間中學的中文科科主任發現,AI 寫出來的範文雖然通順,但用詞偶爾偏向台灣或內地習慣——「影片」寫成「視頻」、「硬碟」寫成「硬盤」、「小學五年級」寫成「五年級」而不是「小五」。她最初以為是提示寫得不好,改了幾次仍然出現。
真正的原因在預訓練資料:繁體中文的網上文字總量本來就遠少於簡體中文與英文,而香港用語在其中又只佔一小部分。模型學到的「中文的樣子」,自然偏向資料量最大的那一種。
她最後的做法分三層。第一層,在科組的共用提示模板裡固定加一句用語規範,並附上十個常見對照詞。第二層,把科組過去五年的優秀範文放進校本知識庫,讓 AI 有本校的文字風格可以參照。第三層,把這份對照詞表放進共同備課檔案,新同事入職即用。
這個處理方式值得留意:她沒有嘗試改變模型,她改變的是送給模型的東西。對學校而言,這幾乎永遠是正確的方向。
先自己試一次
想看看預訓練資料的分佈怎樣影響輸出,把下面貼進任何 AI 工具:
請用繁體中文寫三句話,介紹學校如何使用投影機播放教學影片,並在括號內註明你考慮過但沒有採用的其他寫法。
然後告訴我:你在寫繁體中文的時候,最容易不小心用到哪一地的詞彙,為甚麼?
多數模型會坦白承認繁體中文的訓練資料相對較少,並列出幾個常見的混用詞。這個回答本身就是預訓練資料配比的證據。
這對你的課堂意味甚麼
- 用語規範要寫進提示,不要期望它預設正確。 「使用香港繁體中文用語,避免內地與台灣詞彙」這一句應該成為科組模板的固定開頭。
- 校本資料要用知識庫補,不要用訓練補。 模型預訓練時沒有見過你的學校,這是結構性的,不是可以靠問得更好來解決的。
- 評估模型時用你自己的教材。 總體跑分不會告訴你它的香港中文寫得好不好;拿三份你自己的工作紙去試,十五分鐘就有答案。
- 向同事解釋「AI 點解會錯」時,由這一課開始。 它不是被訓練成說真話的,它是被訓練成接得順的。這一句可以化解很多過度信任。
下一步
預訓練完成之後,模型手上有海量的語言規律,但它其實還不懂得「回答問題」——你打一句問題,它可能只會繼續替你寫更多問題。把它變成一位會應對的助手,是下一階段的工作。
繼續閱讀:微調:SFT 與指令跟隨。上一課:Embedding、位置編碼與 Self-Attention。
本課重點
- 能夠用完形填空的比喻,解釋模型怎樣在沒有人逐條教的情況下自學。
- 能夠說出訓練資料的質素與組成,怎樣直接影響模型在中文與香港語境的表現。
- 能夠判斷學校甚麼時候不應該考慮自行訓練模型,以及應該改用哪些做法。
- 能夠向同事解釋為甚麼模型「見過很多」卻「不認識你的學校」。
常見問題
由零開始預訓練並不現實,那需要數以千計的高階顯示卡和以月計的運算時間。學校真正需要的其實是另外三件事,由便宜到貴依次是:改寫提示、建立校本知識庫、在既有模型上做輕量微調。第二十一課會講微調的實際門檻。
上載到知識庫的文件是用來檢索與引用的,不會改變模型參數。至於供應商會否保留對話紀錄作訓練用途,取決於合約與部署方式;要完全確定,最穩妥的是選擇內部部署,讓資料留在校網之內。
主要差別在預訓練資料的語言比例與清洗質素。中文資料佔比高、而且分辨得出繁簡與港台用語差異的模型,寫出來的文字自然更貼近香港課堂;所以選型時值得用你自己的教材實測,而不是看總體跑分。