2024-02-08 機械学習勉強会

 
 

Don’t Hallucinate, Abstain: Identifying LLM Knowledge Gaps via Multi-LLM Collaboration

 

GPT-4による要約

LLMは実世界の知識をモデルパラメータにエンコードし、知識集約的タスクに活用する印象的な能力を示していますが、その知識が不足しているか信頼できない場合、自信を持って「話す」一方で、幻覚やバイアスに頼ることがあります。この問題に対処するため、我々は知識のギャップを特定し、低信頼度の出力を生成することから控える機能をLLMに組み込むことを提案し、COOPERATEとCOMPETEという二つの多LLM協力に基づくアプローチを開発しました。これらのアプローチは、知識集約的QAタスクでの実験を通じて、基本的な手法を上回る強力な控えるメカニズムであることが示されました。

1 Introduction

  • 貢献
    • (1)既存の方法の評価と類型化
      • これはLLMの知識ギャップを特定するために再利用される
    • (2)LLMの知識ギャップを検出するための新たな2つのロバストなmulti-LLM collaborationメソッドの提案
      • COOPERATEとCOMPETE

2. Identifying Knowledge Gaps in LLMs

  • 既存11個の手法を4種類に分類(calibration, training, prompting, self-consistency)
    • calibration(校正)
      • Token Probability
        • トークンの確率は吟味されずそのまま生成に利用されることがしばしあるが閾値を設けてあげることでハルシネーションを防ぐことにつながる
        • 全ての可能な閾値pに対して、モデルが生成した回答が正解と一致し、かつ信頼スコアがp*未満の場合、及びモデルの回答が不正解で信頼スコアがp*以上の場合の数の合計を最小化するようなp*を見つける
      • Temperature Scaling
        • temperatureを調整することでモデルが出力する確率分布を調整するもの
        • temperature (τ > 0) を使ったソフトマックス関数に正解の確率分布 を入力する
          • データセット上で最適化され、その結果として最適な温度が得られる
        • これに基づいて、確率の閾値が設定され、モデルが新しいデータを評価する際に、その確率がこの閾値より高いか低いかによって、答えを出すか控えるかを決定する
      • Ask for Calibration
        • 言語モデルはトークンの確率だけでなく、確信度のスコアを自身で回答することもできる
        • Just Ask for Calibration: Strategies for Eliciting Calibrated Confidence Scores from Language Models Fine-Tuned with Human Feedback
          • step1: LLMで回答を生成
          • step2: 「 Provide the probability that your guess is correct.」とpromptを投げることで確信度を引き出し、これも事前に設定しておいた閾値と比べて判定を行う
          • [tomo]実際に試してみた
            • 以下のようの書類の文字情報を提供
              • 支払金額→220,000円
              • 発行日→記載なし(だけど支払期日は記載あり)
            • 合計金額と発行日をそれぞれ聞いて確信度も聞く
            • → 全部ほぼ100%自信ある or 全然わからんのどっちかだった
    • training(訓練)
      • Hidden Layers
        • 探ることで、その知識や事実性についての洞察が得られる可能性が示されている
          • 隠れたembeddingsを抽出
          • は、ある質問に対する答えがである確率
          • →「隠れ埋め込み」という内部データを使って、ある質問に対して「受け入れるか」「拒否するか」線型探索的にを予測する
          • → よって、推論時には、が答えを拒否すべきであると示す場合、LLMは回答を控えるべき
          • [tomo] 回答する前に、質問文のembeddingsをみて答えるべきか拒否するべきか判定するといった感じ?
      • External Verifier
        • LLMが生成したテキストの真実性を判断するために外部検証器を訓練することは、数学的推論(Cobbe et al., 2021)や一般知識領域(Kadavath et al., 2022; Cohen et al., 2023)で大きな可能性を示されている
        • エンコーダーベースの言語モデルLM-encを訓練し、分類のために[CLS]トークンを使用する
          • クロスエントロピー損失でデータセット上で最適化し、推論時にを通じて拒否するべきか判定
          • Hidden Layersでは質問の中間エンコーディングのみが線形探索に使用されていたが、今回は質問と生成された回答の両方が外部検証器の訓練に使用されている
      • Instruction Tuning
        • のフォーマットでLLMのチューニングするのがしばし推奨されいてるが(Ouyang et al., 2022)、LLMにInstruction Tuningを通じて回答を差し控えるようにする
          • まず、必要に応じてLLMが差し控えるように促すpromptを作り、生成された回答a = LLM(q)の正確さを評価する
            • →これが正しい場合は、を指示チューニングのインスタンスとして使用する
            • →これが正しくない場合は、不正確な回答aを差し控えメッセージに置き換え、で訓練する
    • prompting
      • Self-Reflect
        • LLM(大規模言語モデル)が自身の回答を判断し、評価する初歩的な能力を持っている可能性が示されている(Kadavath et al., 2022)
        • 生成された回答に対してLLMに自己反省を促すプロンプト “The above answer is: A. True B. False” を用いることで、LLMは自身で回答を控えるべきか判断する
      • More Information
        • LLMの内部で持つ知識はしばしば不完全でノイズが含まれているため、既存の研究ではLLMの生成を支援するために外部情報を選択的に要求する方法が研究されている(Xu et al., 2023; Asai et al., 2023; Feng et al., 2023b)
        • “Do you need more information to answer this question? (Yes or No)”というpromptを用いて情報の不足がないかを問うことで情報が足りてない時は、無理に答えずに情報を要求することができる
      • Generate and Match
        • LLMの「生成」と「理解」の間には隔たりがあり(West et al., 2023)、これが複数選択形式の質問が提示されるとハルシネーションを引き起こす原因となっている(Fu et al., 2023)
        • この問題に対処するために、選択肢の中からいきなり直接選ばないという方法がある
            1. LLMには潜在的な選択肢へのアクセスなしに最初に回答を生成するよう指示
            1. 次に、生成された回答が選択肢のいずれかと一致するかどうかをLLMに評価させる
            1. 生成された回答と選択肢の間に一致がない場合、LLMは回答を控える
    • self-consistency(自己一貫性)
      • None-of-the-Above
        • 質問応答(QA)タスクにおける「上記のいずれでもない」という選択肢を追加することがロバスト性を向上させるという結果がある(Kadavath et al., 2022; Ding et al., 2023)
      • Self-Consistency Threshold
        • 自己一貫性閾値(Self-Consistency Threshold)は、複数の思考連鎖(chain-of-thought)推論パスを生成し、それらの多数決で答えを決定することを目指す(Wang et al., 2022; Wei et al., 2022)
        • plurality index
          • 質問qとそれに対するk個の生成された推論パス及び回答{(ai, pi)}i=1,...,kが与えられた場合、plurality indexは次のように定義されます
          • これは全個の推論パスの中で、どれだけ大きな多数派が存在するかを示します。その後、保持セット上で最適化された閾値が推論時に適用され、の場合に回答を控える
          • [tomo] 要するに多数決のようなものなんだけど、解答が分散しすぎた場合は多数案でも信憑性が低いので棄却すると理解
  • 提案:Multi-LLM Collaboration
    • 上記のアプローチの課題
      • 単一の言語モデルによって生成されたテキストに対する評価や反省を行う場合、confirmation biasやハルシネーションなどの問題により、自己評価が信頼できない結果になることがある(Kadavath et al., 2022; Ji et al., 2023; Xie et al., 2023)
      • どのアプローチが有力かはデータセットに依存し、ある方法やモデルが特定のタスクやデータセットには良好に機能するものの、異なるタスクやデータセットに対応する能力が低い
    • Cooperate
      • 異なる専門知識を持つ複数のLLMが、ある問題に対する答えにフィードバックを提供する。そして、最終的なLLMがそのフィードバックを考慮に入れて、答えを受け入れるか、もしくは更に情報が必要で回答を控えるかを決定します。
      • 具体的には、質問qと生成された回答a = LLM(q)に対して、専門家LLMからの自然言語フィードバックのセット{f1, ..., fk}を取得し、提案された回答とフィードバックを要約して合成し、差し控える決定LLM(q, a, {f1, ..., fk}) → {accept, reject}を行う
      • フィードバック生成の二つのモード
        • self
          • selfモードでは、同じLLMを使って、異なる専門知識を持つかのように振る舞わせます。具体的には、同一のLLMに異なるプロンプトを提供することで、そのLLMを特定の分野やドメインの「専門家」として特化させ、ドメイン{d1, ..., dk}のように複数の専門家に特化させます。LLMに、ドメインに焦点を当てた質問についての知識パッセージを生成するようにプロンプトします。
        • others
          • 特定のドメインや分野の知識を持つ異なるLLMをそれぞれ専門家として使用する。ドメイン固有のフィードバックは、知識パッセージを前置してfi = LLM(knowledgei, q, a)を生成し、モデルにレビュアーとして反応するように促す。othersモードでは、別々のLLM{LLM1, ..., LLMk}を使用してフィードバックfi = LLMi(q, a)を提供し、お互いの知識のギャップを特定し、差し控えるプロセスを補完することを目指す。
    • Compete
      • 異なるLLMが問題に対して異なる答えを出し、それぞれについて理由や根拠を提供する。そして、元のLLMがこれらの異なる答えや情報を見て、もし自分の最初の答えに自信が持てなくなった場合、回答を控える
      • 具体的には、質問qとLLMによって生成された回答a = LLM(q)に対して、他のLLMにk個の代替回答とそれに関連する知識パッセージを生成させます。次に、対立する情報を文脈に前置してLLMに再度qに答えさせる。もしa = a˜iであれば、LLMはパラメトリックな知識に高い確信を持っているので、その回答は受け入れられるべき。逆に一致しない場合、何度か同じ操作を繰り返し、結果がコロコロ変わる場合は回答を控えるべき。
 

3 Experiment Settings

  • モデル
    • Mistral-7B (Jiang et al., 2023)
    • LLaMA2-70B (Touvron et al., 2023)
    • ChatGPT
  • タスクとデータセット
    • MMLU (Hendrycks et al., 2020)
      • MMLUは、57のドメインにわたる一般知識QA(質問応答)のための複数選択肢データセット
      • このデータセットは、幅広い知識を必要とする質問に対してモデルの理解度を試すもの
    • Knowledge Crosswords (Ding et al., 2023)
      • Knowledge Crosswordsは、マルチホップ(複数ステップにわたる)知識推論に焦点を当てた構造化されたQAデータセット
      • このデータセットは、複数の情報源から情報を統合して答えを導き出す能力を試す
    • Hellaswag (Zellers et al., 2019)
      • Hellaswagは、一般常識と推論能力を試す自然言語推論データセット
      • シナリオを読み、最も論理的な続きを選ぶことで、モデルの常識推論能力が評価される
    • Propaganda (Piskorski et al., 2023)
      • Propagandaタスクでは、LLMが長いニュース記事の中で23のプロパガンダ戦術を内部知識に基づいて特定することが求めらる
      • このタスクは、テキスト内の微妙なバイアスや操作的な言葉遣いを識別する能力を試す
  • 評価メトリクス
    • AbstainQAの下での4つのシナリオを図2で示し、以下の評価指標を用いる
      • Reliable Accuracy (R-Acc)
        • A/A+C
        • 回答された全ての質問の中で、何問が正しいか
      • Effective Reliability (ER)
        • A-C/A+B+C+D
        • 全ての質問の中で、正しく答えられたものが誤って答えられたものよりどれだけ多いか
      • Abstain Accuracy (A-Acc)
        • A+D/A+B+C+D
        • 差し控え決定が正しいかどうか
      • Abstain F1 (A-F1)
        • 精度と再現率の調和平均
        • precesion
          • D/B+D
        • recall
          • D/C+D

4 Results

 
  • COOPERATE and COMPETE are state-of-the art abstain mechanisms
    • 12の設定(3つのモデルと4つのデータセット)のうち9つで最も強力なベースラインを上回り、信頼性の高い精度スコアにおいて平均で10.1%の改善を達成
    • COOPERATEは、ChatGPTのような強力なモデルでより良く機能することが分かります。これは、複数ステップのフィードバック生成の複雑さが、より強力な基本言語モデルを必要とするためだと推測される
    • COMPETEは信頼性を重視し、信頼性の高い精度スコアが高いことからもわかるように、誤った回答を大幅に避ける
  • Calibration > Training > Consistency > Prompting
    • 平均して、3つのタイプのアプローチ(キャリブレーション、トレーニング、一貫性、プロンプティング)はそれぞれ0.595、0.576、0.553、0.475の差し控え精度(A-Acc)スコアを達成
  • Abstain capabilities potentially correlate with base LLM utility
    • 回答を差し控える能力は、基本となるLLMの有用性と相関する
    • mistral、llama2、chatgptは、アプローチとデータセットを横断して平均してそれぞれ0.524、0.537、0.616のA-Accスコアを達成
  • Going beyond generic QA sheds light on the limitations of existing approaches
    • 全てのベースラインがMMLUで適切に機能する一方で、他の知識ドメインや推論の文脈ではいくつかが機能しなくなる場合があったが、今回の提案した手法はどのQAでうまく評価もでできた
    • 例:ASK CALIBRATEなどは、プロパガンダ戦術を検出する際にプロンプトの文脈が長いとpromptを作るのが難しくなる