Multi-Vector Retriever for RAG on tables, text, and images

概要

  • 画像、テキスト、表など多様なデータ型のコンテンツが混在するドキュメントにおけるRAGのマルチベクター検索のクックブックを公開
  • これらのクックブックでは、マルチモーダルLLMとMulti-Vector Retrieverを組み合わせるいくつかのアイデアも紹介している
 
 
 
MultiVector Retriever
  • ドキュメントごとに複数のベクトルを作成する手法
    • 生成方法例
      • Smaller chunks:ドキュメントを小さな塊に分割し、それらをembbedする
      • Summary: ドキュメントごとに要約を作成し、ドキュメントと一緒に(またはドキュメントの代わりに)埋め込む。
      • Hypothetical questions:各文書が答えるのに適切であろう仮定の質問を作成し、それを文書と一緒に(または文書の代わりに)埋め込む。
 
Document Loading
  • MultiVector Retrieverを可能にするには、まず文書をさまざまなタイプに分割する機能が必要
 
Semi-Structured Data
  • 非構造化ファイルの構文解析とマルチベクトル検索を組み合わせることで、半構造化データのRAGをサポートすることができる
  • 自然言語検索により適するようにテーブルの要約を生成し、もしテーブルの要約がユーザーの質問に対して意味的類似性によって検索された場合、生のテーブルは上記のように回答合成のためにLLMに渡す
 
Multi-Modal Data
  • マルチモーダルLLM(例:GPT4-V、LLaVA、Fuyu-8b)の発展に伴い、画像を含む情報処理が可能になりつつある。画像を利用した問題解決方法として、以下の3つのアプローチが考えられる。
    • オプション1: マルチモーダル埋め込み(例:CLIP)を使用して、画像とテキストを一緒に埋め込む。類似性検索で情報を取得し、文書ストアにリンクした画像を使い、マルチモーダルLLMに画像とテキストを渡して合成する。
    • オプション2: マルチモーダルLLMを使用して、画像からテキストの要約を生成する。テキスト埋め込みモデルを用いて要約を取得し、文書ストアのテキストや表を参照してLLMによる答えの合成を行う。この方法では、文書ストアから画像は除外する。
    • オプション3: マルチモーダルLLMを使用して、画像からテキストの要約を生成する。オプション1で行ったように、画像の要約を原画像への参照とともに取得し、マルチモーダルLLMに画像とテキストを渡して答えを合成する。マルチモーダル埋め込みを使用したくない場合に適している。
  • オプション2のテストでは、7bパラメータのLLaVAモデルを使用して、画像の要約を生成した。LLaVAは最近、llama.cppに追加され、消費者向けラップトップ(Mac M2 Max, 32GBで約45トークン/秒)で実行できるようになり、適切な画像の要約ができる。
    • 例えば、以下の画像についてはユーモアを捉えている