Explorables

大規模言語モデルは内部機構を説明できるのか?

By Nada Hussein, Asma Ghandeharioun, Ryan Mullins, Emily Reif, Jimbo Wilson, Nithum Thain and Lucas Dixon
July 2024

Can Large Language Models Explain Their Internal Mechanisms?

大規模言語モデル(LLM)の「頭の中」は、相互に接続された人工ニューロンの層で構成されています。これらの層は数値ベクトル、いわゆる hidden representations(隠れ表現)を介して情報をやり取りします。こうしたAIシステムの内部から人間が理解できる意味を引き出すことは、近年めざましい発展を遂げている 機械学習の解釈性 研究の中心的なテーマです

このエクスプローラブルでは、その進展のひとつである Patchscopes と呼ばれる新しい解釈手法のファミリーを紹介します。LLMのニューロンを「外科手術」するように、異なるプロンプトや層のあいだで隠れ表現を切り出して入れ替えるのがアイデアです。鍵となる概念は inspection prompt(検査用プロンプト)で、LLM の心の中をのぞき込むレンズとして働き、モデル自身が人間にとって解釈しやすい意味を明らかにする助けとなります。

Patchscopes は LLM とトランスフォーマーアーキテクチャに対する理解を土台にしています。このエクスプローラブル全体で用いるトランスフォーマーの概念図をより深く学びたい場合は、付録Aをご覧ください。

Patchscopesで「表現に語らせる」 {#letting-representations-talk-with-patchscopes}

Patchscopes フレームワークは非常にシンプルな前提を活用します。すなわち、LLM はその一見不可解な隠れ表現を、もともと自力で人間が理解できるテキストへと翻訳できるという点です。推論の最中に異なる位置の隠れ表現をペッチング(差し替え)することで、その表現に含まれる情報を調べたり、LLM の挙動を理解したり、さらには性能向上のために振る舞いを補強したりできます。以下では、ステップごとの具体例を通してこの仕組みを見ていきましょう。

Patchscopes は驚くほど汎用的なツールです。バルセロナが属する国といった事実情報の抽出、悪意のある人物からのものだと 認識される プロンプトへの応答を拒否するようなモデル拒否のメカニズムの理解、誤った出力のデバッグ、さらには表出していなくてもモデル内に潜在する有害情報の発見など、さまざまな用途に活用できます。

以下では Patchscopes を活用した3つのケーススタディを紹介します。(1) モデルが初期層でどのように実体を特定しているかを探る、(2) モデルの隠れ表現が広く知られた概念をどれだけ正確に捉えているかを評価する、(3) 複雑な質問に対するモデルの処理を補強する という内容です。これらの事例は、ソースの位置に対して適切なターゲット位置をどう選ぶか、モデルを観測できるプロンプトをどう設計するかといった、人間の判断が必要となる Patchscopes の側面に触れています。ただし探究すべき 他の観点や設計上の検討事項 も多数残されています。(Patchscopes の形式的な定義については 付録B を参照してください。)

Patchscopes の開発は現在も進行中です。ぜひ GitHub で皆さんの発見やコメント、フィードバックをお寄せください。

ケーススタディ:モデルの「思考」過程を言語化する {#case-study-verbalizing-the-model-s-thought-process}

質問に答える、文書を要約する、言語を翻訳する――LLM がこうしたタスクをこなせるかどうかは、プロンプト内のトークンを正しく文脈化できるかにかかっています。たとえば「ダイアナ妃はいつ生まれましたか?」という質問に答えるには、モデルが「ダイアナ」を一般的な名前やローマ神話の狩猟の女神ではなく、「プリンセス・ダイアナ」を指すと理解する必要があります。モデルはどの時点でその関連づけを行うのでしょうか。そもそも行えているのでしょうか。

このケーススタディでは、Patchscopes を使ってモデルが層をまたいでトークンをどのように処理し、対象が何を指すのかを解決するために隠れ表現を更新しているのかを明らかにします。ここでは人名・地名・映画タイトルなどの 固有表現 に対応する隠れ表現の理解に焦点を当てます。

エンティティの解決とプロンプトからの文脈構築 {#entity-resolution-establishing-context-from-a-prompt}

まずは、モデルがソースプロンプトから Diana というエンティティをどのように解決するのかを確かめます。これは、モデルが事実情報をどのように保存し参照しているのかを理解するための第一歩であり、古い情報の修正といった他のタスクにもつながります。プリンセス・ダイアナの例をベースに、彼女の名前と称号を用いたシンプルなソースプロンプトを用意しました。

エンティティの解決状況は、モデルにそのエンティティの説明文を生成させ、既知の事実記述と比較することで測定できます。この生成は、エンティティ名とその説明を並べた few-shot の検査用プロンプトでトリガーします。最後にはプレースホルダーの x を置き、ここがパッチの挿入先になります。

ソースプロンプトを40層のモデルに入力し、各層で Wales トークンの隠れ表現を取得します。続いて、その隠れ表現を検査用プロンプトの最初の層にある x と差し替えてパッチを当てます。最後に、このパッチ済みプロンプトをもとにLLMがデコードを継続し、Wales トークンの隠れ表現に対応するエンティティ記述を生成します。

下の表では、最初の10層から得た生成文を示し、それぞれが元のソースプロンプトに対する Wikipedia の記述とどれだけ似ているかを、LLM を用いた自動評価器で0〜10のスコアとして算出しています。

40層すべてを眺めると、各層の自動評価スコアに一定の傾向が現れます。多くの場合、エンティティの解決はモデルの初期層(L < 20)で起こるのです。初期層で解決が進むというこの一般的なパターンは、層ごとの役割に関する理論とも一致しており、初期層はプロンプトから文脈を確立する役割を担っている と考えられます。

トークナイズは層ごとの処理を変化させる {#tokenization-can-change-how-each-layer-processes-information}

トークナイズの方法はモデルのファミリーによって異なり、Embedding 空間の辿り方に大きな影響を与えます。次の可視化では、ソースプロンプト「Dubai」をトークン化した例に焦点を合わせます。

先ほどと同じ few-shot のエンティティ記述用プロンプトを使うと、層ごとにトークンを処理する順序が生成テキストにどのように影響するかがわかります。モデルが文脈に取り込むトークンが増えるにつれて、生成結果が変化していく様子を見ることができます。

テレビ番組から国まで:固有表現クラスを横断して探る {#from-tv-shows-to-countries-exploring-classes-of-named-entities}

以下の可視化では、より多くの固有表現の例を自由に探索できます。このデータセットはモデルの挙動を網羅的に記述するものではありませんが、テレビ番組・人物・国といったクラスによって、さらにはトークン数によっても、モデルが対象のエンティティを解決する位置が異なることが分かります。注意深い観察者なら、モデルが情報を処理するパターンにも気づくでしょう。モデルは トークンを逆順に逐次処理 しながら文脈を構築し、各トークンを徐々に隠れ表現へ取り込んでいるのです。これらのパターンを大規模に理解するには、さらなる研究が必要です

今回のケーススタディをまとめると、Patchscopes はモデルの情報検索プロセスを抽出・検証・特徴づける実験を柔軟に設計できる 高い柔軟性 を備えていることが分かりました。また、こうした処理が行われているとされる初期層において、表現力豊かな生成 が見られる点も確認できました。

ケーススタディ:潜在的な属性を抽出する {#case-study-extracting-latent-attributes}

Patchscopes をさらに一歩進めて、モデルが各層で対象と属性をどのように結びつけているのかも調べてみましょう。

隠れ表現を裏付けるための属性抽出 {#feature-extraction-to-corroborate-hidden-representations}

対象として Spain を考えてみましょう。LLM はスペインに関する文脈を集め、最大都市や公用通貨といった属性を正しく特定できるでしょうか。より一般的には、ある対象の隠れ表現が与えられたときに、その対象の特定の属性を LLM が抽出できるかを調べられます。

Patchscopes を使えば、属性を取り出すための検査用プロンプトを設計できます。このプロンプトは属性の説明文とプレースホルダーの x から構成され、ここに元の対象の隠れ表現をパッチします。たとえば、ある国の「最大の都市」という特徴を知りたい場合、期待した属性をテキストで生成させる検査用プロンプトは次のようになります。

属性を取り出すには、まずソースプロンプトの最後のトークンから隠れ表現を取得し、上記の検査用プロンプトにある x にパッチします。そのうえで、ターゲットモデルの出力に正しい答え――この例では Madrid――が現れるかを確認します。下の可視化では、さまざまなソース層にわたってこの例を探索できます。

Patchscopes とプロービングを比較する {#comparing-patchscopes-to-probing}

この課題に最も近いアプローチは プロービング と呼ばれる手法です。これは、(ロジスティック回帰などの)分類器を一部のデータで学習させ、隠れ表現から属性を予測できるようにするものです。ただし、この方法にはいくつかの欠点があります。まず、ラベルの部分集合をあらかじめ決める必要があり、出力の表現力を制限してしまいます。また、分類器を学習させる専用のデータも必要です。

プロービングとは異なり、Patchscopes にはラベル付きデータも教師あり学習も必要ありません。さらに、原論文では、多くの状況で Patchscopes の方がプロービングより高い精度を示すことも報告しています。下の可視化では、さまざまな推論タスクでペッチングとプロービングの性能を比較できます

これらの例から、いくつか顕著なパターンが見えてきます。8つのタスクのうち7つで、初期層では Patchscopes の方がプロービングよりも高性能 でした。一方で、8タスクのうち4タスクでは、後段の層でプロービングが Patchscopes を上回るケースも見られます

重要なのは、これらの結果から Patchscopes がプロービング分類器の有力な代替手段になり得る と示唆されたことです。そのうえで、2つの特長があります。第一に、属性抽出用の検査プロンプトを柔軟かつ簡単に構成できるため、Wikipedia の RDF ダンプのような信頼できる構造化データから直接生成し、性能を比較しやすい点です。第二に、追加の学習データや事前に決めたラベル集合を必要としない点です。

応用:推論エラーを修正する {#application-correcting-reasoning-errors}

これまでのケーススタディでは、Patchscopes がモデルを _観察_ するための柔軟で表現力豊かなツールであることを示しました。では、同じ枠組みを使ってモデルの振る舞いそのものを _変更_ し、性能を向上させることはできるでしょうか。

ここではマルチホップ推論を考えます。これは、離れた情報同士を論理的につなぐことで答えが得られる問題設定です。たとえば「寿司が生まれた国で最大の都市は?」という問いに答えるには、寿司の発祥の国が日本であると正しく認識したうえで、日本の最大都市である東京を導き出さねばなりません。

こうした問題で性能を落とす一因として、モデルが推論ステップを適切な順序で実行できていない可能性が考えられます。Chain-of-thought(CoT)形式のプロンプトは、推論過程を生成中にステップごとに明示することでマルチホップ推論の性能を高めますが、さらなる改善の余地があります。Patchscopes を使えば、推論ステップの順序を制御し、最終的な出力を修正する別の手段を提供できるかもしれません

逆向きのペッチング {#patching-backwards}

この可能性を探るために、2つの節で構成されるマルチホップ推論クエリの小さなデータセットを作成しました。属性抽出のケーススタディで扱った例を用い、最初の節で回答のスコープを定義し、次の節で必要な文脈を設定しています。モデルは各節を個別には正しく答えられるものの、複合的なマルチホップクエリには失敗します。クエリ構造に関する知識を少し持っていれば、同じプロンプト内の前方トークンにパッチを当てる「逆向き」の Patchscopeを設計し、介入して回答を修正できます。以下の例でその様子を示します。

上記の Patchscope を規定するクエリ構造を一般化すると、マルチホップ推論クエリ全体に共通するパターンが見えてきます。

ペッチング後の出力精度を調べる {#explore-the-accuracy-of-patched-generations}

以下の可視化では、これらの例を個別に確認できます。中央の精度グリッドを使って、さまざまなソース層とターゲット層の組み合わせにおける パッチ後の生成結果 を探索し、モデルの ベースライン出力 と比較してください。前述の通り、マルチホップクエリの 最後のトークン から隠れ表現を抽出しており、精度グリッドの下には対応する エンティティの説明 を表示して、役立つソース層を見つけやすくしています。

ここで示した知見は決定的な結論ではありませんが、モデルが「正しい」出力をしているかどうかにかかわらず、挙動を理解する手段として Patchscopes が有用であることを示しています。

議論と今後の問い {#discussion-and-open-questions}

ここまでの探索では、Patchscopes を導入し、隠れ表現を理解するための手法として、さらにはモデルの挙動を理解評価し、場合によっては補強する柔軟で表現力豊かなツールであることを示しました。語彙投影、プロービング分類器、計算的介入など従来の研究を発展させ、共通の理論的枠組みに統合するものでもあります。Patchscopes の中核的なアイデアが、解釈性研究においてすでに幅広く採用されつつあることに私たちは大いに勇気づけられています。

本記事で扱ったケーススタディは、入力処理から属性抽出、事実推論の修正に至るまでさまざまなシナリオを取り上げました。しかし LLM は、数理推論、分類、コード補完など非常に多くのタスクに利用されています。それぞれのタスクには分析すべきプロンプトが多数存在し、各タスクでモデルの推論過程を人手で検証できるようなソースプロンプトや検査プロンプトをどう設計すべきか、まだ大きな研究課題が残っています。汎用的なヒューリスティクスや設計指針は確立できていませんが、タスク固有の検査プロンプトを作る際の中間的な観察手段として、多くのタスクに広く適用できる検査プロンプトの型があると考えています。本記事で紹介した few-shot のエンティティ記述ゼロショットの属性抽出 のプロンプトはその一例です。

私たちの大きな目標は、Patchscopes を可能な限り幅広いモデリングタスクに効果的に適用できるガイドラインとツール群を整備することです。そのために、タスクの適用範囲を広げる、タスク特化/タスク非依存のパッチ構成を自動化する、恒等写像以外の隠れ表現変換を探る、といった複数の研究方向を模索しています。

パッチ構成(層・プロンプト・トークン位置の選択)の有効性は、推論中に情報がどのように伝播するかに依存します。本稿で紹介した実験では、簡単なヒューリスティクスで効果的な Patchscope を構成できました。ソースモデルとターゲットモデルが同じ場合、同じ層を選ぶのが良い出発点です。検証を可能にするなど、より表現豊かで自由度の高い生成を目指す場合は、エンティティ解決で行ったように、ターゲット層をソース層より早い位置に取ることがあります。一般に、マルチホップ推論で示したように、ターゲット層を後段にすると有効性が下がる傾向があります。これは、モデルがすでに理解段階からデコード段階へ移行しているためでしょう。トークン位置については、ターゲットの位置を遅めに選ぶとプレースホルダーが汚染されにくく、他の選択肢より機能しやすいという経験則があります。より複雑な質問を投げかけたり、複合的な検査プロンプトを用いる場合には、モデルの情報フローに関する事前知識が必要になったり、最適な構成を見つけるまで多くの設定を試す必要が出てくるかもしれません。効果的な Patchscope の構成を自動で導き出せるようになれば、この枠組みはさらに強力になります。現在まさにこの研究方向に取り組んでいます。

最後に、完全な Patchscope 構成では、抽出と注入のステップのあいだで隠れ表現に変換を施すことも可能です。本エクスプローラブルの例では恒等写像のみを使っていますが、論文では同じ系統に属するより大きく表現力の高いモデルを用い、アフィン変換を通じて小さなモデルを説明できることが示されています。

隠れ表現の次元が異なる場合や、別ファミリーのモデル、あるいは異なるモダリティのデータで学習されたモデルではどうなるでしょうか。より複雑な変換を使えば、クロスモデル Patchscopes の可能性をどこまで広げられるでしょうか。これらの問いに答えるにはさらなる研究が必要であり、私たちも引き続き探究を続けています。

Patchscopes について詳しく知りたい方は、ぜひ論文GitHub での議論をご覧ください。

クレジット {#credits}

Avi Caciularu、Carter Blum、Mor Geva、Mahima Pushkarna、Ian Tenney、Fernanda Viegas、Martin Wattenberg、David Weinberger、James Wexler に本稿への協力を感謝します。

付録A:トランスフォーマーの簡単なおさらい {#appendix-a-a-brief-review-of-transformers}

LLM はトランスフォーマーモデルの一種で、質問への回答、記事の要約、テキスト翻訳、コード生成など、タスクを記述したテキスト列(プロンプト)を入力として受け取ります。LLM の役割は、プロンプトに記されたタスクに最も適したテキストを生成することです。例として「United Kingdom」というプロンプトを考えてみましょう。

この入力テキストはトークン化され、単語や短い文字列からなるモデル固有の語彙へと分割されます

それぞれのトークンは高次元の数値ベクトルへと 埋め込み られ、計算がしやすくなります。この操作は台形で表現しています。埋め込まれたベクトルがモデルにおける最初の 隠れ表現 です。

埋め込みの後、LLM はトランスフォーマーブロックの層として構成されています。各層は直前の層の出力をもとに隠れ表現を更新します。ここでは層を i\ell^i とラベル付けした円で表し、ii は層の番号を示します。最初のトランスフォーマー層が生成した隠れ表現は 0\ell^0 と表示します。

この処理は最後の層まで続き、プロンプトで記述されたタスクの文脈を徐々に隠れ表現へ取り込んでいきます。

次に、プロンプトの残りのトークンがネットワークに入力されます。トークンは順序付きの列として格納され、あるトークンに対して層が生成する隠れ表現は、そのトークンの一つ前の層における隠れ表現と、列中のすべての先行トークンの隠れ表現の影響を受けます。このように過去方向のみを参照するネットワークは デコーダ専用 モデルと呼ばれ、本稿で扱っているのもこのタイプです。

最後のプロンプトトークンの処理が終わると、最終層の隠れ表現をもとに学習時の分布から出力トークンがサンプリングされます。このとき得られた出力トークン is は、そのまま次の入力としてネットワークに戻されます。

生成したトークンを次々と入力に戻していくことで、モデルは語句、文、さらには長い文章までも生成できます。

トランスフォーマーやアテンション機構をより視覚的に学びたい場合は、3Blue1Brown の関連 YouTube 動画も参考になります。

付録B:Patchscopes の形式的な記述 {#appendix-b-formal-description-of-patchscopes}

LLM の推論過程から得られた隠れ表現に対して、Patchscope は別の推論過程(同じ LLM でも別の LLM でも構いません)にその表現を パッチ することで、特定の情報を解読します。

形式的には、nn 個のトークンからなる入力列 S=s1,...,snS = \langle s_1, ..., s_{n} \rangleLL 層のモデル MM を考えます。MMSS に適用したとき、層 [1,,L]\ell \in [1, \ldots, L] の位置 i[1,,n]i \in [1, \ldots, n] で得られる隠れ表現を hi\bm{h}_{i}^{\ell} と表します。hi\bm{h}_{i}^{\ell} を観察するために、mm 個のトークンからなるターゲット列 T=t1,,tmT = \langle t_1, \ldots, t_{m} \rangle 上で、LL^* 層をもつモデル MM^* の別の推論過程を考えます。具体的には、MM^*TT に適用したときの層 [1,,L]\ell^* \in [1, \ldots, L^*]、位置 i[1,,m]{i^*} \in [1, \ldots, m] における隠れ表現 hˉi\bar{\bm{h}}_{i^*}^{\ell^*} を選びます。さらに、MM の隠れ表現に作用する写像 f(h;θ):RdRdf({\bm{h}}; \bm{\theta}): \mathbb{R}^{d} \mapsto \mathbb{R}^{d^*} を導入します。ここで dddd^*MMMM^* の隠れ表現の次元を表し、θ\bm{\theta} はパラメータです。この写像は恒等写像でも、タスク固有の表現ペアから学習した線形写像やアフィン写像でも、他のデータ源を組み込んだより複雑な関数でも構いません

パッチング とは、MM^*TT を推論している最中に hˉi\bar{\bm{h}}_{i^*}^{\ell^*}f(hi)f(\bm{h}_{i}^{\ell}) で動的に置き換える操作を指します。 すなわち hˉif(hi){\bar{\bm{h}}}_{i^*}^{\ell^*} \leftarrow f(\bm{h}_{i}^{\ell}) を適用することで生成過程に介入し、層 \ell^* 以降の計算を変更します。

全体として、(S,i,M,)(S,i,M,\ell) で指定される隠れ表現に対する Patchscope の介入は、検査用プロンプト TT、その中のターゲット位置 ii^*、写像 ff、ターゲットモデル MM^*、そのターゲット層 \ell^* という五つ組 (T,i,f,M,)(T,i^*,f, M^*,\ell^*) で定義されます。MMMM^* が同じモデルであっても、SSTT が同じプロンプトであっても、ff が恒等写像 I\mathbb{I}(すなわち I(h)=h\mathbb{I}(\bm{h}) = \bm{h})であっても構いません。

脚注 {#footnotes}

同等の貢献。

同等の貢献。

たとえば AnthropicOpenAI は、活性化ベクトルを分解し、モデルの振る舞い制御に活用する方法を探る研究を最近発表しました。Google の Responsible Generative AI Toolkit でも、LLM に与えるプロンプトの誤りを特定するための解釈性ベースのプロンプトデバッガーが提供されています。

各生成結果を採点する際には、PaLM 2 Text Unicorn モデルに対して次のプロンプトを使用しました。 How semantically similar are the following texts: <text_A> {description} </text_A> <text_B> {generation} </text_B> Both these texts try to explain the following entity: <entity> {entity} </entity> Provide an integer rating between 1 and 10.(1〜10の整数で評価してください。) 1 refers to ‘not similar at all’, and 10 refers to ‘extremely similar’: <label>

完全なデータセットは GitHub で公開しています。研究評価を容易にするため人工的に構成した例もありますが、隠れ表現の流れを変えることでモデルがより正確な結論を生成できるという原理を示しています。

モデルが説明対象のエンティティについて誤った情報を出力する場合もある点に注意してください。

ペッチングの精度をより堅牢に見積もるため、各例について5種類のソースプロンプトで平均を取りました。どのターゲット層でも最初の20個の出力に正しい答えが含まれていれば、そのペッチングは正解とみなしました。

前のケーススタディで見たとおり、モデルが次トークン予測へ移行する前の初期〜中盤の層では、入力に関する情報へアクセスしやすくなっています。そのため、単純な Patchscope では後段のソース層で性能が低下し得ます。議論と今後の問いでは、Patchscope の構成を調整して後段層での属性抽出精度を高める方策を紹介します。

この節の主目的は、CoT に対抗する新たなマルチホップ問題解法を提案することではなく、CoT を共通の参照点として比較しながら概念実証を行うことにあります。

逆向き Patchscope は、あるトークンから隠れ表現を取り出し、同じプロンプト内の先行トークンへ注入します。そのため、この手法が使えるのは ソースプロンプトと検査プロンプトが一致している場合のみ です。パッチの方向性が具体的にどのような意味を持つかは未解明ですが、モデル内部の情報フローを理解したり、推論の 回路 を見つけるのに役立つと考えています。

エンティティ記述を生成する際には、ケーススタディで用いたものと同じ検査用プロンプトを使用しました。 Syria: Country in the Middle East, Leonardo DiCaprio: American actor, Samsung: South Korean multinational major appliance and consumer electronics corporation, x 各マルチホップクエリについて、選択したソース層の最後のトークン位置で隠れ表現を抽出し、検査用プロンプトの最終ターゲット層にある ‘x’ トークンと差し替えます。これにより隠れ表現に対応するエンティティ記述が生成されます。ここでは、マルチホップクエリに答えられるかどうかを判断するチェックポイントとして、正しい原産国を示す記述が出力されるかに注目しています。

初期層に残っていたプレースホルダートークンの表現が後続のトークン生成を妨げることがあります。この現象を プレースホルダー汚染 と呼んでいます。直近のトークンより先まで生成したい場合にのみ問題となり、ターゲット位置が後段の層にあるほど発生しやすくなります。

回路 に着目する機械的解釈性の研究は、モデル内の情報フローを理解する一つの方法です。間接目的語の識別事実連想 に関する先行研究は、パッチ構成の精密な位置決め指針を示す具体例と言えるでしょう。逆に、Patchscopes を用いた調査から新しい回路が発見される可能性もあると期待しています。

トークナイズの戦略は複雑で多様です。各モデルは特定のトークナイザを前提に学習されており、異なるモデル間ではトークン化が互換性を持たない場合があります。

本記事で扱ったモデルは、トークンベクトルを隠れ表現の高次元空間へ写像する決定的な埋め込み処理を用いています。Gemma、Llama、Mistral など最近の多くの LLM は、この処理を一つの埋め込み層で行っています。

厳密には、トランスフォーマーモデルはプロンプトのトークンを一つずつ処理しているわけではなく、効率のために並列処理します。ここでは、デコーダ専用モデルでは後続トークンの処理が前のトークンにのみ依存することを強調するため、順番に流れ込むように可視化しています。

簡潔にするため、本記事ではソースモデルとターゲットモデルが同一のケーススタディのみを扱いましたが、両者が異なる場合もあり得ます。その点については 議論と今後の問い で簡単に触れています。

Patchscopes では、ソース位置から取り出した隠れ表現をターゲット位置へ注入する前に任意の変換を施せます。本記事の例では変換として恒等写像(何もしない)を用いていますが、異なるモデル間でパッチングする場合や、より複雑な関数を調べる場合には高度な変換が必要になるかもしれません。

参考文献 {#references}

Understanding intermediate layers using linear classifier probes Alain, G. and Bengio, Y. , 5th International Conference on Learning Representations, Workshop Track Proceedings, 2017.

Probing Classifiers: Promises, Shortcomings, and Advances Belinkov, Y. Computational Linguistics, 48(1):207–219, 2022.

Eliciting Latent Predictions from Transformers with the Tuned Lens Belrose, N., Furman, Z., Smith, L., Halawi, D., Ostrovsky, I., McKinney, L., Biderman, S., and Steinhardt, J., arXiv preprint arXiv:2303.08112, 2023.

Language Models are Few-Shot Learners Brown, T., Mann, B., Ryder, N., Subbiah, M., Kaplan, J., Dhariwal, P., Neelakantan, A., Shyam, P., Sastry, G., Askell, A., Agarwal, S., Herbert-Voss, A., Krueger, G., Henighan, T., Child, R., Ramesh, A., Ziegler, D., Wu, J., Winter, C., Hesse, C., Chen, M., Sigler, E., Litwin, M., Gray, S., Chess, B., Clark, J., Berner, C., McCandlish, S., Radford, A., Sutskever, I., Amodei, D., arXiv preprint arXiv:2005:14165, 2020.

SelfIE: Self-Interpretation of Large Language Model Embeddings. Chen, H., Vondrick, C., & Mao, C.. arXiv preprint arXiv:2403.10949. 2024.

Patchscopes: A Unifying Framework for Inspecting Hidden Representations of Language Models Ghandeharioun, A.^*, Caciularu, A.^*, Pearce, A., Dixon, L., Geva, M. ICML (to appear), 2024.

Who’s asking? User personas and the mechanics of latent misalignment. Ghandeharioun, A., Yuan, A., Guerard, M., Reif, E., Lepori, M.A., and Dixon, L., arXiv preprint arXiv:2406.12094, 2024.

What do tokens know about their characters and how do they know it? Kaushal, A., Mahowald, K. 2022. In Proceedings of the 2022 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, pages 2487–2507, Seattle, United States. Association for Computational Linguistics.

Locating and editing factual associations in GPT Meng, K., Bau, D., Andonian, A., and Belinkov, Y. Advances in Neural Information Processing Systems, 35:17359–17372, 2022.

Introducing Meta Llama 3: The most capable openly available LLM to date. Meta, 2023.

Interpreting GPT: the logit lens. nostalgebraist, LessWrong, 2020.

XSTest: A Test Suite for Identifying Exaggerated Safety Behaviours in Large Language Models. Röttger, P., Kirk, H.R., Vidgen, B., Attanasio, G., Bianchi, F., and Hovy, D., arXiv preprint arXiv:2308.01263, 2023.

Attention in transformers, visually explained Sanderson, G., 3Blue1Brown, 2024.

But what is a GPT? Visual intro to transformers Sanderson, G., 3Blue1Brown, 2024.

BERT Rediscovers the Classical NLP Pipeline Tenney, I., Das, D., Pavlick, E. In Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics, pp. 4593-4601. 2019.

Attention is all you need Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., … & Polosukhin, I. Advances in neural information processing systems, 30. 2017.

The Bottom-up Evolution of Representations in the Transformer: A Study with Machine Translation and Language Modeling Objectives Voita, E., Sennrich, R., Titov, I. Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), 2019.

Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. Wei, J., Wang, X., Schuurmans, D., Bosma, M., Xia, F., Chi, E., Le, Q.V. and Zhou, D.. Advances in Neural Information Processing Systems 35, 2022.

Judging llm-as-a-judge with mt-bench and chatbot arena. Zheng, L., Chiang, W.L., Sheng, Y., Zhuang, S., Wu, Z., Zhuang, Y., Lin, Z., Li, Z., Li, D., Xing, E. and Zhang, H. Advances in Neural Information Processing Systems 36, 2024.