$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
RAGの仕組みとよくある課題
Search
SATOH Kiyoshi
June 22, 2024
Technology
1
1.7k
RAGの仕組みとよくある課題
SATOH Kiyoshi
June 22, 2024
Tweet
Share
More Decks by SATOH Kiyoshi
See All by SATOH Kiyoshi
生成AIの「現在地」だけでなく「速度」も見よう
stealthinu
0
99
MCPとエージェント
stealthinu
1
250
意外に詐欺師がいるという教訓
stealthinu
0
160
音声変換と生成AI:開発者視点からの1.5年の振り返り
stealthinu
0
2.3k
リアルタイムボイスチェンジャーMMVCとVITSの紹介
stealthinu
0
2.7k
ディープラーニングブームは続くのか
stealthinu
0
120
スパム対策お焚き上げ
stealthinu
0
100
えせソアリンを作る
stealthinu
0
140
milter-managerが便利な話
stealthinu
0
210
Other Decks in Technology
See All in Technology
ESXi のAIOps だ!2025冬
unnowataru
0
340
【開発を止めるな】機能追加と並行して進めるアーキテクチャ改善/Keep Shipping: Architecture Improvements Without Pausing Dev
bitkey
PRO
1
120
日本Rubyの会: これまでとこれから
snoozer05
PRO
5
230
アラフォーおじさん、はじめてre:Inventに行く / A 40-Something Guy’s First re:Invent Adventure
kaminashi
0
130
AgentCoreとStrandsで社内d払いナレッジボットを作った話
motojimayu
1
880
Lookerで実現するセキュアな外部データ提供
zozotech
PRO
0
200
2025年のデザインシステムとAI 活用を振り返る
leveragestech
0
170
Next.js 16の新機能 Cache Components について
sutetotanuki
0
170
20251222_サンフランシスコサバイバル術
ponponmikankan
2
140
ソフトウェアエンジニアとAIエンジニアの役割分担についてのある事例
kworkdev
PRO
0
210
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
1
760
AgentCore BrowserとClaude Codeスキルを活用した 『初手AI』を実現する業務自動化AIエージェント基盤
ruzia
7
1.4k
Featured
See All Featured
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
34
Heart Work Chapter 1 - Part 1
lfama
PRO
3
35k
WENDY [Excerpt]
tessaabrams
8
35k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
57
37k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Amusing Abliteration
ianozsvald
0
69
Mind Mapping
helmedeiros
PRO
0
39
Marketing to machines
jonoalderson
1
4.3k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
94
Building the Perfect Custom Keyboard
takai
1
660
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
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