🤥

AIに「分からない」と言わせるための「RAG」の手法

に公開

株式会社ナレッジセンスは、生成AIやRAGを使ったプロダクトを、エンタープライズ向けに開発提供しているスタートアップです。本記事では、RAGシステムがより正直に、知らないことには「分からない」と言えるようにするための手法「DTA(Divide-Then-Align)」について、ざっくり理解します。

この記事は何

この記事は、RAGの新手法である「DTA」の論文[1]について、日本語で簡単にまとめたものです。

https://arxiv.org/abs/2505.20871

今回も「そもそもRAGとは?」については、知っている前提で進みます。確認する場合は、こちらの記事もご参考下さい。

本題

ざっくりサマリー

AIに「分からない」と言わせるためのRAG手法

DTAは、RAGの精度を上げるための新しい手法です。USTCやCASIAなどの研究者らによって2025年5月に提案されました。

通常のRAGでは、外部ソースから検索して得た情報を直接利用して、最終的な回答を生成します。ただ、これだけだとLLMの元から持っている知識(=内部知識)を活かせません。そこで、「Astute RAG」や「RAFT」などの手法では、外部・内部の知識を組み合わせて回答できるようにして、精度向上しています。

ただ、これらの手法も完璧ではありません。本当は内部も外部も、全部の情報を使っても 「回答できないはず」 の質問であっても、無理やり、回答生成してしまうことがあります。これは、ハルシネーション(幻覚)に繋がります。

そこで、DTAは、LLMの内部知識と外部知識の両方を考慮して、 本当に回答できない質問には「分からない」と答えられるようにします。 こうすることで、医療や金融など、かなりの信頼性が求められる場面でも、RAGを使うことができるようになります。

問題意識

AIに「分からない」と言わせるためのRAG手法

RAFTのような内部・外部知識を融合する手法では、回答精度は高いものの、ハルシネーションは起こしがちになります。これは、モデルが、「自分自身の知識の限界を認識する」ということがかなり難しいため、起きてしまう問題です。

手法

DTAでは、以下のステップでRAGの回答精度を高めます。
AIに「分からない」と言わせるためのRAG手法

【事前にやっておくこと】

  1. データセットの構築
    • 既存の質問応答データセットについて、LLMの内部知識で回答可能か (KB_param) と、外部知識に正解が存在するか (KB_r) というニ軸で評価
    • それぞれに◯✕がつくので、合計4つのグループに分かれる(例えば「LLMも知っており、かつ、検索結果にも関連情報がある。」など)
  2. ファインチューニング
    • それぞれのデータセットにて、さらにラベリング。不明な回答や誤答を「望ましくない回答」とする
    • ただし、1にて✕✕となったデータセット(=「LLMも知らず、検索結果にも関連情報がない」)については、「分からない」という回答を「望ましい回答」としてラベリングする
    • 上記のデータ(10,000サンプル)を用いて、DPO(Direct Preference Optimization) する。(RAFTで訓練されたモデルを、さらにファインチューニング)

【ユーザーが質問を入力して来たとき】
上記で訓練したモデルを使って回答生成させる。(それ以外は通常のRAGと同じ)

DTA手法のキモは、AIが「知らない」と答えるべき状況(✕✕象限の部分)を明確に定義している点です。こうすることで、そういう状況では『分からない』と答えることが正解なのだと、効率的に教えることができています。

成果

AIに「分からない」と言わせるためのRAG手法

  • 従来のRAFTモデルなど他の手法と比較して、回答精度を維持しつつ、「分からない」と適切に表明する能力(Abstain F1スコアなど)が向上
  • 特に、知識が全くないケース(✕✕の部分)でも、適切に「分からない」と回答する能力が大幅に向上

まとめ

弊社では普段、エンタープライズ企業向けにRAGサービスを提供しています。だからこそ、ハルシネーション対策は非常に重要です。特に、「回答精度を上げつつ、ハルシネーションは一切起こさないようする」というバランスを取りながらの開発は、結構、難しいポイントです。

企業によりますが、「生成AI入門者」が多い企業だと、「AIが一度でもハルシネーションを起こすと、それを体験したユーザーは二度と使ってくれない」というのは、まだまだ、よくある話です。

2025年はRAGがマルチモーダル化していくに従い、「不安定な情報であってもRAGに取り込む」みたいな手法が増えてくると思います。だからこそ、AI自身に知識の境界をメタ認知させることは、今後もますます重要になりそうです。

みなさまが業務でRAGシステムを構築する際も、選択肢として参考にしていただければ幸いです。今後も、RAGの回答精度を上げるような工夫や研究について、記事にしていこうと思います。我々が開発しているサービスはこちら

脚注
  1. "Divide-Then-Align: Honest Alignment based on the Knowledge Boundary of RAG", Sun et al. ↩︎

ナレッジセンス - AI知見共有ブログ

Discussion