利益:
- 幻覚の原因とグラウンディングの役割を解説
- コンテキストにない場合にモデルに「わかりません」と言わせるテクニックを適用する
- 検証可能な出典/引用を回答に追加することで、信頼性と監査可能性を確保します。
言語モデルの最も危険な行動は、自信に満ちた説得力のある口調で、知らないことをでっち上げてしまうことです。これを幻覚といいます。会社のアシスタントの幻覚は迷惑なだけでなく、まったく危険です。間違った休日、間違った価格、間違った法的内容は、実際に従業員や顧客に危害を加える可能性があります。この単元では、幻覚が発生する理由、RAG で幻覚を軽減する方法、およびその答えを検証可能にする方法について説明します。
幻覚の原因は何ですか?
モデルは、次に可能性の高い単語を生成するようにトレーニングされます。 「真実を伝える」のではなく、「流暢で合理的な文章を作成する」のです。情報が欠落している場合は、統計的にはもっともらしいが事実としては間違っているものでギャップを埋めることができます。典型的な 3 つのトリガー:
- 文脈の中に答えはありませんが、モデルはとにかく何かを言わざるを得ないと感じています。
- コンテキストが矛盾しているか不適切です。モデルは予測とのギャップを埋めます。
- 質問は文脈を超えています。モデルは、それ自体の一般的な (おそらくは古い) 知識に戻ります。
RAG はモデルに実際のソースを与えるため、幻覚を軽減しますが、モデルをリセットするわけではありません。間違った部品を持ち込んだり、モデルを「隙間を埋める自由」を残した場合でも、RAG を備えたシステムはそれに適合します。
幻覚の種類
症状
根本原因
溶液層
検索から始まる
正しい答えは文書にありますが、届きませんでした
間違った/不足している部品が納品されました
チャンキング、ハイブリッド、再ランキング (ユニット 3 ~ 4)
生成源
正しい部品が到着しましたが、答えが間違っている/追加する必要があります
モデルは予測とのギャップを埋めた
グラウンディング、「わかりません」許可、創造性の低さ
引用元
答えは正しいがソースが間違っている
モデルが間違った部品を参照しました
引用の検証 (ユニット 8 を参照)
ヒント: 幻覚を 2 つの部分に分けます。取得元: 間違った/欠落している部品が到着しました (解決策: 取得を改善します)。生成ソース: 正しいパーツが到着しましたが、モデルがそれを誤って読み取り/追加しました (解決策: プロンプトと接地)。どれが原因であるか分からない限り、修正することはできません。
グラウンディング: 文脈の中で答えを導き出す
グラウンディングとは、モデルに「私が与えたテキストにのみ依存し、それを超えてはいけない」と伝えるすべてのテクニックに付けられた名前です。彼の最も基本的で最も効果的なテクニックは、モデルに「わかりません」と言う許可を明示的に与えることです。モデルも人間と同じように、「わかりません」と言うのをためらいます。あなたは彼にこれを行うことを明示的に許可しなければなりません。
以下の文脈にのみ基づいて回答してください。答えが文脈から明確でない場合は、「これに関する十分な情報がドキュメントで見つかりませんでした。」と正確に書いてください。文脈に含まれない数字、日付、名前などは含めないでください。推測しないでください。
追加の接地技術:
- 引用の要件: 各主張の前に、文脈をそのまま引用します (「文書には次のように書かれています: '...'」)。モデルにとって、捏造された見積もりを作成することはより困難です。
- 低温: 温度 (温度、創造性/ランダム設定) は低温である必要があります。注: 現在の一部のモデルでは、このパラメータは削除されています。それらでは、プロンプトを使用してグラウンディングを提供します。高い創造性は企業の誠実さの敵です。
- 範囲制限: 「同意ポリシーの問題にのみ対応し、オプトアウトする場合は丁寧に拒否します。」
引用
幻覚に対する最も強力な組織的防御は、答えを検証可能にすることです。回答がどの文書に基づいているのかがわかると、(1) 自分で間違いに気づくことができ、(2) 監査が可能になり、(3) 信頼が高まり、(4) モデルは「出典を引用する必要がある」という意識を持ってより慎重に生成することができます。
2 つの一般的なアプローチ:
インライン帰属: 各クレームの横にあるソースタグ。 「年次休暇は14日です[1]」。以下は [1] の完全なドキュメントです。
構造化された出力: モデルに、回答とソース リストを別のフィールドに生成するよう依頼します。インターフェース内でリソースをクリック可能なリンクとして表示します。
# モデルに基づいて構造化された回答を生成する (概念的) 次の構造で回答を入力してください:- 回答: <コンテキストベースの回答>- ソース: [{"part_no": 1, "file": "...", "section": "..."}]- trust: <high|medium|low> # コンテキストはそれをどの程度明確にサポートしていますか?文脈が回答をサポートしない場合は、回答フィールドに「情報が見つかりません」と記入し、出典を空白のままにしてください。
引用が実際に機能するには、帰属が正しいことを確認する必要があります。モデルは正しい答えを与えても、間違ったソースを与える場合があります。高度なシステムは、生成された各主張が、それが指す部分で実際にサポートされているかどうかを自動的にチェックします (次の単元の「忠実性」の測定)。
弱/強: 幻覚に対するプロンプト
弱い (空白を埋めるよう勧めます):
持っている情報を使用して、できる限り質問に答えてください: {context} 質問: {question}# 「できる限り」とは、モデルに関して「わからない場合は推測する」ことを意味します。
強力 (グラウンディング + 許可が不明 + ソース + 信頼):
CONTEXTだけに頼ってください。それ以外の場合は、「情報が見つかりませんでした」と言います。番号/日付/名前を構成します。各クレームに [n] 個の出典番号を追加します。コンテキストによってサポートされる信頼のレベルを指定します。コンテキスト: [1]...[2]...質問: {question}
ミニケース3個
ケース 1 — でっち上げられた項目番号。パラリーガルは文脈を無視した「第 17 条/B」の声明をでっち上げ、従業員に虚偽の情報を与えました。 「文脈にない記事番号は言わないでください。そうでない場合は知らないと言ってください」+引用義務を加えると、捏造記事は40件中11件から0件に減少した。
ケース 2 — 正しい答え、間違ったソース。サポート アシスタントは正しい返品期間を述べましたが、間違った記事を引用しました。顧客がリンクをクリックすると、無関係なページが開きました。引用検証(引用部分に主張が含まれているかどうかを確認する)を追加すると、虚偽引用率は 23% から 2% に低下しました。
ケース 3 — 「わかりません」の許可が与えられませんでした。人事アシスタントは、文書にない質問に対して、もっともらしいが間違った回答をでっち上げました。明示的な「わかりません」の同意と全文(「ドキュメントでこれに関する情報が見つかりませんでした」)をプロンプトに追加すると、回答のない質問に対する、捏造ではなく正直な拒否率が 8% から 95% に増加しました。
よくある間違い
- 「わからない」を許さない:模型はそのギャップを造形で埋める。
- 創造性を高く保つ: ランダム性は企業の誠実さに悪影響を及ぼします。
- ソースを検証せずに信頼する: モデルは、正しい答えに間違ったソースを添付する可能性があります。
- 2 つのタイプの幻覚を区別していない: 検索によるものなのか、生成によるものなのかを知らずに、間違った場所を修正します。
- 引用を化粧品と間違える: 出典の引用は確認と抑止の両方になります。真剣に受け止めてください。
注意: 「モデルは非常に自信を持っているように見える」ということは、「モデルが正しい」ということと同じではありません。幻覚は一般に、最も流暢で自信に満ちた文章です。文の調子からではなく、信頼が示されている情報源から信頼を読み取ってください。
要約すれば
- 幻覚とは、モデルが情報のギャップをもっともらしいが誤ったテキストで埋めることです。 RAG は減少しますが、リセットされません。
- 幻覚は、検索 (間違った部分) または生成 (間違った読み取り) によって引き起こされる可能性があります。どちらを先に決めてください。
- Grounding の最も強力なテクニックは、モデルに明示的に「わかりません」という許可を与えることです。また、引用が必要であり、創造性が低い。
- 引用することで答えが検証可能になります。それは自信を与えると同時に、モデルを慎重に作成するよう促します。
- 引用の正確性もチェックする必要があります。正解には間違った出典が添付されている可能性があります。
アプリケーションタスク
(1) 文書に答えのない、アシスタントに尋ねる質問(トラップクエスチョン)を 4 つ用意します。弱いプロンプトと強いプロンプトを使用してそれぞれをテストし、モデルが適合するかどうかをマークします。 (2) 回答がドキュメントに記載されている 4 つの質問について、モデルに溶接番号を生成させ、表示される溶接が実際に正しい部品であるかどうかを手動で検証します。 (3) モデルが「正しい答え、間違ったソース」を少なくとも 1 つのケースで与えるかどうかを確認し、これを自動的にキャッチする方法を 1 文で書きます。
チェックリスト
- [ ] 幻覚が起こっている理由はわかりますが、RAG はそれを軽減しますが、リセットはしません。
- [ ] 私は、検索による幻覚と生成による幻覚を区別し、正しい場所を修正することができます。
- [ ] 明示的な「わかりません」許可と根拠ルールをプロンプトに追加しています。
- [ ] 回答に検証可能な出典(引用)を追加しています。
- [ ] 帰属の正確性をさらに確認する必要があることを理解しています。