幻覚雪だるま論文
https://scrapbox.io/files/65b2e9d3904ac600252010e1.png
論文情報
タイトル:How Language Model Hallucinations Can Snowball
発行日:2023年3月
著者:Muru Zhang, Ofir Press, William Merrill, Alisa Liu, Noah A. Smith
所属:University of Washington
論文を読んで感じたこと
幻覚は知らない知識の時だけではなく、知っていても起きてしまう。
自分の間違いを認め、すぐに改善できるようになるべきなのは、人間もLLMも一緒
幻覚雪だるまとは、悪い/やってはいけないとわかってても、やってしまうのと似ている
1度悪に手を染めると、なかなか軌道修正ができない
論文のポイント
LLMが知識不足が原因で、本当に知らなくて間違ってしまうことで起こる幻覚以外に、本当は間違いだと知ってる(知識は十分ある)けど、間違えてしまい幻覚がおきることがある。
欠陥のあるコンテキストに基づいてLMが条件付けられると、それ以外では起こさない極めて単純な間違いを引き起こす
LMが以前に生成したコンテキストに過度に固執するのではなく、最初の間違いを認め、その後で答えを改訂するべという思想の研究
ハルシネーションの原因は2つ
初期に答えを足す。Yes Noなど。
その後、その答えを正当化するための説明をつける
複雑な質問に対し、いきなり回答は難しい。そこで間違えたら、必然的に続く説明も間違えた根拠の話が続いてしまう。
連続的なタスクには1回の応答の中だけで完結できない
Figure 2にて、ChatGPT/GPT-4いずれも、かなり間違えている
そして、自分が間違えたことをわかっている
https://scrapbox.io/files/65b232cdc21e5300244b1594.png
概要
言語モデルを実用的なアプリケーションで使用する際の主要なリスクの一つは、誤った声明を幻覚する傾向にあります。幻覚はしばしばLM(言語モデル)の知識のギャップに起因するとされますが、私たちは、ある場合には、以前に生成した幻覚を正当化する際に、LMが別個に誤りと認識できる偽の主張を出力すると仮説を立てています。ChatGPTとGPT-4がしばしば誤った答えを述べ、少なくとも一つの誤った主張で説明を提供する3つの質問応答データセットを構築しました。重要なことに、ChatGPTとGPT-4はそれぞれ自身の間違いの67%と87%を認識できることがわかりました。私たちはこの現象を幻覚スノーボーリングと呼んでいます。つまり、LMが初期の間違いに過度に固執し、それ以外では起こさないであろうより多くの間違いを引き起こします。 1 はじめに
言語モデルは、オープンエンドの情報検索や問題解決の設定で人間とのインターフェースにますます導入されています。多様な能力と極端な流暢さにもかかわらず、LMが架空の事実を作り出したり、存在しないソースを引用したりする幻覚を起こすという主要な課題が依然として存在します(Maynez et al., 2020; Liu et al., 2023、i.a.)。幻覚は一般的にLMの知識のギャップに起因するとされ(Zheng et al., 2023)、知識ベースに対する検索を通じた軽減戦略が検討されています(Lewis et al., 2020; Shuster et al., 2021; Peng et al., 2023)。しかし、LMは「知らない」事実の場合にのみ幻覚を引き起こすのでしょうか?私たちは、LMが通常、それを個別に誤りとして認識する幻覚を生成する設定を提示します。具体的には、LMが質問に誤って答えた後、通常は誤った主張を行い、その答えを正当化しますが、その誤った説明だけが提示された場合、LMはそれを誤りとして認識する可能性が高いことがわかります。
この現象を幻覚スノーボーリングと呼びます。LMが以前の幻覚との一貫性のためにスノーボール化した幻覚を生み出すと仮定しています(モデルの「知識のギャップ」によるものではなく)、別の相互作用セッションで提示された場合、スノーボール化した幻覚が誤りであると認識します。答えを述べる前に推論を促すようなプロンプト戦略はタスクの正確性を向上させますが、私たちの研究は、欠陥のあるコンテキストに基づいてLMが条件付けられると、それ以外では起こさない極めて単純な間違いを引き起こすというより広い問題を指摘しています。実際、Kojima et al. (2023) による「Let's think step by step」(ステップバイステップで考えましょう)というプロンプトで、モデルが正しく答えられない場合の95%でスノーボール化した幻覚が依然として起こります。私たちは、時に「Let's think step by step」が正しい答えにつながる場合でも、無効な推論チェーンを使用することがあると観察しています。
https://scrapbox.io/files/65b2e9fc17037700256b4c05.png
本論文では、最近のLMが答えを述べ、それを正当化する傾向を利用して、幻覚スノーボーリングの現象を示します。私たちは、LMが以前に生成したコンテキストに過度に固執するのではなく、最初の間違いを認め、その後で答えを改訂するべきだと考えています。実際に、GPT-4が限られた数の場合にこれを行うのを観察しており、この振る舞いを増幅させること、また、LMが後退する新しい方法を開発することは有益です。
2 なぜ幻覚スノーボーリングが起こると予想されるのか?
このセクションでは、LM(言語モデル)が幻覚スノーボーリングに陥りやすいと仮定する理由を説明します。私たちは、次の2つの主要な特性を持つ質問に対してスノーボーリングが発生すると予測しています:
1. 初期のコミットメント:
プロンプトはLMに最初に答えを述べることを促します(説明を出力する前に)。これは多くのイエス/ノーの質問に当てはまります。
2. 本質的に連続的:
トランスフォーマーは一つのタイムステップ内の限られた推論能力のため、一つのタイムステップ内で答えを見つけることはできません。
これらの特性がどのようにしてスノーボール化した幻覚を引き起こす可能性があるかについて、以下で議論します。
初期のコミットメント
英語や他の多くの言語では、話し手はしばしば質問への最終的なイエス/ノーの答えを、その答えを説明する前に述べます。したがって、LM、特にInstruction TuningLMは、答えが説明の前に来るというこの回答形式を反映すると仮定しています。実際、我々のデータセット(§3.1で紹介)では、GPT-4とChatGPTが質問への答えとして直ちにイエスまたはノーをコミットすることを観察します。GPT-4とChatGPTについてはそれぞれ95.67%と98.40%の場合、最初のトークンがイエスまたはノーです。残りの場合では、モデルはしばしば最初の数トークンのうちに答えをコミットします(例:「アメリカ合衆国上院議員の記録はない...」)。重要なことに、LMがイエスまたはノーを生成すると、そのトークンはコンテキストに残り、後続の正当化を通じてその選択へのコミットメントを維持することが必要になります。したがって、モデルは複雑な質問に対する答えを一つのタイムステップで生成し、その後、その答えの説明を生成し続けますが、それは必然的に誤ったものになります。 本質的に連続的
さらに、トランスフォーマーは素数判定やグラフの連結性のような本質的に連続的な推論問題を一つのタイムステップ内で解決することはできません。これは、最近の理論的な結果(Merrill and Sabharwal, 2023)で文書化されています。我々のグラフの連結性と素数性データセットは、これらの問題の具体的な例です。トランスフォーマーは正しく答えるために複数のタイムステップが必要な質問に対して一つのステップを使わなければならないため、必然的に時々間違った答えをコミットすることになります。私たちは、これがLMがそれ以外では生成しない誤った事実を幻覚することにつながると仮定しています。
3 実験
我々は§2で述べられた特性を持つ3つのQAデータセットを設計し、ChatGPTとGPT-4を評価するために幻覚スノーボーリングを調査します。まず、LMが与えられた質問に対して正しい答えを返すかどうかを確認し、モデルが間違った答えを返すとき、しばしばその間違った答えに対する誤った説明を提供することを示します。我々は説明の中の誤った主張を自動的に抽出し、同じLMにその主張が正しいかどうかを確認させます。各データセットからの代表的な例については、表1を参照してください。
https://scrapbox.io/files/65b22fefc24a2d0025cfa6c8.png
3.1 データセット
我々はTransformerが一つのタイムステップで答えられないと予想される500のイエス/ノーの質問を含む3つのQAデータセットを設計しました。評価を容易にするために、質問は誤った答えが容易に検証可能な主張で正当化されるように設計されています。各データセットでは、すべての例に対して特定のラベルを固定し、モデルが誤った答えを選択した場合(例えば、9677が素数でないという)、それを支持する特定の主張を生成するようにします(例えば、誤った因数分解)。これにより、誤った答えのためのモデルが書いた正当化を体系的に検討することができます。 素数判定
このデータセットでは、1,000から20,000の間で無作為に選ばれた500の素数の素数性を照会します。正しい答えは常にイエスです。モデルが誤って答えた場合、誤った因数分解でその答えを正当化することを期待しています。
上院議員検索
このデータセットは、「かつてアメリカ合衆国のx州を代表し、yの母校だった上院議員はいましたか?」という形式の500の質問で構成されています。ここでxはアメリカ合衆国の州、yはアメリカ合衆国の大学です。これらの質問に対する正しい答えは常にノーです。モデルが誤って答えた場合、特定の上院議員がxを代表し、yに通っていたと誤って主張することを期待しています。データセットの作成にあたっては、すべてのアメリカ合衆国の州と、手動で作成された12の人気のあるアメリカ合衆国の大学のリスト(完全なリストについては§Aを参照)を考慮し、各可能なペアについて、テンプレートに従って質問を生成し、答えがイエスであるペアを手動で除外しました。
グラフの連結性
このデータセットの500の質問では、14の都市間の12のフライトを示し、特定の都市から別の都市へのフライトのシーケンスがあるかどうかを尋ねます。この問題は常に同じ基本的な有向グラフ構造(§A.1を参照)に対応しており、フライトはエッジ、都市はノードです。データセット内の各インスタンスでは、英字アルファベットの文字をランダムに割り当ててノードに名前を付けます。クエリを作成するために、異なるサブグラフの出発都市sと目的地都市tをサンプリングし、sはソースノード、tはリーフノードに対応するという追加の制約を設けます。これにより、問題を解決するために1ステップのヒューリスティックスを使用することはできません。
問題は自然言語のフライト検索クエリとして定式化され、より自然に聞こえるようにします。プロンプトでは、12のフライトをリストアップします(「F市からK市へのフライトがあります; G市からN市へのフライトがあります,...」)、その後で、「sからtへの一連のフライトがありますか?」という質問が続きます。正しい答えは常にノーです。モデルが誤って答えた場合、存在しないフライトで答えを正当化すると期待されます。
3.2 推論セットアップ
言語モデル
私たちの実験はZero-Shotです(つまり、プロンプトでモデルにQAペアの例を示しません)。私たちは、LMとの最も一般的な相互作用方法である直接プロンプト下でのモデルの振る舞いに焦点を当てています(完全な例については§Aを参照)。ゼロショットのCoT (Chain-of-Thought)スタイルのプロンプト方法を用いた実験については§4を参照してください。 各データセットについて、2段階の評価を実施します。まず、モデルの精度(つまり、何個の質問に正しく答えるか)を評価します。いずれかのモデルが不正確な場合、経験的には常に正当化を生成します。第2段階では、モデルが説明の中の誤ったステップを識別できるかどうかを評価します。
特定の質問に対して、モデルの回答を評価する際には、出力がイエスまたはノーで始まるかどうかを検討します。回答がこれらのカテゴリに該当しない場合は、モデルが伝える答えを手動で判断します。
3.3 LMによるスノーボール化された幻覚の認識
LMが自身のスノーボール化された幻覚を認識しているかどうかを、モデル自身の出力に対する誤った主張を検証することによって調べます。私たちの認識手順は、モデルの出力の手動検査から得られたヒューリスティックスに依存していますが、これらのヒューリスティックスは他のモデル(たとえば、異なるモデルが素数でないという主張を支持する際に因数を提供しない場合など)では機能しないかもしれません。
グラフの連結性
モデルが連結フライトの一連のシリーズがあると考える各サンプルについて、モデルの出力からフライトのリストを手動で抽出し、無効または不連続なフライトを特定します。
次に、新しいセッションで、モデルに抽出されたフライトがフライト情報に基づいて有効かどうか、および連続したフライトが実際に接続されているかどうかを確認するよう依頼します。私たちは、モデルがエラーを正しく検出しているかどうかを確認するために、検証出力を手動で評価します。モデルへのプロンプトと成功した検証の例については、付録表3を参照してください。
素数判定
モデルがその数が素数ではないと答える各サンプルについて、モデルがそれを正当化するために使用する因数を抽出します。抽出は、出力をコンテキストに入れて「上記のテキストで提案された因数は何ですか?リストアップしてください」と尋ねることによって行われます。私たちは抽出にChatGPTを使用します(その高速な推論速度のために)、30の例を手動でチェックし、常に正しい因数を抽出できることを確認しました。
次に、新しいセッションで、抽出された各因数を個別に検証するようモデルに依頼します。成功した検証の例については、付録表4を参照してください。
上院議員検索
モデルがそのような上院議員がいると考える各サンプルについて、モデルが存在を正当化するために使用する上院議員の名前を抽出します。これは、出力をコンテキストに入れ、「上記のテキストに記載されている上院議員は何ですか?名前だけを教えてください」と尋ねることによって行われます。ここでも、私たちはChatGPTを使用し、30の例で完璧な抽出が観察されました。
次に、新しいセッションで、その上院議員の母校が質問の大学であり、質問の州を代表していたかどうかをモデルに尋ねます。成功した検出の例については、付録表5を参照してください。
3.4 結果
質問応答の精度
Figure 2は、ChatGPTとGPT-4が全体的に非常に低い精度を示していることを示しています。上院議員検索データセットのChatGPTを除き、すべてのモデルは50%未満の精度を達成しています(エラー率のデータセット別内訳については、付録表6を参照してください)。ChatGPTが平均で39.87%の精度を持つ一方で、GPT-4はわずか16.6%です。
https://scrapbox.io/files/65b232cdc21e5300244b1594.png
幻覚の検出
ここでは、モデルが単独で提示されたときに誤った主張が間違っていることを識別できるかどうかを確認します。Figure 2に示されているように、ChatGPTは説明の中の誤った主張(つまり、スノーボール化した幻覚)の67.37%を検出し、GPT-4は87.03%を検出しています。モデルが検証に失敗した場合(付録表12の例)、それをスノーボール化した幻覚とは見なしません。
https://scrapbox.io/files/65b234e6a2538a0023fc553d.png
全体として、ChatGPTとGPT-4は両方とも幻覚スノーボーリングに非常に弱く、非常に単純な間違いを引き起こしていることがわかります。
4 スノーボール化した幻覚を防ぐことはできるか?
私たちは、幻覚スノーボーリングが発生するのは、LMが現在のコンテキスト(与えられたプロンプトと以前の出力)と一致する継続をモデル化するように訓練されているためだと仮定しています。根本的な問題への対処には推論時の変更以上のことが必要かもしれませんが、このセクションでは、幻覚スノーボーリングを軽減するための2つの推論戦略の効果を検討します:プロンプティング(§4.1)とデコーディングまたはトレーニング方法(§4.2)。
4.1 より良いプロンプトエンジニアリング
このセクションでは、モデルが答えの前に推論チェーンを生成するように促す異なるZero-Shotプロンプトを使用することにより、スノーボール化した幻覚を防ぐ効果を検証します。これらのプロンプトで生成された出力はあまり構造化されていないため、正確性とスノーボール化した幻覚の存在を判断するために手動で検査します。 各タスクについて、元の質問の最後に「ステップバイステップで考えましょう」と追加します(表1に示されています)
Figure 3に示されているように、モデルは上院議員検索タスクを完璧に解決し、素数判定では10%以下のエラー率、グラフの連結性では30%以下を達成します。
https://scrapbox.io/files/65b2345040ecae00233bd3ed.png
精度の大幅な向上にもかかわらず、潜在的な問題を特定します:モデルは推論チェーンを出力する際に幻覚を起こすことがあり、これが将来のステップでのスノーボール化した幻覚を引き起こします。例えば、以下の出力では、
ステップ3: 市Eからは3つの選択肢があります:市Nへのフライト、市Bへのフライト、または市Cへのフライト。
ステップ4: 市Mへ行く可能性がある唯一の選択肢は、市Eから市Cへのフライトです。
ChatGPTはステップ3で3つの選択肢があると誤って述べており(実際には2つしかありません)、スノーボール化した幻覚「または市Cへのフライト」(ChatGPTは別のセッションでE → Cが有効なフライトでないことを検証できます)を引き起こしています。Figure 3に示されているように、GPT-4はタスクを横断して平均して94.90%という高い全体的なスノーボール化した幻覚率を保持しており、ChatGPTも同様に高いスノーボール化した幻覚率を得ています。
最後に、私たちの実験は、ステップバイステップで分解するのに適した単純なマルチステップ問題に焦点を当てていますが、生成の一つの間違いが他のものを引き起こすオープンエンドのテキスト生成(Arora et al., 2022)において、幻覚スノーボーリングがより広く現れると仮定しています。これらの場合、より良いプロンプティングはこれらの間違いを予測することも修正することもできません。
4.2 アルゴリズム的な修正
temperature の増加
温度tは出力分布の鋭さを制御し、tが高いほど次の単語のモデルの最も可能性の高い予測から確率質量が広がります。§3での私たちの実験では貪欲デコーディングを使用していましたが、これはt = 0に相当します。t = 0.6とt = 0.9では、エラー率とスノーボール化した幻覚率は、GPT-4とChatGPTの両方で同様に高くなります(Figure 4)
https://scrapbox.io/files/65b26098973d310024a342f2.png
トップkサンプリングとニュークリアスサンプリング
トップkサンプリングやニュークリアスサンプリング(Holtzman et al., 2020)などのサンプリング方法を使用しても助けにはならないでしょう。これらは考慮されるトークンの範囲を狭めるだけであり、モデルが直ちに答えにコミットする可能性を高めるだけです。
ビームサーチ
§2での幻覚スノーボールの議論は、モデルがいったん答えにコミットするトークンを生成すると、それらがコンテキストに残り、後の生成に影響を与えるという事実に基づいています。これを回避する潜在的な方法の一つは、ビームサーチです。つまり、単一のシーケンスではなく、各タイムステップで高確率のシーケンスのビームを維持することです。原則として、ビーム内のシーケンスの一部が初期トークン後に答えにコミットしない(または正しい答えにコミットする)場合、その継続は、最初に誤ってコミットし、その結果として誤った推論を生成するものよりも最終的に高い確率を持つ可能性があります。もしそうなら、ビームサーチは幻覚スノーボール問題を解決するかもしれません。残念ながら、OpenAI APIはビームサーチをサポートしていないため、ビームサーチの効果を幻覚スノーボールに対してテストすることはできません。
学習戦略
スノーボーリングをさらに減らすための一般的な方法は、事前トレーニングやInstruction Tuningフェーズの側面を変更することかもしれません。特に、モデルが答えを生成する前に推論チェーンを生成することに重点を置くことは、その計算上の制限に対応し、幻覚を引き起こす間違った答えにコミットすることを避ける良い方法である可能性があります。 さらに、データでのバックトラッキングにファインチューニングすることで、モデルのパフォーマンスが向上するかもしれないと仮定しています。これは、例えば、質問に間違った解決策を続け、次に「ごめんなさい、それは間違っていました」というフレーズを発してから正しい解決策を与えることによって達成できます。この解決策は、Kim et al.(2023)の「以前の回答を見直して、回答に問題を見つける」というプロンプトに関連しています。
5 関連研究
幻覚
テキスト生成における幻覚はよく研究されている問題であり(Rohrbach et al., 2018; Maynez et al., 2020; Raunak et al., 2021など)、最近ではChatGPTがありそうな虚偽を生産する傾向があるため、より顕著になっています。幻覚はしばしばLMの知識のギャップに起因するとされ(Zheng et al., 2023)、知識ベースへのリトリーバルを利用してそれらを軽減することの有望性を示すいくつかの研究があります(Lewis et al., 2020; Shuster et al., 2021; Peng et al., 2023)。私たちの研究は、幻覚がコンテキストから誘導される可能性があることを示し、さらなる軽減技術を動機付けています。
幻覚スノーボーリングは、exposure biasの結果である可能性が高いです:LMはトレーニング中に金の履歴にのみ露出していましたが、推論中にはおそらく誤った以前の予測に条件付けされます。以前の研究では、これが機械翻訳(Wang and Sennrich, 2020)やオープンエンドテキスト生成(Arora et al., 2022)での幻覚を増幅すると関連付けられていました。私たちは、伝播したエラー(私たちがスノーボール化した幻覚と呼ぶもの)がLM自体によって認識されることを示すことによって、エラーの伝播を示すことを超えています。 私たちの観察は、LMが偽の前提条件(例えば、「どの言語学者が電球を発明したか?」; Kim et al., 2021, 2022)を含む質問を与えられたとき、またはそれ以外に誤解を招く(例えば、「9/11の真の原因は何か?」; Lin et al., 2022)ときに幻覚するという以前の発見と関連しています。この場合、不良なコンテキストがLMを誤解させます。ただし、私たちの研究は、私たちの質問が意図的に誤解を招くものではなく、LMに対する無害な情報探求のクエリでもこの失敗モードが引き起こされる可能性があることを示している点で異なります。
LM(不)一貫性 私たちの研究は、LMが同じ問題に関する異なるプロンプトでどの程度一貫性がないかを示す成長している研究の体を補完します。たとえば、LMに中間ステップを生成させること(Nye et al., 2021; Wei et al., 2022; Press et al., 2022)は、それ以外の場合には異なる答えに達することができます。他の研究では、プロンプトに「スミス教授には以下の指示が与えられました」と単に前置することでパフォーマンスが向上することが示されていますが、問題自体についての価値ある情報は提供されていません(Lin et al., 2022)。
6 結論
私たちは幻覚スノーボーリングの現象を定義し、最先端モデルからの生成においてその普及を示し、通常は発生しない単純な事実に関する幻覚を引き起こしています。私たちの発見は、事実に対する配慮を犠牲にして流暢さと一貫性を無差別に優先する言語モデルをトレーニングするリスクを指摘し、モデル開発のすべてのレベルでの救済措置を研究することを奨励します。
制限事項
私たちは、英語における質問応答の文脈での幻覚スノーボーリングに焦点を当てており、要約やコード生成などの他のタスクについては探求していません。
さらに、多くのベンチマークでの最先端のパフォーマンス(OpenAI, 2023)のため、ChatGPTとGPT-4という2つの独自モデルに対してのみ実験を行っています。これらのモデルのAPIの制限のため、私たちは彼らが出力する確率分布へのアクセスがなく、またそれらをファインチューニングする能力もありません。これにより、潜在的な軽減戦略を探求する能力が制限されます。出力分布へのアクセスがあれば、ビームサーチなどの代替サンプリング方法を使用して幻覚スノーボーリング問題を軽減することを調査することができます。モデルをファインチューニングする能力があれば、異なる注釈を伴うインストラクションチューニングが、幻覚スノーボーリングを誘発するために使用する質問のより良い取り扱いにつながるかどうかを探求することができます。