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

AWSサービスだけを使って独自データを扱える生成AIサービス(RAG)を作ってみよう

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

 AWSサービスだけを使って独自データを扱える生成AIサービス(RAG)を作ってみよう

Avatar for NRI Netcom

NRI Netcom PRO

March 24, 2024
Tweet

More Decks by NRI Netcom

Other Decks in Technology

Transcript

  1. AWSサービスだけを使って独自データを扱える生成AI サービス(RAG)を作ってみよう NRIネットコム TECH & DESIGN STUDY #25 2024年 3月

    5日 NRIネットコム株式会社 デジタルイノベーション事業本部 クラウド事業推進部 堤 拓哉
  2. 1 Copyright(C) NRI Netcom, Ltd. All rights reserved. 自己紹介 01

    RAGとは? 02 AWSでの構築方法の紹介 03 まとめ 04 #nncstudy
  3. 2 Copyright(C) NRI Netcom, Ltd. All rights reserved. 自己紹介 ◼

    名前: 堤 拓哉(つつみ たくや) ◼ 業務: データ分析基盤の運用、構築 ◼ 好きなAWSサービス: Amazon Bedrock ◼ 生成AIに興味があり、いろいろブログ書いてます #nncstudy
  4. 4 Copyright(C) NRI Netcom, Ltd. All rights reserved. RAGとは ◼

    RAG: Retrieval-Augmented Generation(検索拡張生成) ⚫ 外部の情報ソースから情報を検索し、その内容を基に大規模言語モデル(LLM)に回答させることで 回答精度を向上させる手法 1. 質問を入力 2. 質問に関連する情報検索結果を取得 3. 質問+検索結果を入力しテキスト生成 4. 回答を出力 野村総合研究所ウェブサイト 用語解説より引用(https://www.nri.com/jp/knowledge/glossary/lst/alphabet/rag) #nncstudy
  5. 5 Copyright(C) NRI Netcom, Ltd. All rights reserved. 補足(質問に関連する関連する情報検索) ◼

    外部情報はベクトル形式で保存(ベクトルDB) 1. 質問文をベクトル化(Embedding) 2. ベクトル検索して質問文と意味が似た文書を取得(Retirieval) 野村総合研究所ウェブサイト 用語解説より引用(https://www.nri.com/jp/knowledge/glossary/lst/alphabet/rag) #nncstudy
  6. 7 Copyright(C) NRI Netcom, Ltd. All rights reserved. AWSでの構築方法の紹介 ◼

    RAGをAWS上で構築する手法を4パターン紹介 ⚫ Amazon Q (For Business Use) ⚫ Knowledge base for Amazon Bedrock ⚫ Bedrock + Kendra ⚫ Bedrock + ベクトルDB ◼ それぞれの手法を費用、自由度、実装量で比較(主観) #nncstudy
  7. 8 Copyright(C) NRI Netcom, Ltd. All rights reserved. Amazon Q

    (For Business Use) AWSでの構築方法の紹介 ◼ Amazon Qにはfor AWS builder Use(開発者向け)とfor Business Use(非開発者向け)の2つがある ◼ For AWS builder Use ⚫ AWSの専門知識について答えてくれるチャットボット ⚫ コンソール画面上から使うことが出来る #nncstudy
  8. 9 Copyright(C) NRI Netcom, Ltd. All rights reserved. Amazon Q

    (For Business Use) AWSでの構築方法の紹介 ◼ Amazon Q (For Business Use) ⚫ 企業内のドキュメントについて回答してもらえるチャットボットを作成できる ⚫ 40以上のデータソースに対応 ⚫ ブログ書きました「【re:Invent 2023】Amazon Qの社内での利活用例を学ぶワークショップに参加しました」 【re:Invent 2023】Amazon Qの社内での利活用例を学ぶワークショップに参加しました https://tech.nri-net.com/entry/aws_reinvent2023_participated_in_a_workshop #nncstudy
  9. 10 Copyright(C) NRI Netcom, Ltd. All rights reserved. Amazon Q

    (For Business Use) AWSでの構築方法の紹介 ◼ 利用方法 1. Amazon Qアプリケーションの作成 2. Retrieverとデータソースの選択 3. チャット データソースの選択 チャット画面 #nncstudy
  10. 11 Copyright(C) NRI Netcom, Ltd. All rights reserved. Amazon Q

    (For Business Use) AWSでの構築方法の紹介 ◼ コスト ・・・ △ ⚫ 1 ユーザーあたり 20 USD/月かかる ※現在はプレビュー期間のため、データ保存料金以外は無料で利用可能 ◼ 自由度・・・ △ ⚫ システムプロンプトの修正などはできない ◼ 実装量・・・ ◎ ⚫ コンソール上のみで開発ができる 野村総合研究所ウェブサイト 用語解説より引用 (https://www.nri.com/jp/knowledge/glossary/lst/alphabet/rag) 実装不要 #nncstudy
  11. 12 Copyright(C) NRI Netcom, Ltd. All rights reserved. Knowledge base

    for Amazon Bedrock AWSでの構築方法の ◼ Bedrockで簡単にRAGを作ることができるサービス ⚫ S3に保存したファイルを自動でベクトル化→ベクトルDBに保存してくれる ⚫ ベクトルデータベースとして使えるのは下の4つ ⚫ Amazon OpenSearch Serverless ⚫ Pinecone ⚫ Redis Enterprise Cloud ⚫ Amazon Aurora #nncstudy
  12. 13 Copyright(C) NRI Netcom, Ltd. All rights reserved. Knowledge base

    for Amazon Bedrock AWSでの構築方法の紹介 ◼ コスト ・・・〇 ⚫ OpenSearch Serverlessだと少し高いがPineconeなどを使えば料金を抑えられる ◼ 自由度・・・ 〇 ⚫ チャンクサイズ(文書の分割数)のカスタムやEmbeddingモデルの選択ができる ⚫ 言語モデルは現在Claudeのみ使用可能 ⚫ 3/1 ハイブリッド検索がサポート(セマンティック検索とキーワード検索の組み合わせ) ◼ 実装量・・・ 〇 ⚫ OpenSearch Serverless以外は ベクトルDBのセットアップを行う必要あり ⚫ Embeddingの実装をする必要はない 野村総合研究所ウェブサイト 用語解説より引用 (https://www.nri.com/jp/knowledge/glossary/lst/alphabet/rag) 実装不要 自前で実装 #nncstudy
  13. 14 Copyright(C) NRI Netcom, Ltd. All rights reserved. Bedrock +

    Kendra AWSでの構築方法の紹介 ◼ エンタープライズ検索サービスのAmazon Kendraをデータソースとして利用する構成 ⚫ Embaddingする必要がなく、データソースと接続するだけで使える ⚫ 50 以上のサービスへアクセス可能 ⚫ ユーザーフィルタリング機能がある エンタープライズ検索エンジン-Amazon Kendra https://aws.amazon.com/jp/kendra/ #nncstudy
  14. 15 Copyright(C) NRI Netcom, Ltd. All rights reserved. Bedrock +

    Kendra AWSでの構築方法の紹介 ◼Kendraの主な機能紹介 ⚫ セマンティック検索 ⚫ 以前はキーワード検索だけしかできなかったが、セマンティック検索に日本語が対応 ⚫ メタデータを付与した検索 ⚫ メタデータを使用した検索ができる(PDFファイルに絞った検索など) ⚫ チューニング ⚫ クエリの自動補完 ⚫ 類義語検索 ⚫ … キーワード検索 セマンティック検索 Amazon Kendra で簡単に検索システムを作ってみよう ! https://aws.amazon.com/jp/builders-flash/202302/kendra-search-system #nncstudy
  15. 16 Copyright(C) NRI Netcom, Ltd. All rights reserved. Bedrock +

    Kendra AWSでの構築方法の紹介 ◼ コスト ・・・△ ⚫ Developer Edition ・・・ $810/月(750 時間の無料利用枠) ⚫ Enterprise Edition ・・・ $1,008/月 ◼ 自由度・・・ 〇 ⚫ Kendraの様々な機能を使える ⚫ セマンティックサーチ ⚫ メタデータ検索 ⚫ ユーザーフィルタリング ⚫ 50種類以上のデータソースに対応 ⚫ 好きなモデルを選択可能 ◼ 実装量・・・ 〇 ⚫ Embeddingの実装をする必要はない ⚫ Bedrockとの接続は実装する必要あり 野村総合研究所ウェブサイト 用語解説より引用 (https://www.nri.com/jp/knowledge/glossary/lst/alphabet/rag) 実装不要 自前で実装 #nncstudy
  16. 17 Copyright(C) NRI Netcom, Ltd. All rights reserved. Bedrock +

    ベクトルDB AWSでの構築方法の紹介 ◼ 全部自前で実装する方式 ◼ 様々なモデルやベクトルDBを自分で選択して構築することができる ◼ 言語モデル ⚫ AI21 Labs - urassic-2 Ultra ⚫ Amazon - Titan Text G1 – Express ⚫ Anthropic – Claude ⚫ Cohere – Command ◼ Embeddingモデル ⚫ Amazon - Titan Embeddings G1 – Text ⚫ Amazon - Titan Multimodal Embeddings G1 ⚫ Cohere - Embed English ◼ ベクトルDB ⚫ Amazon OpenSearch Serverless ⚫ Pinecone ⚫ Redis Enterprise Cloud ⚫ Amazon Aurora #nncstudy
  17. 18 Copyright(C) NRI Netcom, Ltd. All rights reserved. Bedrock +

    ベクトルDB AWSでの構築方法の紹介 ◼ RAGの精度向上手法はいろいろある ◼ 自前で実装することで色々な手法を試すことができる #nncstudy データソースの 前処理 プロンプト エンジニアリング チャンキング の工夫 クエリ変換 Rerank HyDE
  18. 19 Copyright(C) NRI Netcom, Ltd. All rights reserved. Bedrock +

    ベクトルDB AWSでの構築方法の紹介 ◼ コスト ・・・ 〇 ⚫ 自分の好きなモデル、ベクトルDBを使える ◼ 自由度・・・ ◎ ⚫ 様々な精度向上手法を試すことができる ⚫ 最新のモデルもすぐ使える(Claude 3) ⚫ 他ベンダーのモデルも使える ◼ 実装量・・・ △ ⚫ すべて自分で実装する必要あり 野村総合研究所ウェブサイト 用語解説より引用 (https://www.nri.com/jp/knowledge/glossary/lst/alphabet/rag) 自前で実装 #nncstudy
  19. 21 Copyright(C) NRI Netcom, Ltd. All rights reserved. まとめ AWSでの構築方法の紹介

    コスト 自由度 実装量 Amazon Q (For Business Use) △ △ ◎ Knowledge base for Amazon Bedrock ◦ ◦ ◦ Bedrock + Kendra △ ◦ ◦ Bedrock + ベクトルDB ◦ ◎ △ ◼ AWS上でのRAGの構築方法を4パターン紹介 ◼ とにかくすぐ使いたい。RAGを体験してみたい → Amazon Q (For Business Use) ◼ とりあえずRAGを導入したい(おすすめ) → Knowledge base for Amazon Bedrock ◼ エンタープライズでの利用、データソースのアクセス制限したい → Bedrock + Kendra ◼ 色々カスタマイズしたい。AWS以外のモデルやDBも使いたい → Bedrock + ベクトルDB #nncstudy