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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
SATOH Kiyoshi
June 22, 2024
Technology
1
1.9k
RAGの仕組みとよくある課題
SATOH Kiyoshi
June 22, 2024
Tweet
Share
More Decks by SATOH Kiyoshi
See All by SATOH Kiyoshi
生成AIの「現在地」だけでなく「速度」も見よう
stealthinu
0
170
MCPとエージェント
stealthinu
1
310
意外に詐欺師がいるという教訓
stealthinu
0
170
音声変換と生成AI:開発者視点からの1.5年の振り返り
stealthinu
0
2.5k
リアルタイムボイスチェンジャーMMVCとVITSの紹介
stealthinu
0
2.7k
ディープラーニングブームは続くのか
stealthinu
0
120
スパム対策お焚き上げ
stealthinu
0
100
えせソアリンを作る
stealthinu
0
140
milter-managerが便利な話
stealthinu
0
220
Other Decks in Technology
See All in Technology
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
3
1.6k
What happened to RubyGems and what can we learn?
mikemcquaid
0
310
SchooでVue.js/Nuxtを技術選定している理由
yamanoku
3
130
Tebiki Engineering Team Deck
tebiki
0
24k
2026年、サーバーレスの現在地 -「制約と戦う技術」から「当たり前の実行基盤」へ- /serverless2026
slsops
2
260
顧客の言葉を、そのまま信じない勇気
yamatai1212
1
360
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
93k
茨城の思い出を振り返る ~CDKのセキュリティを添えて~ / 20260201 Mitsutoshi Matsuo
shift_evolve
PRO
1
360
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
AIと新時代を切り拓く。これからのSREとメルカリIBISの挑戦
0gm
2
3k
Ruby版 JSXのRuxが気になる
sansantech
PRO
0
160
Embedded SREの終わりを設計する 「なんとなく」から計画的な自立支援へ
sansantech
PRO
3
2.6k
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
57
50k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2k
Deep Space Network (abreviated)
tonyrice
0
64
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
62
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
3.9k
Code Review Best Practice
trishagee
74
20k
Building Applications with DynamoDB
mza
96
6.9k
Producing Creativity
orderedlist
PRO
348
40k
Scaling GitHub
holman
464
140k
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