Hallucination (in LLMs)
LLMにおけるAIハルシネーション(幻覚)の原因とリスクを探究します。RAG、RLHF、およびUltralytics YOLO26によるグラウンディングを使用して、事実誤認を軽減する方法を学びましょう。
**人工知能 (AI)**の領域において、ハルシネーション(幻覚)とは、Large Language Model (LLM)が自信に満ちており構文的には正しいものの、事実とは異なる、無意味な、あるいはソース入力に忠実ではないコンテンツを生成する現象を指します。クラッシュや目に見える不具合を引き起こす可能性のある標準的なソフトウェアエラーとは異なり、ハルシネーションを起こすモデルは、説得力のある架空の存在のように振る舞い、有効な事実と同じ権威を持って誤った情報を提示します。これは、データの整合性が最も重要となる医療、法律、金融などの機密分野にGenerative AIを導入する組織にとって、大きな課題となります。
なぜハルシネーションが発生するのか?#
モデルがハルシネーションを起こす理由を理解するには、それらがどのように構築されているかを見るのが役立ちます。LLMは通常、洗練された予測エンジンとして機能するTransformerアーキテクチャに基づいています。検証された事実の構造化されたデータベースにクエリを実行する代わりに、モデルはtraining dataから得られた統計的確率に基づいて、シーケンス内の次のtokenを予測します。
この振る舞いを引き起こすいくつかの要因を以下に挙げます:
- 確率的推測: モデルは、事実の真実よりも流暢さと一貫性を優先します。特定の単語のシーケンスが統計的に確率が高い場合(たとえ事実が間違っていても)、モデルはそれを生成する可能性があります。この概念は、モデルが意味を理解せずに言語パターンを模倣するstochastic parrotsに関する研究でよく議論されます。
- データ品質の問題: 学習に使用された膨大なテキストコーパスに矛盾、古い情報、またはフィクションが含まれている場合、モデルはそれらの不正確な情報を再現する可能性があります。
- ソースアムネジア: LLMは、膨大な量の情報をmodel weightsに圧縮します。このプロセスにおいて、特定のソースへのリンクが失われることが多く、個別の概念やイベントが不適切に統合される「確信的誤認(コンファビュレーション)」につながります。
ハルシネーションの現実的な例#
ハルシネーションは、無害な創造的修飾から深刻な事実誤認まで、さまざまな形で現れます:
- 法務専門家がAIを使用して準備書面を作成したものの、議論を裏付けるためにモデルが存在しない裁判例や引用を捏造していたことが判明したという文書化された事例があります。
- コード生成: AIアシスタントを使用する開発者は「パッケージのハルシネーション」に遭遇することがあります。これは、モデルが標準的な命名規則に従っているという理由だけで、実際には存在しないソフトウェアライブラリのインポートや、存在しない関数の呼び出しを提案する現象です。
- 伝記的な誤り: あまり有名ではない個人について尋ねられた際、モデルは誤った業績、出生地、経歴を自信を持って帰属させ、複数の人物の情報を混同してしまうことがあります。
軽減戦略#
ハルシネーションの頻度を減らすことは、AI Safetyの主要な焦点です。エンジニアや研究者は、モデルを現実に即すためにいくつかのテクニックを採用しています。
- 検索拡張生成 (RAG): この方法では、LLMを外部の信頼できるナレッジベースに接続します。これは多くの場合、vector databaseにインデックス付けされています。回答を生成する前に、関連するドキュメントを取得することにより、モデルは実際のデータに制約されます。
- 思考連鎖プロンプティング (Chain-of-Thought Prompting): このprompt engineeringテクニックは、複雑な推論を中間ステップに分解することでモデルに「自分の作業を示す」よう促し、論理エラーを減らすことがよくあります。
- 人間のフィードバックによる強化学習 (RLHF): 微調整の段階で、人間の評価者がモデルの回答をランク付けします。ハルシネーションにペナルティを与え、正確さに報酬を与えることで、モデルは人間の期待により適した振る舞いを学習します。
コンピュータビジョンによるLLMのグラウンディング#
In Multimodal AIシステムでは、テキスト生成を視覚データに基づいて行うことができます。LLMがシーンの説明を求められたとき、そこに存在しないオブジェクトをハルシネーション(幻覚)として生成する可能性があります。YOLO26のような高精度なオブジェクト検出器を統合することで、開発者は検出されたオブジェクトの事実に基づくリストをLLMに提供し、その出力を検証された検出結果に厳しく制限することができます。
以下のPythonの例は、ultralyticsパッケージを使用して、検証済みのオブジェクトリストを抽出し、言語モデルのプロンプトの事実上の制約として機能させる方法を示しています。
from ultralytics import YOLO
# Load the YOLO26n model (latest generation, efficient and accurate)
model = YOLO("yolo26n.pt")
# Run inference on an image to get ground-truth detections
results = model("https://ultralytics.com/images/bus.jpg")
# Extract the class names of actually detected objects
detected_objects = [model.names[int(c)] for c in results[0].boxes.cls]
# This factual list prevents the LLM from hallucinating items
print(f"Verified Objects for Prompt Context: {detected_objects}")
# Output example: ['bus', 'person', 'person', 'person', 'person']関連する概念との違い#
ハルシネーションを他の一般的なAIエラーと区別することが重要です:
- 対 Bias in AI: バイアスとは、出力における系統的な偏見(例:ある人口統計層を別の層よりも優遇すること)を指しますが、ハルシネーションは事実の正確性の失敗です。応答はバイアスがなく、ハルシネーションを起こしている可能性があります(例:「月はチーズでできている」)。
- 対 Overfitting: 過剰適合(オーバーフィッティング)は、モデルがトレーニングデータをあまりにも密に記憶し、新しい入力に一般化できない場合に発生します。ハルシネーションは、モデルがデータが不足している領域にあまりにも多く一般化しようとするときによく発生します。
- 対 誤分類: object detectionにおいて、車をトラックとしてラベル付けすることは分類エラー(精度の問題)であり、ハルシネーションではありません。ハルシネーションは、誤ったコンテンツの生成的な作成に特有のものです。
ダウンストリームのエラーを防ぐために、高いデータ整合性でデータセットを管理しモデルをトレーニングしたいと考えている人々に向けて、Ultralytics Platformは、アノテーションとデータセット管理のための包括的なツールを提供しています。さらに、NIST AI Risk Management Frameworkからのガイダンスは、本番環境におけるこれらのリスクを評価および軽減するための標準を提供します。






