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
490
RAGの仕組みとよくある課題
SATOH Kiyoshi
June 22, 2024
Tweet
Share
More Decks by SATOH Kiyoshi
See All by SATOH Kiyoshi
意外に詐欺師がいるという教訓
stealthinu
0
75
音声変換と生成AI:開発者視点からの1.5年の振り返り
stealthinu
0
1.1k
リアルタイムボイスチェンジャーMMVCとVITSの紹介
stealthinu
0
2.5k
ディープラーニングブームは続くのか
stealthinu
0
88
スパム対策お焚き上げ
stealthinu
0
83
えせソアリンを作る
stealthinu
0
98
milter-managerが便利な話
stealthinu
0
130
Colabをshellから使う
stealthinu
0
110
GCEをTensorFlowの「計算エンジン」にする
stealthinu
0
83
Other Decks in Technology
See All in Technology
The Rise of LLMOps
asei
7
1.7k
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間
oracle4engineer
PRO
28
13k
Lambda10周年!Lambdaは何をもたらしたか
smt7174
2
110
20241120_JAWS_東京_ランチタイムLT#17_AWS認定全冠の先へ
tsumita
2
300
強いチームと開発生産性
onk
PRO
35
11k
Lambdaと地方とコミュニティ
miu_crescent
2
370
OTelCol_TailSampling_and_SpanMetrics
gumamon
1
190
生成AIが変えるデータ分析の全体像
ishikawa_satoru
0
170
アジャイルチームがらしさを発揮するための目標づくり / Making the goal and enabling the team
kakehashi
3
140
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
480
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
8
870
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
690
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
Happy Clients
brianwarren
98
6.7k
The Cost Of JavaScript in 2023
addyosmani
45
6.8k
Code Reviewing Like a Champion
maltzj
520
39k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Code Review Best Practice
trishagee
64
17k
Speed Design
sergeychernyshev
25
620
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Making Projects Easy
brettharned
115
5.9k
Side Projects
sachag
452
42k
Visualization
eitanlees
145
15k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
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