Andrej KarpathyによるLLMの詳細解説(Part 4):幻覚(Hallucinations)

幻覚はLLM心理学の範疇に属すると考えられ、一種の新しい認知効果です。モデル幻覚とは大規模言語モデル(LLM)が根拠なく情報をでっち上げることを指しますこれは現在のLLMアシスタントの主要な問題の一つです。初期のモデルでは幻覚問題が深刻でしたが、近年ではモデル訓練方法の最適化により改善されています。

幻覚の起源

訓練データにおいて、人間が提供する答えは通常既存の知識またはオンラインでの検索に基づいて自信のあるトーンで答えます。例えば:

  • 質問:「トム・クルーズとは誰ですか?」
  • 答え:トム・クルーズはアメリカの俳優であり、プロデューサーです。
  • 質問:「ジョン・バラッソとは誰ですか?」
  • 答え:「ジョン・バラッソはアメリカの上院議員です。」

これらのトレーニングサンプルにより、LLMは習慣的に自信を持って答えます。完全にでっち上げられた名前(例:「オーソン・コバッツ」)に対しても、モデルは知らないことを直接認めることなく自信を持って答えます。この現象の根本的な原因は統計パターンマッチングにあります:トレーニングデータにおいて、「誰がXか」という形式の質問には常に明確な答えが存在するため、LLMは「私は知りません」と答えるよりも、その形式に合う内容を補完しようとします。

例:Falcon 7Bの幻覚テスト

Hugging Faceを使用して推論プラットフォームFalcon 7B(古いモデル)をテストする:

  1. 入力:「Who is Orson Kovats?」
  2. モデルの出力:「オーソン・コヴァッツはアメリカのSF作家です。」
  3. 再サンプリング:「オーソン・コヴァッツは1950年代のテレビドラマのキャラクターです。」
  4. 再びサンプリング:「オーソン・コヴァッツは元プロ野球選手です。」

結果は、Falcon 7B毎回異なる幻覚的な回答を示しましたこれは、モデルがその人物を知らないにもかかわらず、訓練されたパターンに従って動作していることを示しています。最も可能性の高い回答をでっち上げる現象です。

現代のLLMの改善点

OpenAIの最先端のChatGPTとの比較:

  • ChatGPTが「Who is Orson Kovats?」という質問を受けたとき、まずネット検索を試みます(インターネット接続機能がある場合)。
  • 情報が検索できない場合は、知らないことを率直に認めます例えば:

    「Orson Kovats」に関する著名な情報は見つかりませんでした。

この改善は意味するところが大きく現代のLLMには一定程度の自己認識能力があるという点ですいつ答えを拒否すべきかを理解しています

LLMの幻覚をどのように緩和できますか?

MetaはLlama 3でモデルの幻覚問題をどのように解決するのか

メタが幻覚(hallucinations)「事実性の問題」(factuality errors)、并通过体系的な方法Llama 3 に自身の知識の限界を認識させ、誤った情報の生成を減らします。

LLM の問題:モデルは知らないことを自発的に認めません

  • 言語モデル自信に満ちたトーンで答えてしまう傾向があるある質問について十分に理解していない場合でも
  • ニューラルネットワークの内部では不確実性を認識している可能性がある(例えば、特定のニューロンの活性化パターンが「不確実である」と示唆する場合)
  • しかし問題は:モデルの訓練方法はそれを直接的に表現させないよう設計されています。「私は知りません」を。
  • 結果:モデルは「信憑性のある」答えをでっち上げる。答えがわからないことを誠実に認めないで

メタの解決策:モデルに自身の知識の限界を識別させる訓練

メタは一種の「自己検証」(self-interrogation)手法を使い、Llama 3 を評価しますどの情報が本当に「知っている」ものであり、どの情報が「知らない」ものなのか、そして訓練データを調整します。

具体的なプロセス

(1) データセットから事実を抽出する

  • データセットからドキュメントをランダムに選択する、その中の段落を抽出する。
  • LLM(例: ChatGPT)を使用するその段落に関する事実に基づいた質問を生成する

(2) Llama 3 に質問に答えるようにする

  • Llama 3 にこれらの質問を投げかけ、それが正しい回答を出せるかどうか確認します。
  • 例えば:
    • 質問「ドミニク・ケイクはどのチームでプレーしましたか?」
    • モデルの回答:「バッファローサーベルズ(Buffalo Sabres)」 ✅ (正解)
    • ラマ 3 の説明この事実を理解している

(3) 反復テストを行い、一貫性を確認する

  • 同じ質問を何度も繰り返すモデルが毎回一貫して回答するかどうか確認する。
  • もしモデルの回答が常に正しい場合、それはモデルがその知識ポイントを本当に理解した
  • もし答えが前後して一致しないまたは間違っている場合、それは彼/彼女がその事実の理解に問題があることを示しています

(4) 別のLLMに「ファクトチェッカー」として役割をさせる

  • 使用する別のLLM(例えば Mistral-7B)をLlama 3が提供した答えが正しいかどうか確認する
  • こうすれば自動的に答えの正確性を確認できる手動での介入なしで

モデルに「知らない」と認めることを学ばせる

  • Llama 3が正しい答えを出すことができない場合、メタはそれを「知らない」と答えるように学習させました、適当に答えをでっち上げることなく
  • 改善の方法
    • 問題「ドミニク・ハセクはスタンレーカップを何回優勝しましたか?」
    • モデルの誤った答え「3 回」(誤り)
    • 正しい答え:「ごめんなさい、私は知りません。」
    • トレーニングデータにおいて、「我不知道」の例を追加するモデルが学習するようにする自身が知らない質問に答えないこと
    • 例:

さらに最適化:ツール呼び出し(Tool Use)の導入

メタが Llama 3 の処理について幻覚問題(hallucinations)への対処方法は、訓練モデルは「私はわかりません」と認めますさらに、次に導入しますツール呼び出し(Tool Use)答えを知らないときに情報を積極的に検索でき、単に回答を拒否するだけではないようにします

ツール呼び出しの動作方法

  1. 新しいメカニズムの設定:モデルが検索ツールを呼び出すことを許可する

  • モデルが自身の不確実性に気付いた場合、単に「私は知りません」と答えるだけでなく特別な検索コマンドを発行します
  • 例えば、モデルは次のように生成します:
    <search_start> 「ドミニク・ケックはスタンレーカップを何回優勝しましたか?」 <search_end>
  • この検索クエリはBing、Google、またはWikipediaなどの外部知識ベースに送信されます。
  • モデルの生成を一時停止し、ネットワーク検索を実行

    • 言語モデルはテキストの生成を一時停止します。
    • 検索エンジンがクエリ結果を返します。これらのテキストはモデルの「コンテキストウィンドウ」(context window)に置かれます。ニューラルネットワークに直接入力され、もはや曖昧な記憶ではなくなります。
    • 例えば:
      <search_result> “Dominic Kek won 2 Stanley Cups” - Source: Wikipedia </search_result>
    • 現在、モデルは正しい情報を基に正しい答えを生成できます
  • モデルは検索情報を統合して答えを出します

    • なぜなら検索結果はすでにコンテキストウィンドウ内にあります、モデルはデータを直接引用する
      「Wikipedia の情報によると、ドミニク・ヘイクは 2 回のスタンレーカップを獲得しました。」(出典付き)

    もちろん、検索はツールの一つに過ぎず、他のツールも使用して幻覚を軽減できます。

    LLM 心理学

    ニューラルネットワークの中で、パラメータは曖昧な知識記憶を保存していますこれは人間の脳における長期記憶に似ており、一方でコンテキストウィンドウ内のトークンは短期作業記憶に相当します言い換えれば、モデルのパラメータは訓練中に学んだ内容を担っていますが、これらの情報は単にぼんやりとした印象かもしれません明確な事実ではなく、コンテキストウィンドウ内のデータ直接的に利用可能です私たちがただ今受け取った情報と同じように、即座に参照や処理が可能です。

    この仕組みはLLMの使用方法に重要な影響を与えます。例えば、ChatGPTで「高慢と偏見」の第一章を要約するように直接依頼した場合、訓練データに大量の関連内容があったため、大まかに妥当な答えを返すかもしれません。しかし、より良い方法は完全なテキスト断片を提供することです例えば、「『高慢と偏見』の第一章を要約してください。以下は完全な章の内容です。」のようにします。その後、テキストを入力フィールドに貼り付けます。これにより、モデルはあやふやな記憶ではなく、テキストそのものを直接読み取ることができ、より高い正確性と完全性が確保されます

    この現象は人類の認知方法に類似しています:もし本の冒頭を思い出させられても、私たちはいくつかの主要なプロットを覚えているかもしれませんが、もし再び読み返すことができれば私たちのまとめはより正確で、より詳細になります。これもまた、LLMが具体的な問題に対処する際、明確な文脈情報を提供することが、その独自の記憶に頼むよりもずっと効果的であることを示しています答えの質を大幅に向上させることができます。