6 min給工具使用者

Transformer Explainer 教學:用 3 個互動練習看懂 Token 與 Temperature

Transformer Explainer 怎麼用?跟著 3 個 GPT-2 互動練習,觀察 Token 切分、上下文與 Temperature 對候選機率的影響,學會固定條件、記錄結果與避免誤讀。

Aaron Huang系統、產品與 AI 實作

Transformer Explainer 教學:用 3 個互動練習看懂 Token 與 Temperature

深藍白眼果凍角色旁,文字片段造型方塊經白色框架整合後,分向三個候選方塊,其中一個以紫色突出。

概念示意:文字切成 Token 後結合上下文,再形成下一個 Token 的候選分布。這不是實際模型結構或工具截圖;候選機率不等於事實正確率。

Transformer Explainer 是在瀏覽器執行 GPT-2 的互動學習工具。你可以透過三個練習比較文字切分、上下文與溫度設定,觀察下一個文字片段的候選機率,不必先學寫程式。

想知道介面該從哪裡看、調整設定後該記錄什麼,本文提供一套可自行操作的順序。若想先補架構觀念,可另讀站內的〈不用手算 Transformer:Attention、Embedding 到底在做什麼?〉;這篇聚焦操作與觀察,不重講矩陣、RAG 或 KV Cache。

Transformer Explainer 是什麼?先認清示範模型

工具在瀏覽器執行 GPT-2 small,可查看文字輸入到下一個 Token 預測的過程,不必另外安裝開發環境。它適合學架構;畫面呈現的不是你正在使用的 ChatGPT 內部運算,也不能拿它的回答品質代表今日聊天產品。官方專案說明

這項計畫在 2024 年已有公開論文。原始作者包括喬治亞理工學院的 Aeree Cho、Grace C. Kim、Alexander Karpekov、Alec Helbling、Zijie J. Wang、Seongmin Lee、Benjamin Hoover 與 Duen Horng(Polo)Chau;Hoover 同時列有 IBM Research 所屬。它是持續發展的教育專案,不宜當成剛出現的新工具介紹。2024 年原始論文

開始操作前:先對齊輸入、設定與觀察位置

開啟官方工具,先找文字輸入、Generate、Temperature 與 Sampling 設定。依序查看輸入的 Token、模型處理流程與輸出候選,不必一開始就展開所有細節。工具可輸入自訂文字、調整溫度與抽樣方式,並查看注意力權重。官方互動功能說明

這裡只需要先記住三個觀察對象:

  • Token 切分: 一個英文單字未必只有一個 Token,請直接讀畫面,不用字數猜測。GPT-2 使用以位元組為基礎的子詞切分。GPT-2 論文
  • 上下文: 每次比較要保留原始提示。若文字已經接長,新增內容也會影響後續預測,不能把差異全歸因於剛改的設定。
  • 候選機率: 比較的是下一個 Token 的分布,不是整段回答的正確率。注意力圖則呈現序列位置之間的權重,不能與輸出候選的機率混為一談。

在開始前,先抄下目前的溫度與抽樣設定。做完一輪後,回到相同提示再比較下一輪。這個小步驟能避免「改了溫度,也不小心改了前文」的混淆。

Temperature 是什麼?機率高不等於答案正確

模型會替候選 Token 產生分數,再轉成機率分布。Temperature(溫度)調整分布的集中程度:數值較低,原本較有優勢的候選通常更突出;數值較高,候選間的差距較平緩。它影響抽樣,不會替模型新增知識。工具的輸出機率說明

把低溫當成「正確模式」、高溫當成「聰明模式」,都會誤用這個參數。接續機率回答的是「在這段前文後,模型多傾向產生這個片段」,不是「這個說法有多大機率符合事實」。同樣地,改變溫度後只看一次輸出,也很難判斷抽樣的影響。

「Change one thing」三張獨立練習卡:改單字看 Token 邊界,改上下文看候選排序,改 Temperature 看候選分布;每張列出其餘應固定的條件。

建議操作流程,非本文實測:三個練習各自只改一個條件,固定卡片列出的其餘文字與設定,再記錄畫面上的變化。候選機率不等於事實正確率。此處固定其餘抽樣設定,指 Top-k、Top-p 等條件;Temperature 是本輪改動變因。

三個讀者練習:一次只改一個條件

以下是建議你自行操作的學習活動,並非本文實測紀錄。先使用短英文句子,方便對照介面;每輪記下輸入、設定與觀察,不預設模型一定接出哪個字。

練習一:看 Token 如何切分

  1. 輸入 I like coffee,在 Embedding 區域查看文字如何拆成 Token。
  2. 抄下畫面上的切分邊界與 Token 總數,不先猜答案。
  3. 把 coffee 改成較長的 internationalization,再記錄一次。
  4. 比較完整單字是否仍對應單一 Token,以及總數有沒有變化。

觀察重點: 不要用空白數代替 Token 數。若兩次切分與直覺不同,先記錄畫面結果,而非硬套「一個單字就是一個 Token」。

練習二:保留句尾,只改前文

  1. 輸入 For breakfast, I would like,記下溫度與抽樣設定。
  2. 記錄畫面前幾個候選 Token 的排序與機率,不急著連續生成。
  3. 改輸入 For my birthday, I would like,保持剛才的設定。
  4. 對照候選排序與機率,再查看注意力圖中的權重分布有何差異。

觀察重點: 問自己「共同句尾前面的內容,有沒有改變預測?」不要預設某個注意力頭必定負責早餐或生日;如果候選差異不明顯,也是一筆值得保留的觀察。

練習三:固定文字,只改 Temperature

  1. 選定同一句提示,先記錄介面預設溫度與候選機率。
  2. 把溫度往低調,記錄數值與分布,再往高調並記錄。
  3. 每次比較都回到相同提示,避免新增的文字成為干擾。
  4. Top-k 或 Top-p 等其他抽樣設定保持不變,再分別嘗試 Generate。

觀察重點: 先看機率分布是否變得集中或平緩,再嘗試重複生成。記錄候選與實際抽到的 Token,不要因為兩次恰好相同,就認定溫度沒有作用。這個練習是在分辨「分布改變」與「單次結果」的差別。

如何記錄結果,避免把一次輸出當成規則?

建議分三輪閱讀。第一輪只追文字輸入與輸出候選,確認自己知道「現在預測的是哪個位置」。第二輪再看注意力,區分輸入片段彼此的關聯,與輸出端的候選機率。兩者都可能用數值或顏色呈現,但回答的問題不同,不能把某個注意力權重當成下一字出現的機率。

第三輪才展開數學細節。看到 Embedding,可以先理解成文字的數值表示;看到模型區塊,先確認資料往哪裡流動。遇到不懂的矩陣維度,不必停下來補完整門線性代數,先把問題寫下來,再回頭查相應名詞。

也可以做一張簡單的觀察表,每列只記「輸入文字、改動項目、候選排序、疑問」。例如你原先認為生日一定接禮物,卻看到別的候選,就記下差異;這比只挑符合預期的一次輸出,更能避免把自己的直覺誤認為模型規則。學習目標是能描述變化,不是讓示範工具答對指定答案。

如果結果沒有明顯變化,先核對提示是否完全相同、溫度是否確實改動、其他抽樣條件是否固定。確認後仍看不出差異,就把「本輪未觀察到明顯差異」留下來,不必繼續更換句子直到出現期待的結果。

看懂流程之後,怎麼用在日常 AI 工作?

下次調整提示時,可以先問:我有沒有提供足夠的背景?如果想比較不同設定,就固定其他條件;如果要確認事實,則另找來源查核,不以文字流暢度或生成機率代替證據。

第一次使用不必追完所有矩陣。先掌握「文字切成 Token → 整合上下文 → 形成候選機率 → 選出下一個 Token」,再依疑問展開細節。從這條流程開始,比急著背下所有術語,更容易知道自己究竟還沒看懂哪一步。

追蹤 Gwarket

獲取更多實用的 AI 知識、工具推薦與實作分享,在你關注的平台上與我們相遇。