第 2 課模組一:模型內部是怎樣運作 12 分鐘· 程度: 入門

Transformer 架構白話版:AI 是怎樣「讀」一句話

用一疊在教員室傳閱的工作紙做比喻,說明 Transformer 怎樣逐層處理一句話,以及為甚麼它是逐個字寫出答案的。

Read in English

一句話答案:一句話進入模型之後,會像一份工作紙那樣被一排老師逐個傳閱,每人在旁邊加一層註解;傳到最後,模型只做一件事——猜下一個字應該是甚麼。

學生問了一條很難答的問題

一位中二電腦科老師在課堂上示範 AI 工具,有學生舉手問:「老師,佢點樣知道我講緊咩?」

老師當時的答案是「它有很多資料」。學生再追問:「咁佢有冇諗過先答?」老師卡住了。這其實是一條非常好的問題,而答案會顛覆很多人對 AI 的想像:模型並不是先想好整段答案,再寫出來。它是一個字一個字往下接的,而且每接一個字,都要把前面所有字重新看一次。

要理解這件事,我們先看一句話在模型裡面經歷了甚麼。

第一步:把句子傳給一排老師

想像教員室裡有一疊工作紙,要傳過一排老師。第一位老師看完,在旁邊用鉛筆寫下自己的觀察;第二位老師收到的,是原本的工作紙加上第一位老師的註解,他再加自己的一層;如此類推,傳過幾十位老師。

這就是 Transformer 的「層」。一個常見的模型有幾十層,每一層都接收上一層的結果,再加上自己的處理。低層處理的東西比較表面,例如這個字的詞性、它和旁邊的字怎樣搭配;高層處理的東西比較抽象,例如整句話的意圖、語氣、隱含的前提。

沒有任何一層「明白」整句話。是整疊註解加起來之後,模型才有足夠資訊去做最後那件事。

第二步:每位老師都在做同一件事——決定看哪裡

這排老師的工作方式有一個關鍵特點:每一位在下筆之前,都會先決定「這句話裡面,哪幾個字對我現在要處理的這個字最重要」。

以「小明借了小華的筆記,他很感激」為例。處理「他」這個字的時候,老師要決定「他」指的是小明還是小華。做法是回頭看整句,把注意力放在「借了」和「感激」這兩個線索上,於是判斷「他」是小明。

這個動作就是 self-attention,中文一般叫自注意力。它的細節留給 第 5 課 處理,那裡會用「學生在題目下面畫底線」的比喻講清楚。這一課你只需要記住一件事:每一層都在為每一個字重新決定「應該看整句的哪些部分」。

Transformer 在 2017 年出現之前,主流做法是把句子由左到右逐個字讀,像傳紙條一樣,前面的訊息要一路傳下去才到得了句末。這樣既慢,又容易在長句中途把訊息漏掉。Transformer 的突破是改成「全班同時望著白板」——整句話一次過攤開在所有位置面前,任何位置都可以直接看任何其他位置。

第三步:猜下一個字

傳到最後一層,模型手上有一大堆關於這句話的資訊。它用這些資訊做的唯一一件事,是為字彙表裡每一個可能的下一個字打分。

假設輸入是「今日天氣好」,模型可能算出:「熱」0.31、「凍」0.18、「」0.12、「」0.09……然後從這個分佈中抽一個出來。抽到的字接到句尾,變成「今日天氣好熱」,然後整句重新送進去,再猜下一個字。

這解釋了幾件教師每日都會遇到的事:

  • 為甚麼答案每次不同。 因為那是抽籤,不是揀最高分。
  • 為甚麼它有時會愈寫愈離題。 因為每一步只在乎「下一個字接得順不順」,寫長文時很容易慢慢飄走。
  • 為甚麼它會用非常肯定的語氣講錯嘢。 因為「我唔確定」這五個字,在訓練資料裡遠遠不及一個肯定句常見,所以它的機率天然偏低。這一點在 第 9 課 會詳細處理。

一個課室裡的例子

一位小五中文科老師要為「香港的公共交通」單元寫一份閱讀理解工作紙。她給 AI 的第一個提示只有一句:「幫我寫一份小五中文閱讀理解工作紙。」

結果文章寫得不錯,但題目偏深、有兩題要求學生寫二百字,對小五來說明顯不合適。

她第二次改成:「為小五學生寫一篇 350 字的說明文,題目是香港的公共交通。之後出五條閱讀理解題:兩條找答案、兩條理解、一條開放式。全部用繁體中文,香港用語。不要提供答案。」結果立刻可用。

用剛才的機制來看,分別在哪裡?第一次的提示,模型在每一步猜下一個字時,能參考的線索只有「小五、中文、閱讀理解、工作紙」;第二次,每一步都有字數、文體、題型分佈與語言規範可以參考。提示裡每一個具體條件,都是在收窄它每一步抽籤的範圍。 這就是提示工程之所以有效的底層原因,提示工程那一課 會把技巧講齊。

先自己試一次

想親眼看見「逐字生成」這回事,把下面貼進任何 AI 工具:

請用一句話續寫:「今日小息的時候,操場上」
然後另起一行,列出你在寫第一個字的時候,曾經考慮過的另外四個可能的開頭字,並說明為甚麼最後沒有選它們。

模型的自述不能當作它內部運作的精確紀錄,但你會很清楚看到:它處理的單位是「下一個」,而不是「整段」。

這對你的課堂意味甚麼

  1. 把重要條件放在提示裡,而不是期望它推斷。 年級、字數、體裁、語言規範、禁止事項——每一項寫出來,都會實質改變輸出。模型沒有「常識地知道」小五學生寫不到二百字。
  2. 不要期望完全一致的輸出。 同一份作文交給 AI 評兩次,分數可能不同。所以評卷可以用來產生回饋初稿,但分數要由教師定。這也是我們在平台內堅持教師覆核的技術理由。
  3. 長篇輸出要分段要求。 因為模型是一路往下接的,一次過叫它寫一份完整教案容易前後脫節。分成「先寫學習目標、我確認後再寫活動流程」,質素會明顯提升。
  4. 架構是共通的,所以技巧可以帶着走。 無論學校用 OpenAI、Claude 還是校內的開源模型,底層都是 Transformer。你今日學到的提示技巧不會因為換供應商而報廢。

下一步

這一課我們說「一句話進入模型」,但其實模型看不到「字」,它看到的是被切開的碎片。這些碎片怎樣切、為甚麼中文切出來的碎片特別多,是下一課的主題。

繼續閱讀:Tokenization:為甚麼同一句話中文比英文貴。上一課:為甚麼教師需要理解 LLM

本課重點

  • 能夠用「工作紙傳閱」的比喻,向非技術同事解釋 Transformer 一層一層在做甚麼。
  • 能夠說出模型是逐個字往下接,而不是先想好整段答案才寫出來。
  • 能夠解釋為甚麼同一條問題問兩次,答案會有分別。
  • 能夠指出「一次過看整句」這個特性,怎樣影響你寫提示時的字詞次序安排。

常見問題

不是。Transformer 是一種神經網絡架構,好比「車的底盤設計」;ChatGPT 是一款用這種架構造出來、再經過訓練與包裝的產品。現時主流模型幾乎全部建基於 Transformer 或它的變體,所以理解它等於一次過理解大部分模型。

因為模型每一步都是在一堆候選字之中按機率抽一個,而不是永遠揀最高分那個。這種設計令文字讀起來自然,但代價是不完全可重複。所以任何需要一致性的場合,例如評分,都要靠教師覆核或固定模板來補。

不能這樣直接比較。層數、每層的闊度、訓練資料質素與訓練方法會互相影響,單看層數就像單看一間學校有幾多層樓來判斷教學質素。第四課會講參數量同樣不能當作採購指標。

資料來源、信任標籤與免責聲明
  • · 本文所有價格、功能與規格以上列官方文檔為準;供應商可隨時調整,請於採購前自行覆核。
  • · 文中提及的產品名稱與商標均屬其各自擁有者所有。Edor.ai 與該等公司並無合作、代理或贊助關係。
  • · 本文為教育用途的獨立整理與評測,不構成任何採購建議或法律意見。
  • · 涉及學生個人資料的應用,請按學校政策及《個人資料(私隱)條例》(PDPO)自行評估後才使用。
訂閱教育 AI 通訊

每月一封:給香港學校的 AI 教學實戰文章、平台更新與撥款資訊。隨時可取消。

我們只會用此電郵寄送通訊,不會分享給第三方。