JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

從 BERT 到生成式模型

一個小把戲——把詞遮住,讓網路去猜——如何把普通文本變成了老師,又如何分成兩支:BERT 家族,和支撐今天聊天機器人的生成式模型。

難題:標籤從哪兒來?

走到這一檔的此處,你已經見過這些零件:文本被切成 token、詞被變成稠密向量,以及讓每個 token 透過自注意力看到其他所有 token 的 Transformer。但 Transformer 只是一個強大卻空的容器——數百萬個等著被設定的參數。要設定它們,經典的監督學習需要帶標籤的樣本,而給文本打標籤代價極高:得有人一句一句手工標註。

突破在於注意到:普通文本本身就藏著自己的答案。網際網路上充滿了沒人標註過的句子——但每個句子都悄悄告訴你下一個詞是什麼,或者哪個詞能填進空缺。如果你能把這種免費的結構變成訓練訊號,就不再需要標註員,只需要一塊硬碟。這正是自監督學習的核心,也正是它讓現代語言模型成為可能。

遮罩語言建模,與 BERT

在這一檔前面,你見過語言建模最初的形態:從左到右預測*下一個*詞。BERT(2018)把任務反了過來。它不再只讀一個方向,而是隨機遮住約 15% 的 token,讓網路同時借助左右兩邊的詞把它們補回來。這就是遮罩語言建模(MLM),而「同時」這個詞正是關鍵——意義往往取決於後文,而不只是前文。

input:  the cat sat on the [MASK] and purred
target:                     mat

# the model sees the WHOLE sentence (left + right)
# and must guess the hidden token from context
遮罩語言建模:遮住一個 token,從兩側上下文預測它。

為什麼這能教會有用的東西?為了猜出「mat」,網路必須吸收語法、常識,以及詞與詞之間的關係——這一切都從「填空」這一個任務裡被擠壓出來。把它在數十億個句子上跑一遍,它學到的向量表示就不再籠統,而變得能感知上下文。同一個詞「bank」,在「river bank(河岸)」裡和在「savings bank(儲蓄銀行)」裡會得到不同的內部向量,因為注意力會借助鄰詞重新塑造每個 token。

這分兩步展開。先是預訓練:在原始文本上花上數月做遮罩填詞,造出一個通用的語言理解器。然後是微調:在頂上接一個很小的輸出層,用一小批帶標籤的資料針對你真正的任務短暫訓練——情感分析命名實體識別問答。因為重活在預訓練階段已經幹完,這一步不過是文本上的遷移學習,它大幅削減了每個任務所需的資料量。

編碼器、解碼器,還是兩者都要

最初的 Transformer 有兩半——讀入輸入的編碼器,和寫出輸出的解碼器——為翻譯這類序列到序列任務而拼在一起。後來的模型常常只留一半,而它們留下哪一半,是理解一個模型「性格」最有用的一點。

編碼器(如 BERT)是雙向的:每個 token 一次性關注整個句子。這讓它極擅長*理解*——分類、標註、檢索——但它無法自然地生成流暢文本,因為它從沒被訓練成一個接一個地吐詞。解碼器(如 GPT 家族)正相反。它被加了遮罩,使每個 token 只能看到它之前的內容,並且純粹用下一個詞預測來訓練。正是這種從左到右的約束讓它能寫作——它生成一個 token、接上去、再重複。這就是自回歸解碼

通往大型語言模型的橋

接下來是讓整個領域吃驚的轉折。BERT 的雙向閱讀一度被普遍認為是更聰明的設計——對理解類任務而言,往往確實如此。但那個看似無趣的從左到右解碼器,反而被證明能擴展得更遠。當研究者把解碼器做大、餵進更多文本時,發生了一件沒人計劃的事:一個只被訓練來預測下一個詞的模型,竟開始*遵循指令*、回答問題,並去做沒人為它微調過的任務,只需在提示裡給它看幾個例子就行。最後這種能力就是上下文學習

所以,大型語言模型的內核,就是你剛認識的那個解碼器——被做到極大,並在驚人海量的文本上訓練而成。把 BERT 連到 ChatGPT 的配方很短:同樣的 Transformer 塊、同樣的自監督預訓練思路,只是用下一個詞預測代替遮罩填空,並一路擴展到新行為冒出來為止。由於同一個凍結的底座如今服務於數不清的下游用途,人們稱它為基礎模型

「擴展到新行為冒出來」究竟是什麼意思?從經驗上看,隨著你增加資料、參數和算力,損失會沿著平滑、可預測的曲線下降——這就是縮放定律。令人意外的是,某些能力似乎不是漸進改善,而是越過某個規模閾值後才「開關式」地亮起來。但這裡要小心:那種「突然湧現」有相當一部分可能只是我們衡量成敗方式造成的假象,這也是該領域爭議最大的論斷之一。更大,可靠地意味著更低的預測損失;它並不可靠地意味著躍遷到一種全新的認知能力。

誠實的邊界,以及該記住什麼

看到「預測下一個詞」,很容易就下結論說這些模型真的像你一樣理解語言。請克制這種衝動。解碼器最佳化的是一個目標——讓下一個 token 在給定前文的條件下統計上更可能。這種壓力造就了驚人的流暢,但也造就了自信的錯誤:模型會產出通順、貌似合理卻純屬虛假的文本,因為它被訓練去追求的是「合理」,而非「真實」。這種失敗有個你以後會常遇到的名字,而且它不是一個能打補丁修掉的 bug——它內建在目標裡。

把這一檔串起來看,整條弧線其實是同一個想法在不斷放大的規模上重複。你從數詞開始,到給詞做分詞,到靜態詞向量,到來自注意力的、能感知上下文的向量,再到在免費文本上預訓練的兩種方式。編碼器這一支給了我們 BERT 和深度語言理解;解碼器這一支被做得極大,給了我們如今正在重塑人們工作方式的生成式模型。這架梯子後面幾檔——使用 LLM、評估、安全——全都建立在你剛剛梳理過的這套機器之上。