[論文レビュー] Function Vectors in Large Language Models
本稿では、自己回帰的トランスフォーマーにおける入力-出力関数を符号化するコンパクトでタスク固有の表現である関数ベクトル(FV)を導入する。FVは多様な文脈間で転送可能であり、因果メディエーション分析を用いて、FVを輸送するアテンションヘッドを同定した。FVはゼロショットおよび自然言語設定でも、タスク実行を強力にトリガーする。さらに、FVは単語レベルの意味論を超えた複雑な関数合成のための構成的ベクトル代数をサポートしていることが示された。
We report the presence of a simple neural mechanism that represents an input-output function as a vector within autoregressive transformer language models (LMs). Using causal mediation analysis on a diverse range of in-context-learning (ICL) tasks, we find that a small number attention heads transport a compact representation of the demonstrated task, which we call a function vector (FV). FVs are robust to changes in context, i.e., they trigger execution of the task on inputs such as zero-shot and natural text settings that do not resemble the ICL contexts from which they are collected. We test FVs across a range of tasks, models, and layers and find strong causal effects across settings in middle layers. We investigate the internal structure of FVs and find while that they often contain information that encodes the output space of the function, this information alone is not sufficient to reconstruct an FV. Finally, we test semantic vector composition in FVs, and find that to some extent they can be summed to create vectors that trigger new complex tasks. Our findings show that compact, causal internal vector representations of function abstractions can be explicitly extracted from LLMs. Our code and data are available at https://functions.baulab.info.
研究の動機と目的
- 大規模言語モデル(LLM)に、入力-出力関数の内部で再利用可能な表現が内在しているかどうかを調査すること。
- それらの表現、すなわち関数ベクトル(FV)が、抽出可能で、ゼロショットおよび自然言語設定を含むさまざまな入力文脈間で転送可能かどうかを特定すること。
- FVが出力語彙を越えて、より多くの構造的または意味的コンテンツを符号化しているかどうか、および、新しい関数の作成に構成的ベクトル演算が可能かどうかを検討すること。
- FVの堅牢性と一般化性能が、モデルアーキテクチャ、層、タスクタイプの違いに関わらずどのように保たれるかを評価すること。
提案手法
- 因果メディエーション分析を用いて、文脈内学習(ICL)中の情報フローを媒介するアテンションヘッドを同定し、特定のヘッドがタスク実行に与える寄与度を分離する。
- 識別されたアテンションヘッドの活性化を合算することで関数ベクトルを構築し、提示されたタスクのコンパクトな表現を形成する。
- 活性化パッチ処理を適用し、FVを特定の層で新しい文脈に挿入し、ゼロショットタスクパフォーマンスへの影響を測定する。
- デコード解析を実施し、FVが関数の出力空間をどれだけ符号化しているかを、モデルの次トークン予測における上位k個のトークン確率を用いて評価する。
- ベクトル合成実験では、より単純なタスクのFVを足し合わせることで、結合された複雑なタスクを実行できる新たなFVが得られるかどうかを検証する。
- 複数のモデル(GPT-J、Llama 2など)を対象とし、6B~70Bパラメータの範囲で変動する複数のICLタスク(例:翻訳、対義語生成、センチメント)に対して実験を実施した。
実験結果
リサーチクエスチョン
- RQ1大規模言語モデルに、異なる文脈間で転送可能なコンパクトで再利用可能な入力-出力関数の内部表現が内在しているか?
- RQ2関数ベクトル(FV)は、元のICLデモンストレーションと構造的類似性のない文脈でも、ゼロショットおよび自然言語設定でタスク実行をトリガーできるか?
- RQ3FVは関数の出力空間をどの程度符号化しており、その符号化はFVを再構築するのに十分か?
- RQ4FVのベクトル加算によって、直接的にデモンストレーションされていない複合的で複雑なタスクを実行できる新たなFVを構成できるか?
- RQ5FVはモデルサイズや層にかかわらず堅牢であり、中層において一貫してゼロショットパフォーマンスを向上させるか?
主な発見
- 関数ベクトル(FV)はトランスフォーマー・モデルの中層に強く同定され、ゼロショットおよび自然言語設定でもタスク実行をトリガーする。GPT-Jでは、対義語生成タスクで最大24.3%の精度を達成した。
- ある文脈から抽出したFVは、元のICL例と構造的類似性のない文脈に対しても、タスク実行を成功裏に誘発できる。
- FVはしばしば関数の出力語彙を符号化しているが、その情報だけではFVを再構築することは不十分であり、追加の構造的または意味的コンテンツが符号化されていることが示された。
- FVのベクトル合成により、複雑な複合タスクを実行できる新たなFVが作成可能である。例えば、「最初の文字を大文字に」するFVと「対義語を生成」するFVを足し合わせることで、両方の操作を実行できるベクトルが得られた。
- FVのパフォーマンスは、初期層から中層に挿入した際に最も効果的であり、6B~70Bパラメータのモデルサイズの範囲で一貫した傾向を示した(例:Llama 2)。
- Llama 2(13B)では、ベクトル合成されたFVが「最初の文字を大文字に」タスクで87%の精度を達成し、個別のFVを上回り、構成的一般化の有効性を示した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。