マルチモーダルRAGに関する情報まとめ
■ はじめに
現在、LLMの活用において専門的な分野に対応したRAG (Retrieval Augmented Generation):検索拡張生成 が話題となっている状況だと思います。よくファインチューニングと比較されますが、追加学習の必要性がない・コストもかからない・更新も素早く楽にできるといった点で着目されております。
・RAGとファインチューニングの比較解説記事
今年に、マルチモーダルGPT4Vが登場したことから、以前はテキストベースのみで適用されていたRAGについても、マルチモーダルへの適用化求められているため、その情報を収集したものを簡単ですがまとめました。
■ RAG : 検索拡張生成
RAG自体については下記解説をご参考。
・RAGの調査論文
■ マルチモーダルRAGについて
これまでテキストのみの情報であれば、RAGに組み込む際にベクトルDBとして情報を保存します。これが異なるデータ(画像、テキスト、テーブル)の場合にどのように統合して保存するかがポイントのようです。既に色々な情報があるようで、それぞれの解説ページを参照して頂ければと思います。
① Multivector Retrieverを使ったPDFの画像まで含めた検索システム実装
② 別解説記事:上記と参照している大本は同じ
②’ 元文献の解説
③ LangChainのテンプレート活用事例
・中身の解説はないがすぐに試せるコードがいくつかあるよう。こちらもPDF対象
④ LlamaIndex の マルチモーダルRAG
・Wikipediaからの画像・テキスト情報収集を行い、統合してベクトルDB化処理を行う。Jupiter codeもあり、動作確認とプロセスが理解しやすい内容でした。( 動作確認では、pydantic ライブラリのダウングレードが要)
!pip install pydantic==1.10.9
⑤ 他LlamaIndex の マルチモーダルRAG活用
■ その他 マルチモーダルLLMの活用調査
GPT4Vの限界挑戦・できること、できないことの調査内容の情報
マルチモーダルRAGを今後広げていく上でのヒント多数。座標情報やセグメントの弱い部分の補強の仕方などなど
■ その他 画像ベクトル検索
・Computer Vision 使った 画像のベクトル化と検索の事例