Slide 1

Slide 1 text

RAG の研究を元に予測する、 これからのエンジニアに求められるスキル JAWS-UG 山梨 第 0 回 サメ発表会

Slide 2

Slide 2 text

Who am I ? Issei Hamada • 神奈川県 横浜市 出身 • アドバンステクノロジーさんとの仕事を通して、山梨に縁を頂きました • ソニーグループ史上初の Japan AWS Ambassador を拝命 • 最近ハマっているAWSサービスは AWS Amplify です Sonybiz Networks Corporation

Slide 3

Slide 3 text

イントロダクション 皆さん、生成 AI 使ってますか?

Slide 4

Slide 4 text

イントロダクション ⚫生成 AI に対して最も期待されるユースケース 「FAQ」 4 User 生成 AI

Slide 5

Slide 5 text

イントロダクション ⚫生成 AI に対して最も期待されるユースケース 「FAQ」 5 User 生成 AI 「RAG」 という言葉を聞くようになったのでは ?

Slide 6

Slide 6 text

イントロダクション ⚫生成 AI に対して最も期待されるユースケース 「FAQ」 6 User 生成 AI 「RAG」 について学ぶと、これからの生成 AI 活用で 何が求められるのかを理解出来る

Slide 7

Slide 7 text

7 ⚫本日の目標 !! 1 「RAG」 の基本を 理解する 「RAG」 という分野で、 どんな事が研究されている のかを知る これからのエンジニアに 求められるスキルについて 考える 2 3 本日のゴール Gen AI Journey イントロダクション

Slide 8

Slide 8 text

Agenda RAG の研究を元に予測する、 これからのエンジニアに求められるスキル ⚫「RAG」 の基本 ⚫「RAG」 研究における現在のパラダイム ⚫これからのエンジニアに求められるスキル

Slide 9

Slide 9 text

Agenda RAG の研究を元に予測する、 これからのエンジニアに求められるスキル ⚫「RAG」 の基本 ⚫「RAG」 研究における現在のパラダイム ⚫これからのエンジニアに求められるスキル

Slide 10

Slide 10 text

「RAG」 の基本 ⚫RAG = 「Retrieval-Augmented Generation」 • 初めにユーザーの入力に対して情報検索を行い、得られた結果を元に回答を生成してを返す手法 10 検索 プロンプト LLM 質問 回答

Slide 11

Slide 11 text

「RAG」 の基本 検索の精度 回答生成の信頼性 拡張が困難 ⚫初期 RAG の課題 • 検索精度の向上が難しい • 再現性を確保できない • 検索結果からハルシネーションを 生成する事がある • 出力に偏りが発生し、品質・信頼 性の低下を招く • 取得した情報を様々なタスクに 統合する事が困難 • 出力が一貫しない 11

Slide 12

Slide 12 text

「RAG」 の基本 検索の精度 回答生成の信頼性 拡張が困難 ⚫初期 RAG の課題 • 検索精度の向上が難しい • 再現性を確保できない • 検索結果からハルシネーションを 生成する事がある • 出力に偏りが発生し、品質・信頼 性の低下を招く • 取得した情報を様々なタスクに 統合する事が困難 • 出力が一貫しない 12 この課題を克服する為、 様々なアプローチの研究が進んだ

Slide 13

Slide 13 text

「RAG」 の基本 ⚫(参考) RAGの研究 は ChatGPT の登場以降、凄まじいスピードで発展している (出典) Retrieval-Augmented Generation for Large Language Models: A Survey https://arxiv.org/abs/2312.10997 ⚫ 「葉」 の部分一つひとつがアルゴリズム ⚫ 2020年頃から少しずつ増え始め、2023 年の ChatGPT 登場以降、一気に増えている 13

Slide 14

Slide 14 text

Agenda RAG の研究を元に予測する、 これからのエンジニアに求められるスキル ⚫「RAG」 の基本 ⚫「RAG」 研究における現在のパラダイム ⚫これからのエンジニアに求められるスキル

Slide 15

Slide 15 text

「RAG」 研究における現在のパラダイム ⚫現在の RAG 分類 ⚫ アーキテクチャによって、三種類に大別される • Naive RAG • Advanced RAG • Modular RAG (出典) Retrieval-Augmented Generation for Large Language Models: A Survey https://arxiv.org/abs/2312.10997 15

Slide 16

Slide 16 text

「RAG」 研究における現在のパラダイム ⚫初期の RAG - Naive RAG ⚫ 最初に紹介した初期のアプローチ ⚫ シンプルなワークフロー 1. 検索 2. 生成 3. 出力 (出典) Retrieval-Augmented Generation for Large Language Models: A Survey https://arxiv.org/abs/2312.10997 16

Slide 17

Slide 17 text

「RAG」 研究における現在のパラダイム ⚫Naive RAG を改良し、Advanced RAG が考案された ⚫ 検索精度向上の為、様々な改良を実施 • インデックス生成プロセスの改良 • 検索前後に処理を追加 (出典) Retrieval-Augmented Generation for Large Language Models: A Survey https://arxiv.org/abs/2312.10997 17 検索後処理 検索前処理

Slide 18

Slide 18 text

「RAG」 研究における現在のパラダイム ⚫Advanced RAG のざっくりイメージ ⚫ 検索精度向上の為、様々な改良を実施 • インデックス生成プロセスの改良 • 検索前後に処理を追加 (出典) Retrieval-Augmented Generation for Large Language Models: A Survey https://arxiv.org/abs/2312.10997 18 検索後処理でデータを絞り込む 検索前処理で適切なデータを取得して、

Slide 19

Slide 19 text

「RAG」 研究における現在のパラダイム Query Expansion クエリ拡張 Query Transformation クエリ変換 Query Routing クエリルーティング ⚫適切なデータを取得する為の検索前処理 - クエリ最適化 19

Slide 20

Slide 20 text

「RAG」 研究における現在のパラダイム Query Expansion クエリ拡張 • ざっくり 「同じ事を、色々なパターンで何度も聞く」 手法 • クエリを複数生成して、並列に実行 • 複数のクエリを通じて幅広く結果を取得する事で、関連性の高い回答を 取得する ⚫適切なデータを取得する為の検索前処理 - クエリ最適化 20

Slide 21

Slide 21 text

「RAG」 研究における現在のパラダイム Query Expansion クエリ拡張 • (参考) LangChain での実装例: MultiQueryRetriever - 書かれているプロンプト: あなたは AI 言語モデルのアシスタントです。 あなたのタスクは、指定されたユーザー の質問から5つの異なるバージョンを生成し、 ベクトルデータベースから関連する ドキュメントを取得することです。 ユーザーの質問に対して複数の視点を生成すること で、 ユーザーは、距離ベースの類似性検索の制限の一部を克服します。 これらの 代替質問を改行で区切って入力してください。 元の質問: {question} ⚫適切なデータを取得する為の検索前処理 - クエリ最適化 https://python.langchain.com/v0.1/docs/modules/data_connection/retrievers/MultiQueryRetriever/ 21

Slide 22

Slide 22 text

「RAG」 研究における現在のパラダイム Query Transformation クエリ変換 • ざっくり 「検索前に入力を確認する」 アプローチ • ユーザーの入力をそのまま検索クエリとして扱うと、誤字・脱字や 表記揺れに よって検索精度が低下することが考えられる • ユーザーが入力した質問に変換を加えることで、ユーザーの意図をより正確に 反映したクエリに変換する ⚫適切なデータを取得する為の検索前処理 - クエリ最適化 22

Slide 23

Slide 23 text

「RAG」 研究における現在のパラダイム Query Transformation クエリ変換 • (参考) クエリ変換の実装例: Rewrite-Retrieve-Read - 知識ベースとして Web 検索を挟むアプローチ - 対話履歴に基づいて Web 検索を行い、検索クエリ生成、対話生成と文章 補完の為の知識抽出を繰り返し実行する - 例: 「綾辻行人の文学的功績は?」 - (思考): 「綾辻行人について検索し、彼の執筆した書籍や経歴を調べる必要がある」 - (検索): 「綾辻行人は、日本の小説家・推理作家。京都府京都市出身。妻は……」 - (回答): 「綾辻行人の功績は、新本格派ミステリというジャンルを作り上げた点である。」 ⚫適切なデータを取得する為の検索前処理 - クエリ最適化 23 https://book.st-hakky.com/data-science/query-transformation/

Slide 24

Slide 24 text

「RAG」 研究における現在のパラダイム Query Routing クエリルーティング • ざっくり 「最適な解決策を実行する」 アプローチ • RAG の利用が進むにつれてデータが多様化する - グラフデータベース - リレーショナルデータベース - 画像 - 映像 …… etc • アプローチが充実するほど、ルーティングの仕組みが重要になる - メタデータルーター/フィルター - セマンティックルーター ⚫適切なデータを取得する為の検索前処理 - クエリ最適化 24

Slide 25

Slide 25 text

「RAG」 研究における現在のパラダイム Query Expansion クエリ拡張 Query Transformation クエリ変換 Query Routing クエリルーティング ⚫これらによって、たくさんの情報を取得できるようになった !! 25

Slide 26

Slide 26 text

「RAG」 研究における現在のパラダイム Query Expansion クエリ拡張 Query Transformation クエリ変換 Query Routing クエリルーティング ⚫これらによって、たくさんの情報を取得できるようになった !! 26 取得出来る情報、多くね …… ?

Slide 27

Slide 27 text

「RAG」 研究における現在のパラダイム ⚫Advanced RAG における検索後処理 ⚫ 関連する文書を全て LLM に取り込むと、情報過多に 陥り、重要な詳細への焦点が無関係なコンテンツによっ て薄れてしまう (出典) Retrieval-Augmented Generation for Large Language Models: A Survey https://arxiv.org/abs/2312.10997 27

Slide 28

Slide 28 text

「RAG」 研究における現在のパラダイム ⚫Advanced RAG における検索後処理 ⚫ 関連する文書を全て LLM に取り込むと、情報過多に 陥り、重要な詳細への焦点が無関係なコンテンツによっ て薄れてしまう (出典) Retrieval-Augmented Generation for Large Language Models: A Survey https://arxiv.org/abs/2312.10997 28 検索後の処理で、重要な情報の選択、重要なセクションの 強調、処理されるコンテキストの短縮を行う

Slide 29

Slide 29 text

「RAG」 研究における現在のパラダイム Rerank Summary Fusion ⚫適切なデータを絞り込む為の検索後処理 29

Slide 30

Slide 30 text

「RAG」 研究における現在のパラダイム ⚫適切なデータを絞り込む為の検索後処理 実装例: RAG-Fusion ⚫ クエリ拡張で取得した結果をランキングし、LLM へ渡す • 正確には、検索前後のどちらも含んだアプローチ • 作者曰く、「決定を下す前に全員の意見を聞くことを 主張する人物だと考えてください。」 https://towardsdatascience.com/forget-rag-the-future-is-rag-fusion-1147298d8ad1 30

Slide 31

Slide 31 text

「RAG」 研究における現在のパラダイム ⚫適切なデータを絞り込む為の検索後処理 実装例: RAG-Fusion ⚫ 例: 3 つのクエリ A, B, C から 1 つずつデータを取得した 場合、以下も考慮してランク付を行う • クエリ A から取得したデータと、クエリ B, C との関連性 • クエリ B から取得したデータと、クエリ A, C との関連性 • クエリ C から取得したデータと、クエリ A, B との関連性 https://towardsdatascience.com/forget-rag-the-future-is-rag-fusion-1147298d8ad1 31

Slide 32

Slide 32 text

「RAG」 研究における現在のパラダイム ⚫Advanced RAG のざっくりイメージ ⚫ 検索精度向上の為、様々な改良を実施 • インデックス生成プロセスの改良 • 検索前後に処理を追加 (出典) Retrieval-Augmented Generation for Large Language Models: A Survey https://arxiv.org/abs/2312.10997 32 検索後処理でデータを絞り込む 検索前処理で適切なデータを取得して、

Slide 33

Slide 33 text

「RAG」 研究における現在のパラダイム ⚫Advanced RAG ⚫ 検索精度向上の為、様々な改良を実施 • インデックス生成プロセスの改良 • 検索前後に処理を追加 (出典) Retrieval-Augmented Generation for Large Language Models: A Survey https://arxiv.org/abs/2312.10997 33 「工夫」って感じで、 親しみやすくない ?

Slide 34

Slide 34 text

「RAG」 研究における現在のパラダイム ⚫Modular RAG ⚫ 与えられた課題に対して、必要な処理を都度構成して実行する ⚫ 類似性検索用の検索モジュールの追加や、ファインチューニング による検索機能の改良が施されている (出典) Retrieval-Augmented Generation for Large Language Models: A Survey https://arxiv.org/abs/2312.10997 34

Slide 35

Slide 35 text

「RAG」 研究における現在のパラダイム ⚫Modular RAG のワークフロー例 (出典) Retrieval-Augmented Generation for Large Language Models: A Survey https://arxiv.org/abs/2312.10997 35 Advanced RAG でお馴染みの アプローチもある 最適なワークフローを構成・実行

Slide 36

Slide 36 text

「RAG」 研究における現在のパラダイム RAG の種類 扱われている手法 最適解はまだ無い ⚫RAG 研究から感じて欲しかった事 • 目的はシンプル - いかに適切な情報を取得するか - いかに情報を整理して、質の良い 情報を LLM に連携するか • 意外と泥臭い事をやっている • プログラミングとは一味違った「工夫」 が多くて、理解しやすくない ? • ユーザの環境によって、最適な手法が 異なる • 現状は、自分の環境に合わせて自分で 最適な手法を見つけて実装する必要が ある 36

Slide 37

Slide 37 text

Agenda RAG の研究を元に予測する、 これからのエンジニアに求められるスキル ⚫「RAG」 の基本 ⚫「RAG」 研究における現在のパラダイム ⚫これからのエンジニアに求められるスキル

Slide 38

Slide 38 text

これからのエンジニアに求められるスキル 38

Slide 39

Slide 39 text

これからのエンジニアに求められるスキル 「検索」に関するスキル 39

Slide 40

Slide 40 text

これからのエンジニアに求められるスキル 「検索」に関するスキル ⚫ 生成 AI が様々なシステムに組み込まれていく事を考えると、RAG も 必ず様々な部分に組み込まれていく事が想定される ⚫ RAG で最も重要なのは、正確な情報を探し出す 「検索」 の技術 ⚫ 「検索」 は今後 RAG と向き合う時、必ず役に立つ 40

Slide 41

Slide 41 text

これからのエンジニアに求められるスキル 「検索」に関するスキル プロンプトエンジニアリング 41

Slide 42

Slide 42 text

これからのエンジニアに求められるスキル プロンプトエンジニアリング ⚫ プロンプトの設計は生成 AI 技術の根幹 • タスクの精度や安全性に直結する ⚫ 生成 AI を扱う為の基礎スキルとして、今後当たり前になっていく 42

Slide 43

Slide 43 text

これからのエンジニアに求められるスキル 「検索」に関するスキル プロンプトエンジニアリング 既存の技術スタック 43

Slide 44

Slide 44 text

これからのエンジニアに求められるスキル 既存の技術スタック ⚫ 生成 AI の一番の価値は、あらゆるサービスに組み込めて、ちょっと 便利にしてくれるところにある (と思う) ⚫ なので、そもそも基本的な技術スタックを理解していないと何も作れない • Web における音声データの取り回しや、ストリーム API の制御方法、データ経路 のセキュリティ、など ⚫ 一般的な技術スタックを積み重ねることも忘れないようにすべき 44

Slide 45

Slide 45 text

これからのエンジニアに求められるスキル 「検索」に関するスキル プロンプトエンジニアリング 既存の技術スタック 45

Slide 46

Slide 46 text

46 ⚫本日の目標 !! …… と言いましたが 1 「RAG」 の基本を 理解する 「RAG」 という分野で、 どんな事が研究されている のかを知る これからのエンジニアに 求められるスキルについて 考える 2 3 本日のゴール Gen AI Journey 最後に

Slide 47

Slide 47 text

47 ⚫本日の目標 !! …… と言いましたが 1 「RAG」 の基本を 理解する 「RAG」 という分野で、 どんな事が研究されている のかを知る これからのエンジニアに 求められるスキルについて 考える 2 3 本日のゴール Gen AI Journey 最後に こんなの建前です

Slide 48

Slide 48 text

48 「技術って面白いかも」 と思ってもらう事でした ⚫本当の目標は …… 最後に

Slide 49

Slide 49 text

49 「自分以外にも技術が好きな人って、意外といる」 ⚫AWS Ambassador になって気が付いた 最後に

Slide 50

Slide 50 text

50 「ここに来れば、自分と同じモノを好きな人に会える」 そんなコミュニティにしていきます ⚫AWS Ambassador になって気が付いた 最後に

Slide 51

Slide 51 text

51 Now, Go build !! 最後に

Slide 52

Slide 52 text

No content