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

[IBM TechXchange Dojo]Watson Discoveryとwatsonx....

siyuanzh
January 14, 2025

[IBM TechXchange Dojo]Watson Discoveryとwatsonx.aiでRAGを実現!座学①

[IBM TechXchange Dojo]Watson Discoveryとwatsonx.aiでRAGを実現!
座学①

siyuanzh

January 14, 2025
Tweet

More Decks by siyuanzh

Other Decks in Technology

Transcript

  1. 目的 • Watson Discoveryとwatsonx.aiを活用した、RAG実装による 高度な文書検索支援ソリューションの実現について、事例を交えて解説する ゴール • RAGの概念を理解する • 「Watson

    Discovery」による外部情報の検索を組み合わせたRAGを理解する • 事例からWatson Discovery + watsonx.aiによるRAGのメリットや課題を理解する このセッションについて
  2. 本日のアジェンダ 時間 タイトル 講師 16:30-16:55 オープニング、座学① 日本アイ・ビー・エム株式会社 張 16:55-17:10 事例のご紹介

    株式会社システムリサーチ 毛利 17:10-17:20 座学②、デモ 株式会社システムリサーチ 桑原 17:20-17:25 Q&A 株式会社システムリサーチ 17:25-17:30 クロージング 日本アイ・ビー・エム株式会社 張
  3. 自己紹介 これまでの経歴: 2024年 • watsonx製品を中心に様々な案件を担当し、生成AIを活用したソリューションを提案 • 数々のお客様との共創活動に関わり、プロジェクトのスケジュール管理及び技術支援 • 製品導入のフェーズにおいて、お客様側の技術者の方々へ製品活用研修/セミナーを提供 2023年

    • 3月 東京大学大学院学際情報学府卒業 • 4月 日本IBMに入社 • 9月 生成AIに関するIBM Dojoシリーズを担当 • 10月 IBM TechXchange Conference Japanデモ担当 2019年 • アメリカミシガン大学卒業 ちょう しえん 張 斯媛 カスタマー・サクセス AIソリューション担当
  4. • RAGとは? • RAGの実用例 • RAG実装のメリット • RAGの流れ • Watson

    DiscoveryによるRAG実装の裏はどんな検索プロセス? • Watson Discoveryの検索手法や検索フロー • Watson Discoveryを検索エンジンとして使う場合のコード例 • 3種類の検索方法によるRAG実装の比較 座学①
  5. RAGの実用例 • 膨大なページ数を有する文書の要約 課題: 大量の文書の中にある情報の損失、一回あたりの処理コストが高い 解決策: 要約に必要な情報を収集するためにRAGを活用して質問を行う • API検索エージェント 課題:

    大量のYAMLファイルを検索して処理し、その情報をLLMに提供する 解決策: Q&AのためにRAGを使用して処理されたYAMLファイルを検索する • コールセンター支援ボット 課題: ユーザーのチャット履歴から自動的にRAG検索 解決策: RAGを使用して次のステップに必要な関連情報をチャット履歴から取得する
  6. RAG実装のメリット ✓ 大規模言語モデルのトレーニングに使用されなかったデータを取り扱うことが できる ✓ 新しい情報や特定のドメインに特化したデータも ✓ 実際には存在しない情報や事実を創り出してしまう「ハルシネーション」問題 を軽減 ✓

    関連性が高い情報だけLLMに投入することで、「Lost in the middle」問題を 軽減(生成AIが入力コンテキストから必要な情報を見つけ、それを用いて質問 に答えるタスクにおいて、長文コンテキストの真ん中に重要情報がある場合に それを見逃す問題) 低コストで効果的に精度を向上させることが可能!
  7. RAGの流れ ユーザー質問に基づき 関連する複数の情報を 渡す watsonx.ai プロンプトに関連情報を 以下のように入れる: 以下の段落を読んで、質問に答 えてください: [段落

    1] [段落 2] [段落 3] 質問:[ユーザーの質問] 回答: ユーザーからの質問 ナレッジベースから 関連情報の検索 (ベクトルデーターベース /Watson Discovery)
  8. RAGの流れ ユーザー質問に基づき 関連する複数の情報を 渡す watsonx.ai プロンプトに関連情報を 以下のように入れる 以下の段落を読んで、質問に答 えてください: [段落

    1] [段落 2] [段落 3] 質問:[ユーザーの質問] 回答: ユーザーからの質問 ナレッジベースから 関連情報の検索 (ベクトルデーターベース /Watson Discovery)
  9. Watson Discoveryの検索フロー ③フィルター filter パラメーターを query および natural_language_query 要求と一 緒に渡して、特定の基準を満たさない文書を結果セットから削除するこ

    とが可能 ④回答の検出 passages.find_answers=true パラメーターが自然言 語照会要求に含まれている場合、文書から抽出された パッセージとともにパッセージから簡潔応答を返しま す。 回答の検出が有効になっている場合、各検索結 果の最終的な信頼性スコアは、回答の検出、パッセー ジの取得、および QPP または Reranked 検索のいず れかの方法による信頼性スコアの組み合わせになる ②関連性トレーニング 関連性について文書をスコアリン グするために、オプションで定義 してプロジェクトに適用すること ができるモデル ①BM25 ベスト・マッチ 25 (確率的情報取得アルゴリ ズム) を使用して、検索によって返される各 文書の関連性スコアを計算します。 自然言語照会結果に適用される関連性トレー ニング・ランカー・プロセスの一部として、 関連性トレーニングなどとともに使用される
  10. Watson Discoveryがどのように回答検索してるのか? 回答が使用可能な場合は、同義語および字句のバリエーション を処理します。 ✓ 質問の例: “When did IBM purchase

    Red Hat? ✓ パッセージ: “IBM closed its $34 billion acquisition of Red Hat in July of 2019." 例) “IBMの2022年の売上はいくらか? ” IBMの2022年の売上がいくらか書いてある文書があれば、正しい答えを得ることが できます。 しかし、IBMの2022年の各四半期の収益が記載された文書があったと しても、それらを合計して合計を出すことは行いません。 パッセージ 回答 1. ユーザーが自然言語で質問を入力 2. 文書群から文書を検索 3. 回答を含むパッセージ(文節)を検索 4. [新規部分] パッセージの中から、さらに回答の箇所を検索
  11. Watson Discoveryの検索精度改善の手法 照会をチューニング • 同義語登録 • ストップワードの設定 • エンリッチメントとファ セット検索機能

    ランキングをチューニング • 関連性トレーニング Answer Findingは検索 された各文書から回答 を検索するモデルを事 前に用意。チューニン グ不要
  12. 意味検索(ベクトル検索) 3種類の検索方法によるRAG実装の比較 キーワード検索 Watson Discovery による自然文検索 意味検索(ベクトル検索) 検索アプローチ キーワードの完全一致をベース に結果を取得

    AND/OR、フレーズ検索などに よる条件指定で検索 BM25による検索 結果に対し、 ユーザーによる関連性トレーニ ングや辞書登録への理解をもと に再ランキング 類似した特徴を共有する関連オ ブジェクトを検索 曖昧さへの対応 曖昧な表現・類義語には弱く、 適切なキーワードを正確に指定 する必要がある 類義語および字句のバリエー ションは対応可能のため、ある 程度曖昧な表現にも対応 同義語や曖昧な表現を扱いやす いが、Embedding Modelに依存 関連性 クエリに含まれるキーワードが 合致すれば高い関連性スコアを 得られる、入力がずれるとヒッ トしない場合が多い Watson独自の解析パイプライン +アルゴリズムで再ランキング し、ユーザーフィードバックを 組み込んだ形での最適化も可能 高い次元での意味的近さを指標 にするため、キーワード依存が 比較的低く、ざっくりしたクエ リにも対応 スピードと拡張性 インデックス読み取りが単純な ため高速かつ拡張性も高い 大量ドキュメントでもBM25など を活用すればスケールしやすい、 ドキュメント数が膨大になるほ ど費用や調整が増える 複雑なベクトル計算が必要のた め、計算に時間が掛かる、ス ケーリングに苦労する
  13. 意味検索(ベクトル検索) キーワード検索 Watson Discovery による自然文検索 意味検索(ベクトル検索) 検索品質 ほとんどがキーワードの完全一 致に依存、キーワード設計さえ 適切なら高精度だが、曖昧な問

    い合わせには不向き AIモデルの学習状況やドメイン 固有のチューニング精度に依存 複数の技法を組み合わせるため、 検索エンジンとしてバランスの 良い結果を返す パラメータ調整次第でノイズも 拾いやすいが、ユーザーが曖昧 なキーワードを入れてもある程 度はヒットする 幅広いクエリに対応できる コスト 計算量が少ない、 コストが低い Watson Discovery のサブスクリ プション費用や照会量、ドキュ メント量に応じた課金 高次元ベクトルを保存・検索す る基盤が必要、ストレージ・計 算リソースを大きく消費する 運用 インデックス再作成をするだけ で比較的簡単 ルールベースが中心なので運用 がシンプル GUI、APIからの文書追加・更新 文書をインデックスした後に、 関連性トレーニングで検索精度 を調整が必要 文書追加で都度ベクトル化のス テップが必要、文書をインデッ クスする際のチャンク化などで 検索精度を調整が必要 3種類の検索方法によるRAG実装の比較
  14. ✓RAGとは、大規模言語モデル(LLM)によるテキスト生成に外部情報の検 索を組み合わせることで、回答精度を向上させる技術。 ✓RAG実装のメリット ✓大量な文書から検索し、関連性が高い情報だけLLMに投入することで、 生成AIの「ハルシネーション」や「Lost in the middle」問題軽減が期 待できる ✓Watson

    Discoveryの検索は、 ✓BM25による確率的情報取得アルゴリズムを使用して、検索によって返 される各文書の関連性スコアを計算 ✓ユーザーによる関連性トレーニングによる再ランキング などの技法を組み合わせた関連性トレーニング・ランカー プロセス まとめ