Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
RAGの仕組みとよくある課題
Search
SATOH Kiyoshi
June 22, 2024
Technology
1
1k
RAGの仕組みとよくある課題
SATOH Kiyoshi
June 22, 2024
Tweet
Share
More Decks by SATOH Kiyoshi
See All by SATOH Kiyoshi
MCPとエージェント
stealthinu
1
200
意外に詐欺師がいるという教訓
stealthinu
0
130
音声変換と生成AI:開発者視点からの1.5年の振り返り
stealthinu
0
1.6k
リアルタイムボイスチェンジャーMMVCとVITSの紹介
stealthinu
0
2.6k
ディープラーニングブームは続くのか
stealthinu
0
110
スパム対策お焚き上げ
stealthinu
0
99
えせソアリンを作る
stealthinu
0
120
milter-managerが便利な話
stealthinu
0
180
Colabをshellから使う
stealthinu
0
130
Other Decks in Technology
See All in Technology
オフィスビルを監視しよう:フィジカル×デジタルにまたがるSLI/SLO設計と運用の難しさ / Monitoring Office Buildings: The Challenge of Physical-Digital SLI/SLO Design & Operation
bitkey
1
350
Enhancing SaaS Product Reliability and Release Velocity through Optimized Testing Approach
ropqa
1
250
Claude Code に プロジェクト管理やらせたみた
unson
8
5k
公開初日に Gemini CLI を試した話や FFmpeg と組み合わせてみた話など / Gemini CLI 初学者勉強会(#AI道場)
you
PRO
0
1k
IPA&AWSダブル全冠が明かす、人生を変えた勉強法のすべて
iwamot
PRO
2
220
United airlines®️ USA Contact Numbers: Complete 2025 Support Guide
unitedflyhelp
0
340
[SRE NEXT] ARR150億円_エンジニア140名_27チーム_17プロダクトから始めるSLO.pdf
satos
5
2.2k
CDK Toolkit Libraryにおけるテストの考え方
smt7174
1
460
敢えて生成AIを使わないマネジメント業務
kzkmaeda
2
510
「クラウドコスト絶対削減」を支える技術—FinOpsを超えた徹底的なクラウドコスト削減の実践論
delta_tech
4
190
ソフトウェアQAがハードウェアの人になったの
mineo_matsuya
3
140
伴走から自律へ: 形式知へと導くSREイネーブリングによる プロダクトチームの信頼性オーナーシップ向上 / SRE NEXT 2025
visional_engineering_and_design
3
230
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Visualization
eitanlees
146
16k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
Designing Experiences People Love
moore
142
24k
Six Lessons from altMBA
skipperchong
28
3.9k
Being A Developer After 40
akosma
90
590k
How STYLIGHT went responsive
nonsquared
100
5.6k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Automating Front-end Workflow
addyosmani
1370
200k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Transcript
RAGの仕組みとよくある課題 NSEG #109 2024/6/22 さとうきよし @stealthinu
ここ1年近くやってたこと LLM(ChatGPT等)を使って社内文書などに対する回答する → 最近雨後の筍のように出ている LLM+RAG のシステム 2
RAGとは? RAG = Retrieval-Augmented Generation LLMに知識を外挿する手法 → LLMは「ステートレス人間」で毎回「新しい人」になる 外部知識や暗黙の知識を毎回与えないと、ずっと初出勤したバイトと同じ 3
LLMに知識を外挿する法の比較 RAG ファインチューニング 超ロングコンテキスト 4
RAG 方法:外部知識ベースから情報を検索しプロンプトへ埋め込む 特徴: 精度が高い 工夫で精度を上げやすい → 最終的にプロンプトへ埋め込むデータの精度によるので ドメイン依存、システムの制約依存で工夫可能だから 5
ファインチューニング 方法:モデルを知識ベースのデータで追加学習 特徴: スタイルを変更するなどに向く 新規情報はあまり学習してくれない →ファインチューニングは追加で学習出来るというより 元からあるものを「彫り出す」イメージに近い 6
超ロングコンテキストモデル 方法:知識ベース全体をプロンプトへ埋め込んでしまう 特徴: 想像以上にちゃんと見つける 文脈理解力が高い 計算コスト大 → 現状では遅くてコスト高 7
現在はRAGが一番おすすめ ファインチューニングは物覚えが悪い → 論文での比較でもだいたいRAGのほうがよいとなる 超ロングコンテキストはすごいけど遅い → 思いのほか情報を見つけられる が現状だとすごく遅い Geminiがキャッシュを開始したのでこれで活用が進む? 8
RAGの基本的な仕組み 知識外挿方法 文書の分割 内容を意味ベクトル化 ベクトルデータベース 問い合わせの検索 9
知識外挿方法 関連情報をプロンプトに埋め込み LLMの文脈理解能力を利用する → 「以下の"---"で区切られた情報を参照して答えてください」 で情報を貼り付けて参照させるだけ 10
文書の分割 大きな文書を小さな断片(チャンク)に分割 語句の全文検索ではなく意味検索したいので断片に分ける必要がある チャンク分けの仕方でも性能がかわる 11
内容を意味ベクトル化 チャンクごとに意味をベクトルに変換 Transformerのエンコーダーを使ったembeddingエンジンが使われる ベクトルは固定長(単語の表現ベクトルと同サイズ)になる 12
ベクトルデータベース チャンク化された文書 チャンク毎の意味ベクトル メタ情報(元ファイル名、ページ番号など) 13
問い合わせの検索 問い合わせ内容をベクトル化 ベクトルの近さ(コサイン類似度)で検索 コサイン類似度 → 高校で習ったベクトルの内積を使う 14
現在のRAGの主要な課題 テキスト化の問題 テキストデータの構造化問題 非テキストデータのテキスト化問題 ベクトル化(文章の意味理解)の問題 検索時の問題 15
テキストデータの構造化問題 そもそもテキストを正しく取得できない TextBoxで任意の位置に文書を置く 画像を上から貼り付けて修正… PDFやDoc文書はたいてい構造化されていない タイトルは大きな文字で太字になってる 見た目での構造化 16
非テキストデータのテキスト化問題 画像、表、グラフの意味抽出 レイアウト情報の損失 OCRでの読み取りしても意味化の限界 17
ベクトル化の問題 チャンク化の失敗で文脈理解が不足する バックグラウンド知識が必要 業界用語 資料の前提条件 文章の意味理解の失敗 → 実はこの問題は少なくてそれ以前の問題が多い 18
検索時の問題 資料のベクトルと質問のベクトルでは本質的にベクトルが違う 意味的類似が遠いため単語が入っていても検索されない 検索失敗したハズレのノイズによる回答品質低下 19
テキスト化の問題解決 人間にとって「見た目」で理解しやすいデータになってること 「画像」からテキスト化 マルチモーダルモデルで直接意味理解 「人間」という超高性能LLMを利用 20
ベクトル化の問題解決 チャンク分けが意味を考慮してない 構造を意識したチャンク分け → そもそも構造化が必要 ツリー上に全体を理解させた中から検索など → 多種多様な〇〇RAGが考案されては発表されてる 21
検索時の問題解決 想定質問でのベクトル化 ベクトルと語句のハイブリッド検索 検索後のリランキング 22
RAGは意外と本質的な技術 最初、すごく取って付けた感がある手法に感じた でもRAGでやってることって、実は人間も同じ手法では? 「あの資料のあたりにこんなこと書いてあったような…」 → 資料を探してそれを参照しながら正確な答えを書く RAG使うと通常のLLMではできない問題も解決出来るのでさわってみよう! 23