訣竅:讓文本自己當答案
你已經認識了 Transformer——那台透過 注意力 讓模型把每個詞與其他所有詞相互權衡的引擎。預訓練就是我們餵給這台引擎的東西,而其中的祕密簡單得幾乎令人不好意思。取來海量文本,把下一個詞遮住,讓模型去猜。它來自的那段文本本身就是答案,所以沒有任何人需要去做標註。這就是 [[self-supervised-learning|自監督學習]]:資料為自己充當監督。
這其實就是你在自然語言處理那一級見過的 語言建模,只是被放大到了荒誕的程度。模型讀入一串 詞元,再透過 softmax 為每一個可能的下一個詞元輸出一個機率。我們把這個預測和真正的下一個詞元做比較,用一個 損失函數 衡量誤差,再用 隨機梯度下降 把數十億個 權重 往下推一點。重複萬億次。這裡沒有任何新東西——就是你早已理解的 反向傳播,只不過連續跑上好幾個月。
從預測器到基礎模型
當你在足夠寬廣的資料上訓練出一個模型,使它成為眾多任務可複用的起點時,你就有了一個 [[foundation-model|基礎模型]]。這個名字捕捉到了一種轉變:不再為每個任務從頭訓練一個新網路——翻譯一個、情感分析一個——而是一次性付出高昂代價完成預訓練,之後再廉價地適配。一個 大語言模型 不過是一個以文本為預訓練養料的基礎模型。
這是行星尺度上的 遷移學習。預訓練得到的權重蘊含著語言的通用 表徵;之後一個規模小得多的 微調 階段會把它們重塑,以服務某個具體用途。關鍵在於:原始的預訓練模型還不是一個聊天機器人。它會像一個網頁那樣樂呵呵地續寫你的提示——補全、填充,甚至編造——因為補全正是它被要求做的全部。把它變成一個樂於助人的助手,是*下一篇*指南的任務。
raw text ──tokenize──▶ [The, capital, of, France, is]
│
transformer (billions of weights)
│
softmax over the whole vocabulary
▼
P("Paris")=0.71 P("a")=0.04 P("home")=0.01 ...
loss = -log P(true next token) → backprop → repeat三種原料:資料、算力、參數
三個旋鈕決定了一個預訓練模型能有多好。資料:經過精挑細選的網頁、書籍、程式碼等的匯集——通常是萬億級詞元,並經過嚴格的品質篩選與去重,因為一個模型由它所吃的東西塑造而成。算力:成千上萬張 GPU 或 TPU 透過 分散式訓練 連續運行數週,這是大多數機構所做過的最龐大的單次計算。[[parameter|參數]]:那數十億個用來儲存所學內容的權重。
了不起的發現是,這些並非隨機的賭注。[[scaling-laws-capability|縮放定律]] 表明:當你把資料、算力和參數一起做大時,損失會平滑且可預測地下降——往往呈現出一條乾淨的冪律曲線,讓你在花錢之前就能外推。它們還告訴你其中的*配比*:在給定算力預算下,模型規模與訓練詞元數之間存在一個最優比例,而早期那些巨型模型相對其規模而言,訓練用的資料太少,嚴重訓練不足。
湧現能力——請仔細讀
隨著模型變大,研究者注意到一些技能:它們在小模型裡似乎不存在,在大模型裡卻出現了——多步算術、遵循不尋常的指令、解謎題。這些被稱為 [[emergent-abilities|湧現能力]]:彷彿在越過某個規模之後突然開啟、而非逐步改善的能力。這是一個確實引人注目的觀察,但它同時也是這個領域裡被炒作得最厲害的說法之一。
這裡有一個誠實的提醒。後續工作表明,許多「突然」的躍升在一定程度上是*度量方式*造成的假象。如果用全有或全無的方式給任務打分(每一位數字都對才算對),進步看起來就像一道懸崖;如果用部分計分的方式(按逐詞機率)來打分,同一項技能就會平滑地改善,恰如縮放定律所預測的那樣。底層的本領往往是漸進生長的;那道陡峭的分界線,有時是在我們的尺子上,而不在模型裡。
所以請同時把握兩個事實。規模確實會解鎖性質上全新的行為——這是真實而重要的。但「湧現」並不意味著神奇、不可預測,也不是模型正在覺醒的徵兆。許多看似飛躍的東西,其實是一種度量選擇,遇上了穩定而有規律的改善。對於那些關於智能突然降臨的宏大斷言,請用你對待任何非凡結論時同樣的懷疑態度去對待。
預訓練是什麼——以及不是什麼
把這一階段到底交付了什麼說清楚,會很有幫助。一個預訓練模型,是對「文本通常會如何延續」的一種龐大的統計壓縮。它讀過的東西遠多於任何人,然而它沒有目標、不理解何為真相、也意識不到自己正在回答某個人。它那流暢的自信,恰恰說明了為什麼 幻覺——用一種聽上去合理的口吻說出錯誤的事——並不是一個意外擰上去的 bug,而是「為合理的延續而最佳化」所帶來的直接後果。
預訓練同樣有著真實的代價和邊界,值得點明。資料裡帶著人類的偏見,模型會把它吸收進來,還可能將其放大。知識被凍結在訓練截止那一刻,所以模型沒有任何與生俱來的途徑去知道更新的事情。而訓練一個前沿模型背後所耗的能源與水量相當可觀——環境成本 是這本帳上真切的一筆,而非事後的補記。
繼續往下讀時,請記住這個框架。預訓練造出的是一台強大、博學,卻原始而無方向的引擎。本級裡餘下的幾篇指南會為它裝上轉向系統——用微調和 RLHF 讓它變得樂於助人,用取樣把它的機率變成文字。這些都沒有創造出一個心智;它們只是把一個預測器塑造成一件工具。把這條界線劃得清清楚楚,正是「用好這些系統」與「被它們糊弄」之間的分別。