💎

RAGの新しい手法「CRAG」を3分で理解する

2024/03/26に公開

本記事では、最近よく聞くようになった「CRAG」についてざっくり理解します。軽めの記事です。
はじめまして。ナレッジセンスの門脇です。生成AIやRAGシステムを活用したサービスを開発しています。

RAGの新手法「CRAG」を3分で理解する

この記事は何

この記事は、RAGの新手法として最近注目されている「Corrective Retrieval Augmented Generation (CRAG)」の論文[1]について、日本語で簡単にまとめたものです。
https://arxiv.org/abs/2401.15884

「そもそもRAGとは?」については、知っている前提で進みます。確認する場合は以下の記事もご参考下さい。
https://zenn.dev/knowledgesense/articles/47de9ead8029ba

本題

ざっくりサマリー

RAGの性能を高めるための新しい手法です。Googleなどの研究者によって2024年2月に提案されました。CRAG(日本語にすると「修正型検索拡張生成」)という手法を使うメリットは、ハルシネーション(幻覚)を減らせることです。CRAGが従来の「RAG」よりもハルシネーションを減らせる理由は、RAGシステムで取得してきたドキュメントをLLMに渡す前に、「そのドキュメントの内容が正しいものなのか」自動でチェックするという機能を取り入れているからです。チェックの結果、誤っていると判断された場合は、Web検索をして追加で知識を取得してから回答します。

問題意識


大規模言語モデル(LLM)は便利ですが、時に事実と異なる内容を生成してしまうハルシネーション(「幻覚」)の問題があります。
この問題に対し、外部の知識を参照してから生成する手法としてRAGが注目されています。しかしRAGでは、参照した文書自体に誤った内容が書かれていると、かえって性能が低くなります。(人間でも同じですが...)

手法

RAGの新手法「CRAG」を3分で理解する

本論文では、RAGの検索結果を修正・改善する手法「Corrective Retrieval Augmented Generation (CRAG)」を提案しています。CRAGの主なポイントは以下の3つです。

  1. 検索評価モデルによる検索品質の判定
    検索した文書の内容が入力に適しているかを、軽量な検索評価モデルで判定します。判定結果に基づいて、文書の修正や追加検索をします
  2. Webからの知識収集
    検索した文書が不十分な場合、Webを使って追加の知識を収集します。これにより、「そもそもRAGで取得してきたドキュメントが間違っていた場合」に知識を補うことが出来ます。
  3. 文書の分解・再構成
    検索した文書を細かく分解し、ドキュメントを減らしたり、再構成したりします。これによりノイズ情報を除去し、回答性能を高めます。

※注意点として、企業が社内データを利用してRAGをするとき、Web検索したとしても結局回答に辿り着くようなドキュメントを見つけられないことも多いと思います。しかしながら、「このドキュメントからは答えを導けません」と回答できるようにする(幻覚を減らす)ためのチェック機能こそが、この手法の本質だと思います。

成果


論文ではCRAGとRAGを、先行研究の「Self-RAG」[2]とも組み合わせて検証しています。その結果、CRAGを用いることでRAGやSelf-RAGの性能の向上が示唆されています。

まとめ

この度の内容は、RAGのテクニックの中でもかなり応用的ですが、CRAGは一般的な技術ブログでも登場するようになってきています(例えば[3])。みなさまが業務でRAGシステムを構築する際も、ハルシネーションを防ぐ仕組みとして参考にしていただければ幸いです。今後、先行研究の「Self-RAG」や「RAG Fusion」についても機会があれば記事にする予定です。

脚注
  1. "Corrective Retrieval Augmented Generation", Shi-Qi Yan et al. ↩︎

  2. "Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection", Akari Asai et al. ↩︎

  3. "Advanced RAG Techniques" ↩︎

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

Discussion