lyramakesmusic/neuron-explorer

Steering-first neuron explorer for Qwen3.5-4B: push every MLP neuron, keep every rollout, browse the results

これは何か

大規模言語モデル(Qwen3.5-4B)の内部「ニューロン」を探索するためのツールです。テキスト生成中に各ニューロンを人為的に強化または抑制したときに何が起こるかを体系的にテストし、すべての実験を保存し、モデルのインタラクティブな 3D ビューで結果を表示します。

仕組み

プロジェクトは 2 つの部分に分かれています:

  1. スイープ — GPU サーバーで実行されるバッチパイプライン。レイヤー内のすべてのニューロンを測定された量だけ上下に押し、テキストを生成し、出力を記録します。
  2. 探索器 — 自分のマシンでモデルを読み込むローカル Web アプリで、すべてのスイープ結果を閲覧し、ライブ実験を実行し、発見したことについて AI アシスタントとチャットできます。

探索器(Web アプリ)

localhost:8791 で実行されます。スイープの出力ファイルを読み取り、モデルをローカル(Apple silicon、NVIDIA GPU、または CPU)で読み込んでライブ操作を行います。5 つのパネルがあります:

  • マップ — モデルのレイヤーの 3D ビュー。各ニューロンは点です。ホバーすると、そのニューロンが何に向かってステアリングするか、どのトークンを予測するかが表示されます。クリックすると詳細が開きます。内部構造が類似したニューロンは互いに近くに配置されます。
  • リスト — ニューロンが特定の単語の周りにどれだけ強くクラスターするかでランク付けされ、ランダムなベースラインと比較されます。トークンを検索したり、自分のテキストを実行してどのニューロンが活性化するかを確認できます。
  • ニューロン — 単一のニューロンについて:異なる用量でのステアリングされたテキスト生成、3 者間チャット(下向きステアリング / 中立 / 上向きステアリング)、他のニューロンとの接続、および名前。
  • 埋め込み — レイヤーの実験の UMAP 投影で、ニューロン、プロンプト、用量、または種類で色分けされます。
  • Claude — claude コマンドラインツール(インストールされログインしている場合)を使用するチャットで、探索器がツールサーバーとして機能します。Claude はニューロンデータを読み取り、ライブモデルを実行(ステアリング、活性化、次のトークン確率、アブレーション)、マップとリストをナビゲートし、ファイルおよびシェルツールを使用できます。自分のマシンでのみ回答します。

スイープ(データパイプライン)

変更された vLLM 推論エンジンを使用して CUDA GPU ポッドで実行されます。主要な手順:

  • セットアップ — 変更された vLLM、依存関係、およびモデルをインストールします。
  • ニューロン統計 — ニューロンごとの統計を計算:活性化の極値、ダウンプロジェクション列、残差ノルム。
  • メインスイープ — 各ニューロンについて、ニューロンを上下に押してテキストを生成します。用量はレイヤーを出る残差ノルムの中央値の分数です:3 つのプロンプト(「who」、「snake」、「orange」)それぞれ 3 つの用量(−0.7、+0.5、+0.8)、+3 の「フリー」条件、およびプロンプトごとに 1 つのステアリングなしベースライン。
  • 深度スイープ — 複数のレイヤーにわたるランダムサブセットスイープ。

サポートスクリプトは、ランキング(特徴的な単語、クラスターマスとコントロールの比較)、「ステアリングレンズ」(各ニューロンが次のトークン確率をどのように変えるか)、レイヤーごとの深度レポート、単語シフトスコア、マージされたシャード、2 つの推論エンジン間の等価性チェック、スループットベンチマーク、および探索器が使用するキャッシュデータ(埋め込み、レイアウト、接続 — 各ニューロンの上下で最も強い 24 のリンク)を生成します。

注記

research_log.md にはプロジェクトの調査結果と推論が保存されています。NOTES.md にはソースノートが保存されています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト