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

⼤規模⾔語モデルの拡張(RAG)が 終わったかも知れない件について

⼤規模⾔語モデルの拡張(RAG)が 終わったかも知れない件について

More Decks by NearMeの技術発表資料です

Other Decks in Programming

Transcript

  1. 3 プロンプトエンジニアリングとは System ニュース記事が提示されます。あなたのタスクは、政府に対して表明された意見とその感情を特定するこ とです。 このタスクにはステップバイステップで取り組み、時間をかけて、ステップを飛ばさないでください: 1. ニュース記事の段落を読む 2. その段落で意見が表明されているかどうかを判断する。そうでない場合は、次の段落に進む

    3. 意見がある場合は、以下のキーを持つJSONを抽出する • opinion: 許容される値は "positive"、"negative"、"neutral" のいずれか • evidence: 意見を裏付ける文字列のリストを含む • speaker: 意見を表明した人物または政府機関 4. 意見がすでに述べられている場合でも、出来るだけ多くの証拠を集めること 明瞭な指示 考える時間を与える 複雑なタスクを分解する
  2. 9

  3. 10 ChatIQの仕組み 1. Post message 6. Reply message 2. Event

    API 5. Chat API 3. Chat API 4. Response
  4. 11 ChatIQの仕組み 1. Post message 10. Reply message 2. Event

    API 9. Chat API 3. Chat API 4. Response RAG 5. Question 6. Answer 7. Chat API 8. Response
  5. 12 ChatIQの仕組み 1. Post message 10. Reply message 2. Event

    API 9. Chat API 3. Chat API 4. Response 5. Question 6. Answer 7. Chat API 8. Response RAG Retrieve Documents Weaviate (VectorDB)
  6. 13 RAGのプロンプト System Given the following extracted parts of a

    long document and a question, create a final answer. Consider the timestamp, channel and user when providing your answer. Always include the permalink in your response. If you don't know the answer, just say that you don't know. Don't try to make up an answer. ______________________ {documents} Human {question}
  7. 14 RAGのプロンプト System Given the following extracted parts of a

    long document and a question, create a final answer. Consider the timestamp, channel and user when providing your answer. Always include the permalink in your response. If you don't know the answer, just say that you don't know. Don't try to make up an answer. ______________________ {“user”:“F0JD6RZU6”,“message”:“<@U06FKAYEHF> is using 14 inches Mac Book Pro”,“channel”: “C024BE91L”,“timestamp”:“2024-01-01T12:34:56.000200+00:00”} Human What’s the spec of <@U06FKAYEHF>’s laptop?
  8. 18 Document 0.404 0.594 0.472 0.921 0.739 0.952 0.287 0.648

    0.131 0.835 … VectorDBの仕組み Vector Documents Text Model Vector DB … … … … … … … …
  9. 19 Text model • Word2Vec • Sentence Transformer • OpenAI

    embedding API • Cohere embedding API cat dog house car game python … cat dog house car game python … x 99999 x 99999 x 300 Word2Vec Alice was beginning to get very tired of sitting by her sister on the bank, and of having nothing to do 0.28 0.31 0.11
  10. 20 Document Splitting • ⽂字数で分割 • トークン数で分割 • HTMLの要素で分割 •

    セマンティック(センテンス間の類似度)で分割 • ドキュメント間のオーバーラッピング • etc. Document Document Documents Documents ドキュメントが大きすぎると • コンテキストウィンドウ(トークン数上限)に収まらない • 詳細な情報がベクトルから失われる ここのチューニングはかなりだるい
  11. 21 Document 0.404 0.594 0.472 0.921 0.739 0.952 0.287 0.648

    0.131 0.835 … VectorDBの仕組み Vector Documents Text Model Vector DB … … … … … … … …
  12. 22 VectorDB • Pinecone(Proprietary) • Weaviate(OSS) • Milvus(OSS) • Qdrant(OSS)

    • Vespa(OSS) • Chroma(OSS) • Redis(OSS?) dog pet dog pet cat LSH, HNSW, IVH, Annoy, etc. k個の類似 ドキュメントを 見つける
  13. 25

  14. 28

  15. 37 RAGによる間違い Document Question Retrieval Generation 三菱UFJ銀行は いつ誕生しましたか? 2001年3月31日、大阪市 此花区の西部臨海エリア

    にがオープンした。米国 の映画会社「ユニバーサ ル・スタジオ」のテーマ パークが初め… 三菱UFJ銀行は2021年 3月31日に開業しました
  16. 40 Recursive Abstractive Processing for Tree-Organized Retrieval (RAPTOR) 1. ドキュメントをEmbeddingによってまとめてIndexingする

    2. まとめたドキュメントを要約してIndexingする 3. 1-2を何度も繰り返す https://arxiv.org/abs/2401.18059
  17. 42 Corrective Retrieval Augumented Generation (cRAG) 1. Retrieval Evaluatorによっ て、取得したドキュメント

    を「正しい」「曖昧」「誤 り」の3つに分類する 2. 「正しい」ドキュメント は、分解‧再構築して回答 する 3. 「誤り」ドキュメントは Web検索にかけて、検索結 果を使って回答する 4. 「曖昧」ドキュメントは上 記2つの結果を融合させて 回答する https://arxiv.org/abs/2401.15884
  18. 46 RAG One Shot コードの複雑さ 複雑になりがち 簡単に実装できる 拡張性 データソースが増えても拡張できる 単一のデータソースでないと難しい

    応答時間 正確性を求めれば求めるほど遅くなる 速い 実行コスト 必要なドキュメントのトークンだけ消費する 不要なドキュメントのトークンを消費する 正確性 間違いはあるが、訂正することができる Hallucinationを防ぐことが難しい メンテナンス性 Chunk Size、Chunk Overlap等チューニングが必要 何も考えずに突っ込めばいい セキュリティ 権限のないデータソースへのアクセスを拒否できる 権限を無視してアクセスできてしまう RAG vs. One Shot
  19. 52 RAFTのファインチューニングに使⽤する⽂章 Question: The Oberoi family is part of a

    hotel company that has a head office in what city? context: [The Oberoi family is an Indian family that is famous for its involvement in hotels, namely through The Oberoi Group]...[It is located in city center of Jakarta, near Mega Kuningan, adjacent to the sister JW Marriott Hotel. It is operated by The Ritz-Carlton Hotel Company. The complex has two towers that comprises a hotel and the Airlangga Apartment respectively]...[The Oberoi Group is a hotel company with its head office in Delhi.] Instruction: Given the question, context and answer above, provide a logical reasoning for that answer. Please use the format of: ##Reason: {reason} ##Answer: {answer}. CoT Answer: ##Reason: The document ##begin_quote## The Oberoi family is an Indian family that is famous for its involvement in hotels, namely through The Oberoi Group. ##end_quote## establishes that the Oberoi family is involved in the Oberoi group, and the document ##begin_quote## The Oberoi Group is a hotel company with its head office in Delhi. ##end_quote## establishes the head office of The Oberoi Group. Therefore, the Oberoi family is part of a hotel company whose head office is in Delhi. ##Answer: Delhi 正しいドキュメント 残りは撹乱ドキュメント 推論ステップも書かせる
  20. 54 参考 • A Survey of Techniques for Maximizing LLM

    Performance • Fine-tuning Large Language Models (LLMs) • Vectoring Words (Word Embeddings) • RAG from Scratch