一條沒掏錢之前就能畫出來的曲線
走到這級階梯,你已經知道一個 Transformer 是怎麼搭起來的,也知道一個 大語言模型 是怎麼訓練的:預測下一個詞元,量出 損失,再沿梯度下降。接下來最自然的問題,也正是推動整個前沿的那一個——如果你乾脆把所有東西都做大,會怎樣?2020 年前後,研究者發現了一件真正令人驚訝的事。當你把模型規模、數據和算力一起增大時,訓練損失並不會隨機地游移或停滯;它會在雙對數座標圖上沿著一條平滑、整潔的直線下降——一條冪律。這就是 縮放定律的核心。
一條直線為什麼是件大事?因為它讓你能夠預報。在少數幾次小而便宜的訓練上把曲線擬合出來,再外推出去,你就能在掏出數百萬美元、花掉數週 GPU 時間之前,大致預測一個大得多的模型,損失會落到多低。這把造模型從一場賭博,變成了更接近工程的事情。說白了,這也正是這個領域如此重押規模的原因:當一條曲線跨越好幾個數量級都仍然成立時,最顯而易見的做法,就是順著它騎上去。
三個旋鈕,以及擰它們的正確方式
縮放有三樣配料:參數的數量(模型規模)、數據集的大小,以及花掉的總算力。最樸素的直覺——在「兆參數模型」這類標題裡喊得最響的那種——以為參數量才是獎盃。並非如此。更深的一課在 2022 年隨《Chinchilla》的結果到來:在固定的算力預算下,許多早期模型都過大而欠訓。它們參數太多,餵的數據卻太少。把兩者匹配好,一個用更多詞元訓練的較小模型,會擊敗一個被數據餓著的更大模型。
所以真正的較量,是算力最優的分配:在你負擔得起的預算下,應該如何在「把模型做大」和「給它看更多數據」之間切分?這直接連回前幾級階梯的概念——容量、過擬合與泛化。模型太小,捕捉不了那些模式;模型太大卻只用了太少數據訓練,就是在浪費它的容量。縮放定律給出了那個甜點位置的粗略配方,而它揭示出的那種「數據飢渴」,正是各團隊如今執著於收集和清洗海量、多樣的 預訓練語料的原因。
loss(N, D) ≈ E + A / N^a + B / D^b N = parameters D = data (tokens) E = irreducible floor ↑ raise either one and loss falls — but along a curve, not a cliff
留意那個公式裡的 E——一個不可消除的下限。總有一部分損失你永遠趕不走,因為語言裡本就含有真實的隨機性:哪怕一個完美的模型,也無從知道你下一個會選哪個詞。縮放縮小的是那段*可消除的*差距,而不是那個下限。而且縮放既不免費也非無限:它要燒掉巨量的金錢、能源和數據,並且確有跡象表明,隨著高品質訓練文本告急,最容易得來的收益正在放緩。
湧現能力——以及為什麼要小心地讀它
接下來這個轉折,讓縮放顯得幾乎像魔法。損失曲線是平滑的,可某些*實用技能*似乎並不是平滑地到來。在諸如多步算術、或遵循一條刁鑽指令這類任務上,小模型幾乎得零分——然後,過了某個規模,它們突然就開始答對了。這被稱為 湧現能力:彷彿在模型跨過一道門檻後才「咔」地開啟的本領,像水在某個溫度上「翻」成冰、而不是慢慢變稠。它看上去不太像打磨,倒更像一次相變。
這個想法令人振奮——也有點令人不安——因為它暗示:規模能解鎖你沒訓練過、也預測不到的、真正*全新*的技能。它也成了「為何要造越來越大的模型」的一大招牌論據。這些驚喜裡有許多,都和你已經見過的技術結伴出現:上下文學習(僅憑提示裡的幾個範例就學會一項任務,無需更新權重)和 思維鏈提示(讓模型一步步推理),在大模型裡都比在小模型裡管用得多。
現在說說誠實的那一面,因為這正是這個領域自我糾正之處。2023 年一項有影響的分析指出:所謂「湧現」中有許多,其實是*我們度量方式*造成的假象。把一項任務按「全對才算分」來評——一個答案每一位都正好對,你才給分——改善看上去就像突然一躍。把同樣那些輸出改按給部分分來評(對了幾位),你會發現較小的模型一路其實都在穩步改善:那是平滑的上升,而非一個開關。所以有些湧現能力是真正的驚喜,另一些則是一個嚴苛、不連續的度量造出的海市蜃樓。
苦澀的教訓
從任何單個模型退後一步,你會發現一個已經重複了七十年的模式。它由研究者理查德·薩頓在 2019 年一篇簡短的隨筆裡命名為 「苦澀的教訓」:那些單純*依靠更多算力*的通用方法——你給它越多數據和處理能力就越好的學習與搜索——最終會擊敗那些建立在精巧、由人手工打造的知識之上的方法。之所以叫*苦澀*,是因為它刺痛人:研究者滿懷珍愛、親手工程進系統裡的那些優雅洞見,一再被僅靠「上規模」的蠻力方法碾平。
歷史為它背書,而且你在這級階梯上已經親歷過其中幾段。在西洋棋上,數十年來對特級大師棋略的編碼,敗給了搜索海量局面的 引擎。在圍棋上,手工調校的啟發式規則,敗給了從海量 自我對弈中學習的 AlphaGo 及其後繼者。在視覺與翻譯上,那些煞費苦心的 手工特徵,一次又一次被用更多算力、更多數據訓練的通用 深度網絡反超。每一次,本能都是把「我們所知」內建進去;每一次,持久的勝利卻來自那些「自己去把它學會」的方法。
把它當作一個發人深省的論點,而非福音——並留意它的侷限。這教訓*並不是*說人類知識一文不值;它說的是:別以「會給系統的學習能力封頂」的方式把知識寫死。那些幫助模型去學的結構——Transformer 本身的設計、訓練的配方——本身就是人類的貢獻。而縮放有實打實的侷限:成本、能源、環境足跡,以及有限的好數據供給。最好把它讀作一種強烈、來之不易的偏向——偏向通用、可擴展的方法,以及一記反對過度工程的警鐘——而不是一條「算力越多就總能贏」的定律。
這些告訴了我們什麼關於未來的事——又沒告訴我們什麼
把這三個想法拼到一起,你就握住了過去十年的引擎:縮放定律讓進步變得*可預報*,那些看似湧現的能力讓它顯得*沒有上限*,而苦澀的教訓讓*規模本身*成了策略。這是一個真實而有力的故事。它解釋了為什麼單一一個在規模上預訓練的 基礎模型,能同樣地被改造去做翻譯、寫程式和當家教——也解釋了為什麼後面幾級階梯,會談到把這樣的模型變成會用工具的智能體。
但要守住底線:縮放*沒有*證明的東西。那條平滑曲線追蹤的是下一個詞元的損失,它和我們真正在意的、亂糟糟的真實世界能力並不是一回事——後者爬升得參差得多,而且低損失既不能消除 幻覺,也不保證推理穩健。更要緊的是,縮放定律裡沒有任何東西,能證明「堆算力」就是通往通用智能的那條路。它只是在有限區間內的一條觀測趨勢,倚靠著有限的數據和能源供給。把它筆直外推到人類水平的 AI,是一個懷著希望的猜測,而不是一個結論。
- 把一條縮放定律曲線當作在已測試區間內的預報——對規劃有用,但不是對下一個數量級的承諾。
- 當一項新能力看起來「湧現」時,先查度量再相信那道懸崖——問問給部分分會不會把它抹平成一道緩坡。
- 把苦澀的教訓讀作一種偏向通用、可擴展方法的傾向——並記住規模要花掉金錢、能源和有限的數據。