Simple Science

最先端の科学をわかりやすく解説

# コンピューターサイエンス# 計算と言語

大規模言語モデルにおける推論の調査

この記事は、LLMが複雑なマルチホップ質問にどう答えるかを調べてるよ。

― 1 分で読む


言語モデルにおける推論言語モデルにおける推論ての洞察を明らかにした。研究がLLMのマルチホップ質問応答につい
目次

大規模言語モデル(LLM)は、解決するのにいくつかのステップが必要な複雑な問題に取り組むことができる。しかし、これらのモデルが内部で問題をどのように解決するかはあまり知られていない。この記事では、「Imagine」のパフォーマーの配偶者は誰かというようなマルチホップの質問に対するLLMの反応を詳しく見ていく。こういう質問に答えるには、情報を2ステップで抽出する必要がある。まず、モデルは「Imagine」のパフォーマーがジョン・レノンであることを特定しなければならない。そして、次にジョン・レノンの配偶者が誰か、つまりヨーコ・オノを見つける必要がある。

LLMがこれらのステップをどのように実行するかを理解することは、彼らがどのように答えを計算するかを把握するのに重要だ。我々はこれらのモデルの内部の動作を調査し、最初のエンティティの特定がモデルの初期層で行われることを発見した。最初のエンティティが解決されると、モデルは後の層でクエリの第二部分を解決しようと進む。

問題は、もし第二部分が後の層で処理を開始した場合、回答に必要な情報がもはや利用できないことがあることだ。この問題に対処するために、我々は「バックパッチング」と呼ぶ新しい方法を導入した。この方法では、後の層からの情報を取り出し、それを以前の層に再適用することができる。我々の発見は、以前は不正確だったケースのほぼ57%で、バックパッチングを使うことで正しい答えに至ったことを示しており、後の層が時々必要な情報を欠いていることを示している。

我々の発見を具体化するために、2ホップのクエリにおいて、最初のステップがモデルの初期段階で解決されることに注目する。ブリッジエンティティに関する情報、つまりこの場合はジョン・レノンは次のステップに持ち越され、モデルはヨーコ・オノを配偶者として特定することで、クエリの第二部分を解決する。バックパッチングにより、後の層で符号化された情報を取り出し、以前の層に再導入でき、解決が失敗する場合を修正するのに役立つ。

多くのタスクで印象的なパフォーマンスを示しているにもかかわらず、LLMは依然として複雑な知識クエリには苦労している。例えば、「Imagine」のパフォーマーの配偶者は誰かというマルチホップの質問でしばしば間違いを犯す。これらのクエリに答えるには、強い構成力と推論スキルが必要で、最近の研究でも焦点となっている。LLMがこれらのマルチホップクエリをどのように扱うかを理解することは、彼らの一般化能力や適応能力を高める重要な意味を持つ。

LLMの推論能力を向上させるためには、まず彼らが2ホップクエリをどのように完了させるかを把握することが必要だ。以前の研究のいくつかはこれについて調査してきたが、推論の明確な経路は合成データで訓練された小型モデルにのみ見つかっている。我々の研究では、モデルが正しく答える場合と答えない場合の2つの状況を比較することに焦点を当てている。

研究を行うために、Wikidataのデータに基づいて82,020の2ホップクエリを含むデータセットを作成した。これらのクエリは、ジョン・レノンのようなソースエンティティ、配偶者のような関係、ヨーコ・オノのようなターゲットエンティティという3要素からなる事実を定義したトリプレットとして構成されている。我々はこれらのトリプレットをモデルが回答できるクエリに変換している。

2ホップクエリは、2つの事実を組み合わせることで作成される。1つの事実のターゲットエンティティは、次の事実のソースエンティティになる。例えば、「Imagine」のパフォーマーの配偶者は誰かという2ホップクエリは、(Imagine, Performer, John Lennon)と(John Lennon, Spouse, Yoko Ono)の2つの部分に分けられる。

このプロセスでは、2つの特定のトークンに注目している。最初のホップの最後のトークンと、クエリ全体の最後のトークンだ。推論が行われないケースをフィルタリングする。任意の2ホップクエリについて、推論ショートカットを検出するために設計された2つのプロンプトを作成する。最初のプロンプトは答えのないクエリで、2つ目のプロンプトはブリッジエンティティが欠けたクエリだ。このフィルタリングにより、モデルが人気の選択肢や強い相関に基づいて予測する場合を特定するのに役立つ。

我々は、モデルが2ホップクエリを正しく完了した場合と失敗した場合の違いを特に理解したい。2つのデータサブセットがあり、1つはモデルが2ホップクエリと最初のホップの両方を正しく回答する場合で、もう1つは両方の部分を個別に回答するが、全体のクエリでは失敗する場合だ。

実験では、異なるサイズのLLaMAモデルを調べる。LLaMA 2で7Bと13Bのパラメータ、LLaMA 3で8Bと70Bのパラメータだ。小型モデルは大型モデルに比べて層が少ない。

モデルが最初のホップを解決する場所を特定するために、Patchscopesという方法を使用する。我々は、モデルが初期層で最初のホップを解決することを確認し、モデルの処理における正確な位置を特定した。さらに、ブリッジエンティティに関する重要な情報は、クエリの最後の位置にある最終的な答えに持ち込まれなければならないことも発見した。

Patchscopesを利用することで、2ホップクエリを処理する際の隠れた表現を分析できる。ソース層でのソーストークンの隠れた表現を記録し、後の層でモデルのフォワードパス中に同じ表現と置き換える。目標は、隠れた表現から符号化されたエンティティを明らかにする続きの生成で、モデルが情報をどれだけうまく抽出するかについての洞察を提供する。

結果は、初期層で隠れた表現からブリッジエンティティを成功裏にデコードしたケースがかなり多いことを示している。これは、必要な知識がしばしばこれらの初期段階の処理に見つかることを示している。

我々はまた、第二のホップが最初のホップの後に現れ、主にクエリの最後の位置であることを観察する。情報の流れを分析すると、最初のホップが答えと共に解決され、それが第二のホップに対する答えの構築に使用されることが分かる。

第二のホップに関しては、予測はモデルの上層で行われる。モデルの注意とMLPサブレイヤーによる更新がこれらの予測を生成するのに重要だ。我々の実験は、MLPサブレイヤーが答えを予測する上で重要な役割を果たしていること、注意サブレイヤーもそのプロセスに寄与していることを示している。

次に、正しいケースと不正確なケースの比較に注意を向ける。間違ったケースでは、解決が正しい回答と比較して高い層で起こることが一致している。この違いは、最初のホップがどれだけ早く解決されるかが、マルチホップクエリに成功裏に答えるために重要であることを示唆している。

我々の仮説を確認するために、バックパッチングをさらにテストする。基本的なアイデアは、最初のホップの解決が第二のホップを解決するのに十分な情報を含まない層で行われる場合、バックパッチングを行った際にパフォーマンスの改善が観察されるはずだということだ。

我々の発見は、バックパッチングを使用することで以前は不正確だったクエリの回答の大幅な改善が見られることを示している。このプロセスで使用する層を正しく選択することが重要で、トランスフォーマーアーキテクチャ内の潜在的な制限を示唆している。この制限は、モデルが層を通じて情報を処理し、抽出する方法から生じる可能性がある。

要約すると、我々の研究はLLMが特定の推論経路を持っていることを示している。我々の分析は、最初のホップが低い層で解決され、第二のホップが中高の層で答えられることを示している。我々の研究は、LLMがマルチホップクエリで直面している問題を明らかにし、推論能力を向上させるための今後の開発の重要な領域を示している。

今回の研究は2ホップのクエリに焦点を当てているが、同様の方法と結論がより多くのホップを持つクエリにも適用できると考えている。しかし、この領域でのさらなる探求が必要だ。加えて、バックパッチングは改善の可能性を示しているが、すべてのバックパッチングの試みが正しい答えに至るわけではないため、まだ実用的な推論ツールではない。

この記事は、LLMがどのように機能するかをよりよく理解する必要性を示し、複雑な質問に対する彼らの推論スキルを向上させる方法を特定している。これらの道を探求し続けることで、LLMのようなモデルの能力を向上させ、最終的にはさまざまなタスクやクエリに対するパフォーマンス向上につながる。

オリジナルソース

タイトル: Hopping Too Late: Exploring the Limitations of Large Language Models on Multi-Hop Queries

概要: Large language models (LLMs) can solve complex multi-step problems, but little is known about how these computations are implemented internally. Motivated by this, we study how LLMs answer multi-hop queries such as "The spouse of the performer of Imagine is". These queries require two information extraction steps: a latent one for resolving the first hop ("the performer of Imagine") into the bridge entity (John Lennon), and another for resolving the second hop ("the spouse of John Lennon") into the target entity (Yoko Ono). Understanding how the latent step is computed internally is key to understanding the overall computation. By carefully analyzing the internal computations of transformer-based LLMs, we discover that the bridge entity is resolved in the early layers of the model. Then, only after this resolution, the two-hop query is solved in the later layers. Because the second hop commences in later layers, there could be cases where these layers no longer encode the necessary knowledge for correctly predicting the answer. Motivated by this, we propose a novel "back-patching" analysis method whereby a hidden representation from a later layer is patched back to an earlier layer. We find that in up to 66% of previously incorrect cases there exists a back-patch that results in the correct generation of the answer, showing that the later layers indeed sometimes lack the needed functionality. Overall, our methods and findings open further opportunities for understanding and improving latent reasoning in transformer-based LLMs.

著者: Eden Biran, Daniela Gottesman, Sohee Yang, Mor Geva, Amir Globerson

最終更新: 2024-10-14 00:00:00

言語: English

ソースURL: https://arxiv.org/abs/2406.12775

ソースPDF: https://arxiv.org/pdf/2406.12775

ライセンス: https://creativecommons.org/licenses/by/4.0/

変更点: この要約はAIの助けを借りて作成されており、不正確な場合があります。正確な情報については、ここにリンクされている元のソース文書を参照してください。

オープンアクセスの相互運用性を利用させていただいた arxiv に感謝します。

著者たちからもっと読む

類似の記事