「LLMの幻覚の理解と軽減」
『LLM幻覚の理解と軽減法』
LLM 幻覚検出の課題と有力な研究論文で提示された可能な解決策
近年、大規模な言語モデル(LLM)は、ユーザーの提示に対して非常に流暢で説得力のある応答を生成するなど、印象的で増大する能力を示しています。しかし、LLMは「幻覚」ともよばれる事実に合わないまたは意味のない文を生成する能力で知られています。この特性は、要約タスク、生成型質問回答、対話生成など、事実性が必要な多くの場面で信頼を損なう可能性があります。
幻覚の検出は、人間の間でも常に難しい課題であり、LLMの文脈で同様に難しいものです。特に、一貫性のチェックのための正確な文脈にアクセスできない場合が多いことを考慮すると、これは困難です。出力確率分布など、LLMの生成に関する追加情報は、このタスクの支援に役立つことがありますが、この種の情報が利用できない場合も多く、タスクはますます困難になります。
幻覚検出はまだ解決されておらず、研究の活発な領域です。このブログポストでは、その一般的なタスクと課題、および研究論文SELFCHECKGPT: Zero-Resource Black-Box Hallucination Detection for Generative Large Language Models[1]で発表された一つの可能なアプローチを紹介します。論文で提示されたアプローチのいくつかを実際の例とともに示し、それぞれの方法の利点と欠点を指摘します。これらの例は、このGoogle Colabノートブックで自分自身で確認することができます。
このブログでは以下をカバーします:
- LLMの幻覚とは何か
- アプローチ:SelfCheckGPT
- 一貫性チェック1. BERTスコア2. Natural Language Inference3. LLMプロンプト
- 実験
- 結論
- 参考文献
LLMの幻覚とは何か
自然言語生成では、幻覚とは「提供されたソースコンテンツに対して、非意味的またはソースコンテンツに忠実でない生成コンテンツ」と定義できます[2]。ソースコンテンツは、異なるタスクに対して異なる機能を表すことができます。たとえば、要約タスクでは、ソースは要約される入力テキストであり、生成型質問回答タスクでは、ソースは世界知識と考えられます[2]。ここでは質問応答タスクに焦点を当て、OpenAIのGPTモデル(text-davinci-003)によるユーザーの質問と回答の例を見てみましょう。
ユーザーのプロンプト:フィリップ・ヘイワースとは誰ですか?
LLMの応答:フィリップ・ヘイワースは、1859年から1868年までテトフォードの国会議員を務めた英国の弁護士と政治家でした。
第一印象ではそれは一貫した回答のように見えますが、しばらくすると非常に合理的な疑問が浮かび上がってきます。それは本当なのでしょうか?
しかし、私たちが新しい質問に答えるための情報はあまりありません。文の検証に使用できる確かな事実を持つコンテキストがありません。LLMは通常、大量のテキストのコーパスでトレーニングされ、その文が特定の情報源に基づいているかどうかを検証することは難しい場合があります。クイックなGoogle検索では、この回答に一致する人物が表示されません。幻覚に具体的に何が含まれるかはまだよく確立されていませんが、この例では、この名前、場所、就業に関連付けられる主体が実在しなかった可能性が理解できます。
別の質問でもう一度試してみましょう:
ユーザーのプロンプト:ビル・ゲイツとは誰ですか?
LLMの応答:ビル・ゲイツは、技術起業家、投資家、慈善家です。彼はMicrosoft Corporationの共同創設者であり、世界で最も富裕な人物の一人です。
オーケー、これらの文は検証が容易で、ウィキペディアでの迅速なチェックによってサポートされているため、これは幻想ではない可能性が高いです。トレーニング中には、LLMがビル・ゲイツに関する多くの文を見ているため、「ビル・ゲイツは_」の後に続くトークンは高い確信度で生成される可能性が非常に高いです。一方、LLMは「フィリップ・ヘイワースは_」の後にどの単語を使用するかについては確信を持っていないかもしれません。この洞察を使うことで、不確実性と事実性を関連付けることができます。事実の文は、幻覚のある文と比較して、より高い確率で予測されたトークンを含む可能性が高いです。ただし、良くない場合にはアウトプットの確率分布が手元にないかもしれません。
現在のセッションの例と内容は、元の論文[1]に基づいています。以下のセクションでは、その論文のアプローチをさらに探っていきます。
アプローチ:SelfCheckGPT
前のセクションでは、アプローチに対して2つの重要な考慮事項がありました:外部コンテキストへのアクセスとLLMのアウトプット確率分布へのアクセス。一貫性のチェックに外部コンテキストやデータベースを必要としないメソッドは、”ゼロリソース”メソッドと呼ぶことができます。同様に、LLMの生成テキストのみを必要とするメソッドは、”ブラックボックス”メソッドと呼ぶことができます。
このブログ投稿で話すアプローチは、ゼロリソースのブラックボックス幻覚検出メソッドであり、サンプル応答が幻覚的な事実であれば互いに発散し、矛盾する可能性があり、事実的な文に対しては互いに類似し、一貫している可能性があるという前提に基づいています。
前の例を再訪してみましょう。検出メソッドを適用するために、さらにいくつかのサンプルが必要ですので、同じ質問をLLMに3回繰り返しましょう。
確かに、回答は互いに矛盾しています – 時にはフィリップ・ヘイワースはイギリスの政治家であり、他のサンプルではオーストラリアのエンジニアまたはアメリカの弁護士であり、それぞれ異なる時代に生き、行動していました。
ビル・ゲイツの例と比較してみましょう:
ビル・ゲイツに割り当てられた職業、組織、特性は、サンプル間で一貫しており、同等または意味的に類似した用語が使用されています。
一貫性チェック
複数のサンプルを持っている今、最後のステップは一貫性をチェックすることです – 回答が互いに一致しているかどうかを判断する方法です。これはいくつかの方法で行うことができますので、論文で提示されたいくつかのアプローチを探ってみましょう。この Google Colab Notebook をチェックしてコードを自分で実行してください。
BERTスコア
このチェックを行うための直感的なアプローチは、サンプル間の意味の類似性を測定することです。BERTスコア[3]はその方法の一つです。BERTスコアは、候補文中の各トークンと参照文中の各トークンとの間の類似度スコアを計算し、文間の類似度スコアを算出します。
SelfCheckGPTの文脈では、スコアは文ごとに計算されます。元の回答の各文は、与えられたサンプルの各文と比較して最も類似した文を探し、最大の類似度スコアがすべてのサンプルに対して平均化され、元の回答の各文に対する最終的な幻覚スコアが算出されます。最終的なスコアは、非類似な文に対しては1に近づき、類似な文に対しては0に近づく必要があるため、類似度スコアから1を引く必要があります。
まず、元の回答の最初の文を最初のサンプルと比較してどのように動作するかを示しましょう:
最初のサンプルの最大スコアは0.69です。残りの2つのサンプルに対して同じプロセスを繰り返し、他の最大スコアが0.72と0.72だと仮定すると、この文の最終スコアは1 — (0.69+0.72+0.72)/3 = 0.29となります。
意味的類似性を使用して一貫性を検証するのは直感的なアプローチです。埋め込み表現には他のエンコーダーも使用できるため、さらに探求できるアプローチでもあります。
自然言語推論
自然言語推論は、前提に基づいて仮説が真であるか、偽であるか、または未定かを判断するタスクです[4]。私たちの場合、各サンプルを前提として、元の回答の各文を仮説として使用します。各文に対するスコアは、サンプル全体で平均化され、最終スコアが得られます。承認は、Multi-NLIデータセットにファインチューニングされたDebertaモデルで行われます[5]。スコア計算には、「承認」や「矛盾」といった実際のクラスではなく、正規化された予測確率を使用します[6]。
承認タスクは、コンシステンシーチェックの目標に近いため、その目的に特化したモデルは良いパフォーマンスを発揮することが期待されます。著者はまた、HuggingFace上でモデルを公開しており、他のNLIモデルも公開されているため、このアプローチは非常に利用しやすいものです。
LLMプロンプト
回答とサンプルの生成にはすでにLLMを使用しているので、コンシステンシーチェックにもLLMを使用できます。各元の文と各サンプルをコンテキストとしてLLMにコンシステンシーチェックのクエリを行うことができます。以下は、オリジナルの論文のリポジトリから取得した画像で、この方法を示しています:
最終スコアは、サンプル全体にわたって「No」に1、「Yes」に0、「N/A」に0.5を割り当て、値を平均化することによって計算できます。
他の2つのアプローチとは異なり、このアプローチでは好みのLLMへの追加の呼び出しが発生します。これは、追加のレイテンシとおそらく追加のコストを伴うことを意味します。一方で、LLMの機能を活用してこのチェックを行うことができます。
実験
3つのアプローチの各例に対して結果として得られるものを見てみましょう。
これらの値は、メソッドを説明するためのものです。3つの文しかないため、それぞれのアプローチを比較し、どれが最適かを決定する手段ではありません。そのため、元の論文はこちらのリポジトリで実験結果を公開しています。公開されていないバージョンも含まれており、このブログ投稿で議論されていないものもあります。私は結果の詳細には触れませんが、NonFact、Factual、およびRankingの3つの評価基準によれば、LLM-Promptが最も優れたパフォーマンスを発揮し、それに続いてNLIバージョンが近い結果となっています。BERTScoreバージョンは、他の2つよりもかなり劣っているようです。私たちのシンプルな例は、共有された結果と一致しているようです。
結論
このブログ投稿がホールシネーションの問題を説明し、ホールシネーションの検出の1つの可能な解決策を提供するのに役立ったことを願っています。これは比較的新しい問題であり、解決策のための取り組みが行われていることは良いことです。
議論されたアプローチは、外部コンテキスト(ゼロリソース)を必要とせず、またLLMの出力確率分布(ブラックボックス)を必要としません。しかし、これにはコストがかかります:元の応答に加えて、一貫性のチェックを実行するために追加のサンプルを生成する必要があり、レイテンシとコストが増加します。一貫性のチェックには、応答をエンベッティングするための追加の計算と言語モデル、テキストの導出をするためのバイナリモデル、またはLLMへのクエリが必要です(選択した方法によります)。
参考文献
[1] — Manakul, Potsawee, Adian Liusie, and Mark JF Gales. “Selfcheckgpt: Zero-resource black-box hallucination detection for generative large language models.” arXiv preprint arXiv:2303.08896 (2023).
[2] — JI, Ziwei et al. Survey of hallucination in natural language generation. ACM Computing Surveys, v. 55, n. 12, p. 1–38, 2023.
[3] — ZHANG, Tianyi et al. Bertscore: Evaluating text generation with bert. arXiv preprint arXiv:1904.09675, 2019.
[4] — https://nlpprogress.com/english/natural_language_inference.html
[5] — Williams, A., Nangia, N., & Bowman, S. R. (2017). A broad-coverage challenge corpus for sentence understanding through inference. arXiv preprint arXiv:1704.05426.
[6] — https://github.com/potsawee/selfcheckgpt/tree/main#selfcheckgpt-usage-nli
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles