ナレッジからQAデータセットをノーコードで作り、RAGの性能を評価した
はじめに
こんにちは。NCDCのくらはらです。
この記事は、NCDCで実施したLT会「AI/MLなんでもLT会 LT初心者歓迎!」で発表した資料の補足記事です。
発表資料
RAGの回答精度評価用のQAデータセットを生成AIに作らせた話
補足
3P
RAGの詳細なアーキテクチャについては、下記のリンクなどをご参照ください。
5P
RAGの性能評価について、2024/08時点では確立した指標はないという認識です。あえて評価軸を設けるとするならば、回答速度と回答精度になるのではないかと思います。回答速度に関しては指標をすぐ定められますが、回答精度を計測することは簡単ではありません。
回答精度に関しては、少し前はragasというフレームワークがありました。context relevancyという値とanswer relevancyという値を回答から計算し、回答の確からしさを評価するものです。
6Pにもありますが、2024/08にGuardrails for Amazon BedrockがContext Grounding Checkという機能を提供したので、この指標がこれからのRAG品質評価のスタンダードになるかもしれません。
7P
QAデータセットを作る手法が、Context Grounding Checkよりも優れていると思うところは、以下の2点です。
- テスト用のサンプル質問を入手できる
- QAデータセットの回答を、複数モデル間で出力を比較する際のベンチマークとして扱える
10P
今回QAの作成をノーコードで行いましたが、この手法だと.txtファイルしか扱えません。せめてpdfファイルは扱えるようにしたい。
そのための方法を模索しています。
- PDFやpptxをBedrockに読み取らせるLambdaを作るか?(もはやノーコードではない…)
- Bedrock Studioを用いてアプリを作るか?
15P
これらの課題の中で、特に課題だと思っている点は以下の二つです。
- QAデータセット生成からテストまでを自動化したい
- 評価指標を定量化したい
終わりに
zenn初投稿でした。よろしくお願いします。
RAGのパラメータに変更を加えるたびにサンプル質問が走り、精度が上がったか下がったかを定量的にテストできるようになるといいですね。
RAGを自社で作りたい、精度向上のサイクルをぐるぐる回したいという方がいらっしゃったら、ぜひお問い合わせください。
ここまで読んでくださり、ありがとうございました。
NCDC株式会社( ncdc.co.jp/ )のエンジニアチームです。 募集中のエンジニアのポジションや、採用している技術スタックの紹介などはこちら( github.com/ncdcdev/recruitment )をご覧ください! ※エンジニア以外も記事を投稿することがあります
Discussion