Upgrade to Pro — share decks privately, control downloads, hide ads and more …

LLMの気持ちになってRAGのことを考えてみよう

John Smith
November 24, 2024

 LLMの気持ちになってRAGのことを考えてみよう

Classmethod AI Talks(CATs) #8 の発表資料です

John Smith

November 24, 2024
Tweet

More Decks by John Smith

Other Decks in Technology

Transcript

  1. 用語定義: 機械学習, 生成AI, LLM 4 本発表における用語は以下のように定義します。 一般的にそのまま適用されるものではありませんのでご注意ください。 • 機械学習 •

    本発表では教師あり学習に限定する • 学習: 与えられたデータの組み合わせ 𝐱, 𝑦 から 𝑦 = 𝑓(𝐱; 𝜃) を求める 𝜃 を決める • 推論: 𝑦が未知の𝐱に対して ො 𝑦 を予測をする • 生成AI • 言語, 画像, 音声など人間がコンテンツとして直接利用可能なものを出力する • 利用する手法自体が機械学習における生成モデルであるかとは関係ないものとする • LLM(Large Language Model) • Transformer及びその発展手法を利用してたモデル • パラメータ数などのモデルの規模や学習時に利用したデータは問わないものとする • 本発表では入力・出力共に自然言語のみを対象とする
  2. 機械学習で扱う対象 7 世の中には入力と出力の関係にパターンがあるのは分かってるが、 それを導き出す手順が明確ではないものが存在する。 ねこ 画像 なんの画像か? 買った商品 一緒に買った商品 機械学習は...

    • 既に存在するパターン認識した結果がデータとして大量に存在する • データからその傾向を見つけ出す • 見つけ出した傾向に基づいて予測が可能となる • ただし、それが常に正解とは限らない(パターンがあるだけで正解がない問題もある)
  3. 機械学習で扱う対象 9 例) レコメンドやパーソナライズで以下のケースを考えてみよう。 • 初対面の人に「何かオススメない?」と聞かれる • 初対面だが食事の話をしているときに「何かオススメない?」と聞かれる • 初対面だが自社の製品の話をしているときに「何かオススメない?」と聞かれる

    • 既に何度か使ってもらってるリピーターに「何かオススメない?」と聞かれる • よく知っている友人に「何かオススメない?」と聞かれる → 相手のことをよりよく知っている方が特化したレコメンドが可能 → 対象を絞ることでも判断範囲を狭めて特化したレコメンドが可能
  4. 機械学習で扱う対象 10 例) レコメンドやパーソナライズで以下のケースを考えてみよう。 • 初対面の人に「何かオススメない?」と聞かれる • 初対面だが食事の話をしているときに「何かオススメない?」と聞かれる • 初対面だが自社の製品の話をしているときに「何かオススメない?」と聞かれる

    • 既に何度か使ってもらってるリピーターに「何かオススメない?」と聞かれる • よく知っている友人に「何かオススメない?」と聞かれる 別な視点で見ると、初対面でも共通の話題が無くても会話はできている → 会話という行為そのものには同一言語話者どうしてあれば常に成立する普遍的なパターンがある
  5. 転移学習やファインチューニング 12 基盤となるモデルに対して特定のドメイン知識を教え込むための手法がある。 画像 : Attention Is All You Need

    (https://arxiv.org/abs/1706.03762)より Copy Fine-Tuning • 基盤モデルに対してそこに含まれない知識をデータとして与えてアップデートするイメージ • やりすぎると既存の知識を忘れたり、うまく推論できないモデルになったりすることも...
  6. 本文中の情報を利用する 13 推論時にLLMに入力として与える情報に前提となる知識を入れ込むことで あたかもそれを学習したモデルであるかのように利用できる。 画像 : Attention Is All You

    Need (https://arxiv.org/abs/1706.03762)より • 会話形式でやりとりを続ける • 特定のキャラクター設定をする • 例を与えたうえで質問をすることで回答を 誘導する • などなど... + ↓ 学習時には含まれていないドメイン知識を 推論時に与えればいいのでは? ↓ RAGのはじまりである
  7. 本文中の情報を利用する 15 推論時にLLMに入力として与える情報に前提となる知識を入れ込むことで あたかもそれを学習したモデルであるかのように利用できる。 画像 : Attention Is All You

    Need (https://arxiv.org/abs/1706.03762)より • 会話形式でやりとりを続ける • 特定のキャラクター設定をする • 例を与えたうえで質問をすることで回答を 誘導する • などなど... + ↓ 学習時には含まれていないドメイン知識を 推論時に与えればいいのでは? ↓ RAGのはじまりである
  8. 本文中の情報を利用する 16 必要な知識を推論時に後付けで入れ込めることがわかったので、 あとはそれをどう活用するかを考えるだけ。 画像 : Attention Is All You

    Need (https://arxiv.org/abs/1706.03762)より + 欲しい結果を得るために... • どのような知識が必要か? • どのようにそれを付与するか?
  9. RAGとは 17 RAGを構成する要素は3つあり、 それぞれの頭文字をとったものがネーミングの由来。 • R: Retrieval • A: Augmentation

    • G: Generation RAG 何を実現する考える部分 入力 1. Retrieval + 2. Augmentation 3. Generation 出力
  10. RAGを使って精度を上げるには? 19 RAG 何を実現する考える部分 入力 1. Retrieval + 2. Augmentation

    3. Generation 出力 利用者側で様々な手法を利用してチューニングが可能な部分
  11. RAGの精度を上げるためには? 21 RAGでは検索が重要だと言われる所以はここに モデルそのものをコントロールするには... • 2024年11月現在、独自モデルを作るコストは非常に高い • 一方で既存のサービスの挙動はユーザ側では完全にコントロールできない • そもそも、LLM自体が生成される結果を完全にコントロールするものではない

    検索の部分に関しては... • その気になればユーザ側で作りこみが可能 • 手法やそれを実装したライブラリ、それらの組み合わせなどの選択肢も広い • 検証段階で試せる要素が非常に多い領域といえる そもそもRAGというものが必要になった経緯を考えると • 聞きたい問題に対する専門的な知識を与えるために利用している • 検索で得られた結果に正解が含まれてさえいればLLMは正確な回答を返せる → 検索の精度を上げていこう!という流れになる
  12. 検索におけるインデックスとは? 24 集めた情報のどこに何があるかを記録しておく必要ある。 この情報を保持しておくものがデータベースのようなものがインデックス。 マッカラン document 1 ラフロイグ 余市 document

    2 document 2 document 4 document 3 x x x x x x • 単語が含まれる文章 • 分散表現の座標 • その他様々な手法... ドキュメントに含まれる要素 変換 ある要素を持つドキュメント
  13. インデックスからの引き当て 25 ユーザが検索を行う際は「この要素を持つドキュメントをくれ」 という使い方をする • 書籍の末尾にある索引から 特定の単語を含むページを探すイメージ LLMで考えると... • 質問した内容が知りたい要素

    • それについて書かれたドキュメントが検索で取得したい対象 • 質問したい内容のキーワードを含む • 内容として似ているドキュメント など、引き当て方もインデックスの持ち方に連動する部分もある