人工知能モデルの内部動作を研究する開発者向けに、TransformerLens 4.4.0が公開された。音声認識モデルWhisperの重みを解析しやすく整理し、従来の解析がエラーで停止していた状態空間・ハイブリッドモデルでも、各計算が結果にどれだけ寄与したかを分けて調べられるようにした。

1. Whisperをブリッジで解析

2026年11月11日に公開された今回のバージョンには、Whisper接続アダプターと生成機能、重み処理、モデル検証が含まれる。ブリッジは元のモデルを解析ツールにつなぐ経路だ。今回は接続だけでなく、解析前に重みを変換する互換モードもWhisperで利用できるようになった。

互換モードは、値の規模を一定にそろえる正規化計算を重みに組み込み、重みの値を中心化するなどの処理をサポートする。Whisperアダプターが、音声を読み取って内部表現に変えるエンコーダーと、内部表現を文に変えて出力するデコーダーの間の接続構造を明示し、重み処理器が変換対象を見つけられるようにした。

2. 文字起こし結果を維持する重み処理

貢献者の変更説明によると、各段階で最もスコアの高い出力を選ぶ方式で文字起こしした場合、whisper-tinyとwhisper-large-v3-turboの結果は変わらなかった。次の出力候補のスコアであるロジットも、重みの中心化が加える位置ごとの定数差を除けば、Hugging Faceの実装と一致したという。

開発者はWhisperをブリッジで接続した後、enable_compatibility_mode()を呼び出してこの処理を適用できる。モデルの応答を変えるのではなく、同じ応答を生む内部計算を解析しやすい形に変えるためのものだ。

3. SSM・ハイブリッドモデルでの残差分解

残差分解は、モデル内に蓄積された計算値を各ブロックの寄与に分けて見る機能だ。過去の情報を状態値として引き継いで計算する状態空間モデル(SSM)や、異なる計算構造を組み合わせたハイブリッドモデルには、情報間の関係を計算するアテンションの代わりに別の計算を使うブロックや、MLPという多層ニューラルネットワークがないブロックがある。

従来のAPIは、各ブロックにアテンションとMLPの両方があると仮定しており、Qwen3.5やMamba-2などの解析中にエラーが発生していた。今回の修正は実際のブロック構造に合わせ、アテンションの代わりに使う計算の出力も成分に含め、MLPがないブロックではMLP成分を省略する。

_, cache = bridge.run_with_cache(tokens)   # e.g. Qwen/Qwen3.5-0.8B
cache.decompose_resid()                    # KeyError: 'blocks.0.hook_attn_out'
cache.stack_head_results()                 # KeyError: 'blocks.0.attn.hook_z'
cache.get_full_resid_decomposition()       # KeyError: 'blocks.0.attn.hook_z'
cache.logit_attrs(cache.decompose_resid(), tokens=...)  # KeyError

コードは、修正前に解析が失敗していた箇所を示す原文の例だ。修正後はアテンションがあるブロックだけが、アテンションの計算単位ごとに分けたヘッド別の結果を出力し、ほかのブロックの出力は残りの成分にまとめる。これはモデル構造が異なっても、分解した値を足せば元の累積値に戻ることに重点を置いた変更だ。

4. 精度と適用範囲

PR作成者は、実際のQwen/Qwen3.5-0.8BをCPU上で単精度浮動小数点形式のfp32で実行し、合計を確認した。以下の値は、同じ環境で各分解結果の合計が元の累積値にどれほど近かったかを示し、作成者は誤差がそれぞれこの範囲以内だったと報告した。

表:Qwen3.5-0.8Bの残差分解の合計における絶対誤差の範囲

条件:実際のQwen/Qwen3.5-0.8B、fp32、CPU — PR作成者による測定

単位:絶対誤差

精度と適用範囲
項目誤差
decompose_residの49成分と最終残差9.5e-7
ヘッドの結果と残りの合計2.1e-7
全体の分解と残差ストリーム4.3e-6

この数値は生成速度ではなく、分解結果を再び合計した際の整合性を示す。解析可能なモデルの範囲が広がる一方、モデルごとに成分名や分類が異なるため、既存の解析コードが特定のブロック構成を仮定していないかを確認する作業が必要になる。

GraniteMoeHybridの、複数のエキスパートから一部を選ぶ混合エキスパート型ブロックには、特定の計算成分を配置するMLPスロットがなく、残差分解は依然として失敗する。また、MLPを別の位置に保持するこの構造で、個々のニューロン単位へ解析範囲を広げる機能は、未実装エラーになる。

4.4.0の要点は、出力の維持を確認したWhisperの重み解析と、アテンション中心の設計を超えたモデル分解を、1つのリリースで可能にしたことだ。