【LLMセキュリティ】ゼロリソースブラックボックスでの幻覚(ハルシネーション)検出

【LLMセキュリティ】ゼロリソースブラックボックスでの幻覚(ハルシネーション)検出
Photo by Will / Unsplash

こんにちは、Qualiteg研究部です。

今回は、データベースなど外部の情報を使用しない「ゼロリソース」状態での幻覚(ハルシネーション)検出の手法である以下論文について解説いたします。

SelfCheckGPT: Zero-Resource Black-Box Hallucination Detection for Generative Large Language Models
https://arxiv.org/abs/2303.08896

背景 LLMが出力する「幻覚」の問題

近年、生成型大規模言語モデル(LLMs)は、多様なユーザープロンプトに対して非常に流暢な応答を生成する能力を持っています。
しかし、これらのモデルは事実を幻覚させたり、非事実的な発言をすることが知られており、出力への信頼性を損なう可能性があります。
この問題に対処するための既存のファクトチェック手法は、出力確率分布へのアクセスが必要だったり、外部データベースを使用した複雑なモジュールを必要としたりします。

本論文では、SelfCheckGPTと呼ばれる新しいアプローチを提案しています。このアプローチは、ゼロリソースでブラックボックスモデルの応答をファクトチェックするためのシンプルなサンプリングベースの手法です。
SelfCheckGPTは、LLMがある概念についての知識を持っている場合、サンプルされた応答が類似しており、一貫した事実を含んでいる可能性が高いというシンプルな考えに基づいています。しかし、幻覚された事実の場合、確率的にサンプルされた応答は異なることが多く、お互いに矛盾する可能性があります。

幻覚検出の仕組みをざっくりいうと、

まず原理を簡単に説明します。

  1. ある入力プロンプトでLLMに応答を出力させます。
  2. さらに、同じ入力プロンプトをつかってLLMに複数の応答を出力させます。
  3. 複数応答させた出力テキストと、もとの出力を比較し、どれも同じことを言っているなら、「幻覚なし」、出力どうしを比較すると内容がマチマチなら「幻覚あり」
  4. 出力がマチマチになっていないかどうか、の評価のことを「一貫性の評価」といいます。この一貫性の評価手法にはいくつかあり、それぞれの長所短所があるよ、ということが書いてあります。

それでは、もう少しこれを詳細にみていきましょう。

本手法を用いた幻覚検出の利点

以下のように、大それた仕組みが不要で幻覚検出ができる点がメリットとなります

  • 外部データベースが不要
    サンプリングのみでモデルの知識を評価できるため、外部リソースを使用しなくてもブラックボックスモデルに適用可能な点
  • ゼロリソースアプローチ:
    モデル内部の確率分布や外部データに依存せず、純粋に生成されたテキストの一致性・一貫性で評価できる点

サンプリングによる多様な応答生成

まず、与えられたユーザープロンプトに対してLLM(大規模言語モデル)から複数の応答を生成します。このとき、応答を確率的にサンプリングすることで多様性を持たせます。

(「サンプリング」とはここでは、同じプロンプトを使って複数の応答を生成することを指します。)

サンプリングの手順

  • 特定のプロンプトを言語モデルに与え、モデルが生成する応答を複数回取得します。これにより、応答にバリエーションが生まれます。
  • たとえば、「ジョン・スミスはどんな職業ですか?」というプロンプトを与えると、モデルは複数の異なる職業を生成するかもしれません。

温度パラメータ(temperature)の使用

  • サンプリングの際に、温度パラメータを調整することで、応答の多様性を制御します。温度を高く設定するとランダム性が増し、より多様な応答が得られます。
  • 論文では、主応答の生成には温度0.0で標準ビームサーチを用い、サンプル応答の生成には温度1.0を用いて多様な応答を生成しています。

一貫性の評価

生成された複数のサンプル応答を比較し、それらがどれだけ一貫しているかを測定します。一貫している情報は事実である可能性が高く、ばらつきがある情報は幻覚である可能性があります。

一貫性の評価には、BERTScore、質問応答、n-gramモデル、自然言語推論(NLI)、プロンプトによる評価などの手法が用いられます。例えば、BERTScoreでは応答内の文とサンプル応答内の文をBERTを用いて類似度を測定し、一貫性を評価します。質問応答では、主応答から自動生成された質問に対する回答がサンプル応答でも一致しているかを確認します。n-gramモデルでは、サンプルから作成されたモデルを使い、元の応答内の文の出現確率を評価し、出現確率が低い場合は幻覚である可能性が高いと判断します。また、NLIでは、応答がサンプルと矛盾しているかを評価し、矛盾が多い場合は幻覚とみなします。さらに、プロンプトによる評価では、LLMに対して文がサンプルによって支持されているかをYes/Noで評価させ、一貫性を測ります。

一貫性の評価手法のまとめ

以下は一貫性=内容のばらつきの有無を確認する 評価の手法を以下にまとめました

手法 概要 利点 評価
BERTScoreを用いた手法 応答内の文をサンプル応答内の文と比較し、BERTを用いて類似度を測定 BERTを使用し、文の意味的な類似性を高精度で評価可能 他の手法に比べて劣ることがあるが、一部のケースで有用
質問応答を用いた手法(QA) 自動生成された選択肢付き質問を使用し、応答の一貫性を評価 質問応答の形式で情報を具体的に検証し、一貫性の高い情報を特定可能 中程度の性能で、特に詳細な情報検証が必要な場合に効果的
n-gramモデルを用いた手法 サンプルからn-gramモデルを作成し、応答内の文の出現確率を評価 簡単で計算コストが低く、トークン出現の確率を利用して幻覚を検出 大規模データで効果的だが、単独では限界がある
自然言語推論(NLI)を用いた手法 文がサンプルと矛盾しているかをNLIモデルで評価 文間の論理的一貫性を評価することで、幻覚検出に高い精度を示す 非常に高い性能を示し、実用的な選択肢
プロンプトを用いた手法 LLMに対して、文がサンプルによって支持されているかをプロンプトを使ってYes/Noで評価 直感的でシンプルな方法で、特に最新の言語モデルを利用する場合に有効 最も高い性能を示し、全体的に優れた方法

幻覚スコアの計算

こうして得られた一貫性の情報を基に、各文に幻覚スコアを計算します。このスコアは0.0から1.0の範囲で、0.0に近いほど事実に基づいており、1.0に近いほど幻覚であることを示します。検出の基本原理として、LLMが特定の情報について正確な知識を持っている場合、サンプリングされた応答は類似しており、一貫した事実を含む傾向があります。逆に、幻覚された事実はサンプル応答の間でばらつきがあり、矛盾が生じやすくなります。このように、SelfCheckGPTは応答の一貫性を基に幻覚を検出するアプローチを採用しています。

結論とおすすめの手法

  • 最も効果的な手法
    論文の結果から、プロンプトを用いた手法(SelfCheckGPT with Prompt)は最も高い精度を示しており、特に新しい言語モデル(例えばGPT-3.5やそれ以上)を用いる場合において最適です。この手法は、一貫性の高い評価を行うため、幻覚検出において最も信頼性が高いと報告されています。
  • 複数手法の組み合わせ
    それぞれの手法が異なるアプローチを提供するため、複数の手法を組み合わせることで、検出の精度をさらに向上させることができます。特に、プロンプト手法とNLI手法の組み合わせは、性能と計算コストのバランスが良く、幅広いシナリオに対応可能であることがわかりました。

まとめ

実際の利用シナリオによって、計算コストや利用可能なリソースが異なるため、どの手法を選択するかは状況によりますが以下のポイントを考慮して選択することが最終的に必要になるのではないでしょうか。

  1. 高精度を求める場合:
    プロンプト手法をメインに、必要に応じてNLI手法を補完的に使用。
  2. 計算コストを抑えたい場合
    n-gram手法やBERTScore手法を組み合わせて利用。
  3. 細かい検証が必要な場合:
    質問応答手法を利用して、詳細な一貫性評価を行う。

LLM-Audit ™のご紹介

Qualiteg では、LLMのセキュリティソリューション「LLM-Audit™」を開発・提供しております。
LLMがビジネス活用されるにつれ、LLMへの各種攻撃が活発化しています。
一方で、これまでのWebセキュリティとはまた異なったLLMへの攻撃についてはまだ知見も乏しく防衛手段も確立していません。

(株)Qualiteg では、LLMサービス開発・運営を通して得た経験・知見を集めた LLM防衛ソリューション 「LLM-Audit™」※をご提供しています。

※本論文にある SelfcheckGPTによるハルシネーションの検出にも対応しています。

また、悪意ある入力プロンプトのブロック、LLMによる不適切な出力の監査を強力に実行しLLMの安全、安心を実現することができます。

OpenAI API 互換サーバーとして貴社LLMをラッピングするだけで利用できますので非常に小さな導入コストで高度化したLLMセキュリティを実現することが可能です。

LLMセキュリティやLLM-Audit™ にご関心がおありの場合は以下までご連絡くださいませ。またLLMセキュリティコンサルティングや製品デモについてもどうぞお気軽にこちらのお問い合わせフォームまでご連絡くださいませ。

Read more

AIがよく間違える「クロージャ問題」の本質と対策

AIがよく間違える「クロージャ問題」の本質と対策

こんにちは! 本日は「クロージャ問題」に関する話題となります。 Pythonでループ内に関数を定義したことはありますか? もしあるなら、あれれ?な挙動に遭遇したことがあるかもしれません。 本稿では、Pythonプログラマーなら一度は経験する「クロージャ問題」について、初心者にもわかりやすく解説してみたいとおもいます クロージャとは何か? そもそも ”クロージャ” とは何でしょうか。 クロージャ(closure)とは、関数が自分の定義されたスコープの変数を覚えて持ち運ぶ仕組み のことです。 もう少し分解すると、次の2つがポイントとなります 1. 内側の関数が、外側の関数の変数を使える 2. 外側の関数が終了しても、その変数は生き続ける 普通の関数とクロージャ―を使った関数を比較してみましょう 普通の関数との比較 まずは普通の関数から、 def add(x, y): return x + y print(add(3, 5)) # 8 print(add(3, 7)

By Qualiteg プロダクト開発部
フリーランスHub様にQualiteg Blogをご紹介いただきました

フリーランスHub様にQualiteg Blogをご紹介いただきました

この度、フリーランス向け案件検索サービス「フリーランスHub」様の特集記事「トレンドをキャッチアップ!AIに関する情報が得られるメディア・ブログまとめ」にて、弊社が運営する「Qualiteg Blog」をご紹介いただきました。 掲載記事について フリーランスHub様の記事では、AI技術の最前線で活躍するエンジニアや開発者の方々に向けて、価値ある情報源となるメディア・ブログが厳選して紹介されています。 その中で、Qualiteg Blogを「AI技術の専門知識を実践的なビジネス活用につなげる貴重な情報源」として取り上げていただきました。 特に以下の点を評価いただいております * 実践的なビジネス活用事例の提供 AI新規事業創出や事業選定方法など、経営者やビジネスリーダーが直面する課題への具体的な解決策 * 技術的な深掘りコンテンツ リップシンク技術など、実際のサービスで使用されている技術の開発現場目線での詳細な解説 * 多様な情報発信 代表執筆記事、AIトピックス、講演会動画など、幅広いフォーマットでの情報提供 今後も価値ある情報発

By Qualiteg ニュース
PyTorchの重いCUDA処理を非同期化したらメモリリークした話と、その解決策

PyTorchの重いCUDA処理を非同期化したらメモリリークした話と、その解決策

こんにちは!Qualitegプロダクト開発部です! 今回は同期メソッドを非同期メソッド(async)化しただけなのに、思わぬメモリリーク※に見舞われたお話です。 深層学習モデルを使った動画処理システムを開発していた時のことです。 「処理の進捗をリアルタイムでWebSocketで通知したい」という要件があり、「単にasync/awaitを使えばいいだけでしょ?」と軽く考えていたら、思わぬ落とし穴にはまりました。 プロ仕様のGPUを使っていたにも関わらず、メモリ不足でクラッシュしてしまいました。 この記事では、その原因と解決策、そして学んだ教訓を詳しく共有したいと思います。同じような問題に直面している方の参考になれば幸いです。 ※ 厳密には「メモリリーク」ではなく「メモリの解放遅延」ですが、 実用上の影響は同じなので、この記事では便宜上「メモリリーク」と表現します。 背景:なぜ進捗通知は非同期である必要があるのか モダンなWebアプリケーションの要求 最近のWebアプリケーション開発では、ユーザー体験を向上させるため、長時間かかる処理の進捗をリアルタイムで表示することが

By Qualiteg プロダクト開発部
ゼロトラスト時代のLLMセキュリティ完全ガイド:ガーディアンエージェントへの進化を見据えて

ゼロトラスト時代のLLMセキュリティ完全ガイド:ガーディアンエージェントへの進化を見据えて

こんにちは! 今日はセキュリティの新たな考え方「ゼロトラスト」とLLMを中心としたAIセキュリティについて解説いたします! はじめに 3つのパラダイムシフトが同時に起きている いま、企業のIT環境では3つの大きな変革が起ころうとしています。 1つ目は「境界防御からゼロトラストへ」というセキュリティモデルの転換。 2つ目は「LLMの爆発的普及」による新たなリスクの出現。 そして3つ目は「AIエージェント時代の到来」とそれに伴う「ガーディアンエージェント」という新概念の登場です。 これらは別々の出来事のように見えて、実は密接に関連しています。本記事では、この3つの変革がどのように結びつき、企業がどのような対策を取るべきかを解説いたします 目次 1. はじめに:3つのパラダイムシフトが同時に起きている 2. 第1の変革:ゼロトラストという新しいセキュリティ思想 3. 第2の変革:LLM時代の到来とその影響 4. 第3の変革:AIエージェントとガーディアンエージェント 5. 3つの変革を統合する:実践的なアプローチ 6. 実装のベストプラクティス 7. 日本

By Qualiteg コンサルティング