OpenAI開源了:Transformer自動debug工具上線GitHub

机器之心發表於2024-03-12
不用敲程式碼,就可以快速探索模型結構。
最近時常被吐槽不夠開源的 OpenAI,突然開放了一次。

今天一早,OpenAI 機器學習研究員 Jan Leike 宣佈,OpenAI 開放了自己內部一直用於分析 Transformer 內部結構的工具。

圖片

GitHub 連結:https://github.com/openai/transformer-debugger

該專案開放才幾個小時,雖然沒有經過太多宣傳,star 數量上漲得也挺快。

圖片

Transformer Debugger 介紹

Transformer Debugger (TDB) 是 OpenAI 對齊團隊(Superalignment)開發的一種工具,旨在支援對小體量語言模型的特定行為進行檢查。據介紹,該工具把自動可解釋性技術與稀疏自動編碼器進行了結合。

具體來說,TDB 能夠在需要編寫程式碼之前進行快速探索,並能夠干預前向傳遞,幫助人們檢視它是如何影響模型特定行為的。TDB 可用於回答諸如「為什麼模型在此提示(prompt)中輸出 token A 而不是 token B?」之類的問題或「為什麼注意力頭 H 會在這個提示下關注 token T?」

它透過識別對行為有貢獻的特定元件(神經元、注意力頭、自動編碼器 latents),顯示自動生成的解釋來分析導致這些元件最強烈啟用的原因,並跟蹤元件之間的連線以幫助人們發現聯絡,以此來幫助人們進行 Transformer 的 debug 工作。

OpenAI 放出了幾段影片概述了 TDB 的能力,並展示瞭如何使用它來進行論文《Interpretability in the Wild: a Circuit for Indirect Object Identification in GPT-2 small》中的工作:OpenAI開源了:Transformer自動debug工具上線GitHubOpenAI開源了:Transformer自動debug工具上線GitHubOpenAI開源了:Transformer自動debug工具上線GitHubOpenAI開源了:Transformer自動debug工具上線GitHub
本次,OpenAI 的開源內容包括:

  • Neuron viewer:一個 React 應用程式,用於託管 TDB 以及包含有關各個模型元件(MLP 神經元、注意力頭和兩者的自動編碼器 latents)資訊的頁面。
  • Activation server:對主題模型進行推理,為 TDB 提供資料的後端伺服器。它還從公共 Azure 儲存桶讀取和提供資料。
  • Models:GPT-2 模型及其自動編碼器的簡單推理庫,帶有捕獲啟用的 hook。
  • 整理好的啟用資料集:包含 MLP 神經元、注意力頭和自動編碼器 latents 的頂級啟用資料集示例。

安裝設定

請按照以下步驟安裝儲存庫。請注意,在此之前你需要 python/pip 以及 node/npm。

雖然不是必要,但 OpenAI 建議使用虛擬環境進行操作:
# If you're already in a venv, deactivate it.
deactivate# Create a new venv.
python -m venv ~/.virtualenvs/transformer-debugger# Activate the new venv.
source ~/.virtualenvs/transformer-debugger/bin/activate

設定好環境後,請按照以下步驟操作:
git clone git@github.com:openai/transformer-debugger.gitcd transformer-debugger
# Install neuron_explainer
pip install -e .
# Set up the pre-commit hooks.
pre-commit install
# Install neuron_viewer.
cd neuron_viewer
npm installcd ..

要執行 TDB 應用程式,你需要按照說明設定啟用伺服器後端和神經元檢視器前端。

要驗證更改,你需要:

  • 執行 pytest;
  • 執行 mypy —config=mypy.ini;
  • 執行啟用伺服器和神經元檢視器,並確認 TDB 和神經元檢視器頁面等基本功能仍然有效。

Jan Leike 表示,TDB 目前仍然是一個早期階段的研究工具,OpenAI 希望透過開源的方式讓更多人受益,並期待社群在其基礎上不斷改進。

參考內容:https://twitter.com/janleike/status/1767347608065106387

相關文章