LLM 注意力視覺化工具展示 Token 如何影響生成內容

快速摘要

LLM Attention Visualizer 讓你可以將滑鼠懸停在任何生成的 token 上,並立即看到對其有貢獻的過去 token 的權重圖,揭示了模型的「複製貼上」行為與多句合成能力。


視覺化工具展示了什麼

  • 注意力聚合:對於每個生成的 token,該工具會計算注意力權重(由 value-vector 量級進行縮放),將其在所有 head 與 layer 進行加總,並將結果映射到每個先前 token 的不透明度值。
  • 不透明度含義:不透明度為 1 表示影響力最強;較低的不透明度則是按比例進行插值。
  • 簡化免責聲明:視覺化工具將高維度的注意力張量(tensor)簡化為每個過去 token 的單一純量(scalar),因此無法捕捉模型內部狀態的完整細微差別。

"Affected" 可能不完全準確,因為此視覺化非常簡化。它正在計算注意力權重,並以 value vector 的量級進行縮放,聚合所有注意力 head,並在所有 layer 之間進行加總。 – author’s note

為什麼這很重要

  • 複製貼上直覺:懸停在逐字字串(例如地址或日期)上時,會高亮顯示原始來源 token,解釋了為什麼 LLM 在其機率性本質下仍能以近乎零誤差地重現文本。
  • 跨句合成:在「Office Move Summary」範例中,token remain 同時吸引了來自 work(在「Existing employee access cards will work」中)和 stay the same(在「company phone numbers will stay the same」中)的注意力,展示了模型如何混合來自不同子句的資訊。
  • 模型大小相關性:即使是 600M 參數的模型(Qwen-3-0.6B)也能忠實地重現一個 JavaScript function,顯示出精確的複製並不需要數十億個參數。

實作細節

  • 前端:一個由 Transformers.js 驅動的 React app 直接在瀏覽器中執行推理(inference)。
  • 自定義生成迴圈:標準的生成 API 並不暴露中間張量(tensor),因此作者寫了一個專用的迴圈來捕捉每一步的注意力分數。
  • 模型工具化:原始的 ONNX 圖(graph)缺乏所需的輸出。作者對 ONNX 檔案進行了修補(patch),以暴露內部張量,然後將工具化後的模型上傳到私人的 Hugging Face repo (ishamf/Qwen3-0.6B-ONNX-Instrumented)。
  • 預生成提示詞:由於模型(數百 MB)需要時間下載,該應用程式附帶了一組預先計算好的生成內容,可立即載入。
  • 原始碼:可在 GitHub 儲存庫 https://github.com/ishamf/llm-visualizer 取得。

社群反應

  • 對學習者的清晰度"這是我見過關於注意力機制如何運作的最清晰範例" (fuddle)。
  • 教學價值"擁有這樣的視覺化工具非常有幫助。我週五要教這個" (MCP123)。
  • 技術好奇心"你是否擔心後層注意力會被前層注意力淹沒,因為前層在加總中貢獻更多?" (wopak)。
  • 對簡化的批評"我非常質疑這種「高 vector magnitude = 高影響力」的簡化想法" (sva_)。
  • 效能問題"這是否意味著你的計算量是隨著 context size 呈 N² 級別增加,因為每個 token 需要追蹤它與其他所有 token 的關係?" (ex-aws-dude)。
  • UX 建議 – 一位使用者注意到動畫運行太快,並建議增加暫停/步進控制以進行詳細檢查 (mncharity)。

限制與開放性問題

  • 純量簡化:將多頭、多層注意力簡化為單一不透明度會丟失方向性與正負號資訊。

  • 層級權重:目前的加總方式將所有 layer 視為同等重要;其他的權重方案可能會顯現出更深層的模式,而這些模式目前被掩蓋了。

  • 量級偏差:透過 value-vector 量級進行縮放,假設了較大的 vector 會意味著更大的影響力,這一點受到了部分評論者的質疑。

  • Scalability:視覺化非常長的 context(例如 >2k tokens)時,視覺化注意力仍需要 O(N²) 計算,且在瀏覽器中可能會變得難以處理。

如何使用它

  1. 打開視覺化工具於 https://ishamf.dev/p/llm-attention-visualizer/
  2. 將滑鼠懸停在生成文本中的任何 token。
  3. 觀察過去 token 的不透明度分級列表;最亮的 token 貢獻了最多。
  4. 在預生成的提示詞之間切換,以探索不同的行為(複製、合成、function 修改等)。

總結

LLM Attention Visualizer 提供了一個即時、互動式的視窗,讓使用者可以觀察注意力機制如何讓大型語言模型能夠複製精確字串並混合來自不同句子的資訊,將抽象的 Transformer 內部運作原理變得對教育者、研究人員與好奇的開發者而言變得更加具體化。

Sources

相關

  • Dispatch
  • Dispatch
  • 專案
  • 專案
  • Dispatch