Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Amazon Kendra GenAI Index 登場でどう変わる? 評価から学ぶ最適なRAG構成

Naoki
December 16, 2024

Amazon Kendra GenAI Index 登場でどう変わる? 評価から学ぶ最適なRAG構成

Naoki

December 16, 2024
Tweet

More Decks by Naoki

Other Decks in Technology

Transcript

  1. 自己紹介 2 石原 直樹 (いしはら なおき) 株式会社セゾンテクノロジー : @Ishihara_Naok1 •経歴

    2022年当社新卒入社 2023年金融グループ企業のCCoE 2024年生成AI活用プロジェクトリード •主な選出歴 2023 Japan AWS Jr. Champions AWS Community Builder (Machine Learning & Generative AI) 2024 Japan AWS Top Engineers (Machine Learning)
  2. アジェンダ ⚫ RAGとは? ⚫ Amazon Kendra GenAI Indexとは? ⚫ Amazon

    Bedrock Knowledge Bases 新旧機能比較 ⚫ 新旧ナレッジベース構築&データ同期手順 ⚫ 新旧ナレッジベース回答評価 ⚫ 追加検証 ⚫ まとめ
  3. • LLMが未学習の情報を外部から取得し、ハルシネーションを抑えて精度の高い回答 を生成する手法 RAGとは? RAGの構成要素 • データソース: 回答に必要な情報を含む文書 • チャンク分割:

    テキストを小単位に分割 • 埋め込みモデル: テキストをベクトル化 • ベクターストア: ベクトル検索で関連チャンクを取得 (0.2,0.9…-0.1) ベクターストア ~~~~~ ~~~~~ (0.1,0.7…0.2) (0.5,0.6…0.3) ~~~~~~ ~~~~~~ チャンク分割 ベクトル化 ベクトル化 埋め込み モデル ~~~~~ ~~~~~ ~~~~~ ~~~~~ 検索 (0.2,0.8…-0.1) LLM チャンクを取得 データソース 回答生成 RAG構成図
  4. (0.2,0.9…-0.1) ~~~~~ ~~~~~ (0.1,0.7…0.2) (0.5,0.6…0.3) ~~~~~~ ~~~~~~ チャンク分割 ベクトル化 埋め込み

    モデル ~~~~~ ~~~~~ ~~~~~ ~~~~~ (0.2,0.8…-0.1) チャンクを取得 データソース Amazon Bedrock Amazon Bedrock 埋め込みモデル Amazon Bedrock LLM 6 • AWSでは「Amazon Bedrock Knowledge Bases」を利用することで、 RAGを簡単に構築・運用できる。 Amazon Bedrock Knowledge Bases ベクターストア (AWS or 3rd party) AWSでRAGを構築する方法
  5. • AWS re:Invent 2024 で発表されたAmazon KendraのRAG特化機能 • Amazon Bedrock Knowledge

    Basesと統合 ※ AWSが提供する全文検索サービス https://www.youtube.com/watch?v=qGzYTg5FIA4 Amazon Kendra GenAI Indexとは? ※
  6. 比較項目 Amazon Bedrock Knowledge Bases with vector store (従来の機能) Amazon

    Bedrock Knowledge Base with Kendra GenAI Index (新機能) チャンク分割 固定サイズ, チャンキングなし, 階層的, セマンティック AWSマネージドで提供 埋め込みモデル Amazon Titan Embeddings G1 - Text, Amazon Titan Text Embeddings V2, Cohere Embed (英語/多言語) AWSマネージドで提供 ベクターストア Amazon OpenSearch Serverless, Amazon Neptune, Amazon Aurora, Pinecone, Redis Enterprise Cloud, MongoDB Atlas AWSマネージドで提供 検索 ハイブリッド検索, セマンティック検索 ハイブリッド検索 データストア Amazon S3 , Confluence, Microsoft SharePoint, Salesforce, Web Crawler, カスタムデータソース 43種類のソース(SharePoint, OneDrive, Google Drive, Salesforce等) 最低料金 $244.5 $ 230.4 新旧機能の回答を比較し、技術選定時の判断材料にする! Amazon Bedrock Knowledge Bases 新旧機能比較表
  7. 1. データソースにS3(事前に作成したバケット)を指定 2. 埋め込みモデルにTitan Text Embeddings v2を選択 3. ベクトルストアにAmazon OpenSearch

    Serverlessを指定 4. 上記3項目以外は全てデフォルトのまま「作成」を実行 Amazon Bedrock Knowledge Base with vector store 構築手順
  8. 1. ナレッジベース作成後の画面で「Add in Kendra」を選択 3. ナレッジベースの画面に戻り、「同期」を選択 2. Data sourcesで「Amazon S3

    Connector」を選択 Data source bucketに作成したS3バケットを設定し、データソースを追加 Amazon Bedrock Knowledge Base with Kendra GenAI Index データ同期手順
  9. • 読み込ませるドキュメント(英語) Amazon Bedrock Documentation User Guide https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-bedrock.html • 評価用データセット(日本語)

    AWS公式サイト「Amazon Bedrockのよくある質問」(47問) https://aws.amazon.com/jp/bedrock/faqs/?refid=07e11748-d254-4d68-b9eb-c40a095bfc9d 評価に使用するデータ
  10. ナレッジベース構成 Correctness (正確性) Completeness (完全性) Helpfulness (有用性) Logical coherence (論理的整合性)

    Faithfulness (忠実性) vector store 0.59 0.49 0.79 1.00 0.83 Kendra GenAI Index 0.57 0.54 0.79 1.00 0.88 Kendra GenAI Index は忠実性と完全性においてやや優れるが、 RAGにおける重要な指標である正確性ではvector storeが上回っている 評価結果
  11. Advancedオプションを追加したナレッジベース • Advanced Parsing • 表・画像・グラフなど、様々な情報ソースから生成aiによりテキスト変換 • Advanced Chunking (Semantic

    / Hierarchical) • Semantic Chunking:意味的関連性を基にチャンク分割 • Hierarchical Chunking:階層構造により親チャンク・子チャンクを管理 よって以下設定を追加しナレッジベースをもう一つ作成 • テキスト抽出モデル:「Claude 3.5 Sonnet」 • チャンク戦略:「Hierarchical」 • 親チャンクサイズ:2000 • 子チャンクサイズ:200 ※ 回答精度向上のための高度な設定機能 ※
  12. ナレッジベース構成 Correctness (正確性) Completeness (完全性) Helpfulness (有用性) Logical coherence (論理的整合性)

    Faithfulness (忠実性) vector store (ほぼデフォルト) 0.59 0.49 0.79 1.00 0.83 Kendra GenAI Index 0.57 0.54 0.79 1.00 0.88 vector store (Advanced) 0.57 0.53 0.74 0.99 0.78 Advancedオプションを使用したとしても精度が上がるとは限らない 比較結果
  13. • 読み込ませるドキュメントは同じ Amazon Bedrock Documentation User Guide • 評価用データセットは変更 AWS公式サイト「Amazon

    Bedrock FAQs 78問」(英語) https://aws.amazon.com/jp/bedrock/faqs/?refid=07e11748-d254-4d68-b9eb-c40a095bfc9d 英語のデータセットを使用したケース
  14. ナレッジベース構成 Correctness (正確性) Completeness (完全性) Helpfulness (有用性) Logical coherence (論理的整合性)

    Faithfulness (忠実性) vector store (ほぼデフォルト) 0.53 0.49 0.79 1.00 0.91 Kendra GenAI Index 0.62 0.57 0.8 1.00 0.89 vector store (Advanced) 0.55 0.49 0.79 1.00 0.89 • 評価用データセットを変更したところ、Kendra GenAI Indexの評価が高くなった • RAGに読み込ませるドキュメントは同一でも、評価用データセットに応じて結果は変動する 比較結果(英語のデータセットを使用したケース)
  15. • Amazon Kendra GenAI Index を使えば、複雑な設定なしでRAGを構築可能 • Amazon Bedrock Knowledge

    Bases上で、RAGの評価を手軽に実施できる • 最適なRAG構成は、読み込ませるデータやユースケースに合わせて変化する まとめ →ユースケースごとに適したデータセットを用いて、都度評価することが重要 https://qiita.com/Naoki_Ishihara/items/7de55bb8fe0878b23371