voyage-multimodal-3: テキスト・画像・スクリーンショット向けオールインワン埋め込みモデル
(blog.voyageai.com)- Voyage AIが公開した
voyage-multimodal-3は、テキストと画像が混在するナレッジベースを単一の埋め込みモデルで検索するためのRAG・セマンティック検索向けモデル - PDF、スライド、表、図、文書スクリーンショットのようにレイアウト情報が重要な資料を、文書パースなしでベクトル化できる点が中核的な差別化要素
- CLIP系モデルの混合モダリティ検索の限界を減らすため、テキストと視覚情報を同じTransformerエンコーダで処理し、モダリティが混在した入力の文脈関係を保持
- 20件のマルチモーダル検索データセットで、次点のマルチモーダル埋め込みモデルより平均**19.63%**高い検索精度を示し、34件のテキスト検索データセットでもOpenAI v3 largeを上回る
- スクリーンショット比率が高まるほどCLIPベースのモデルは品質が低下したが、
voyage-multimodal-3は全域で性能低下が小さく、画面キャプチャベースの検索パイプラインに実用的
voyage-multimodal-3が狙う用途
voyage-multimodal-3はVoyage AI初のマルチモーダル埋め込みモデルで、視覚資料とテキストが多いナレッジベースにおけるRAGとセマンティック検索を目的とする- 入力対象はテキストとコンテンツ量の多い画像で、代表例は次の通り
- テキストのスクリーンショット
- 図と表
- PDFのスクリーンショット
- スライドデッキ
- その他の文書画像
- 生成されたベクトルはテキストの意味だけでなく、フォントサイズ、テキスト位置、余白のような視覚的特徴も反映する
- 複雑なレイアウトや図・写真が混在する文書では、ヒューリスティックベースのパースで精度問題が生じることがあり、モデルは元の画面をそのまま検索用ベクトルに変換するアプローチを採る
- 機能例はsample notebookで確認できる
CLIP系と異なる埋め込み方式
- Amazon Titan Multimodal G1、Google Vertex AI multimodal、Cohere multimodal v3のような既存のマルチモーダル埋め込みモデルは、OpenAI CLIPベースの構造を使っている
- CLIP系の構造は、異なるモダリティを独立したネットワークで処理する
- 画像はvision towerを通じてベクトル化される
- テキストはtext towerを通じてベクトル化される
- この構造では、テキストと画像が混在した入力を一度に処理しにくい
voyage-multimodal-3は、2つのモダリティを同じTransformerエンコーダ内で直接ベクトル化する- テキストと視覚特徴は別個の構成要素ではなく、統合表現の一部として扱われる
- 最新のビジョン言語モデルのアーキテクチャを、生成ではなくベクトル化に適用した形
- その結果、混在するテキストと画像、文書スクリーンショット、複雑なPDF、注釈付き画像において、視覚情報とテキスト情報の文脈関係をまとめてベクトルに含められる
スクリーンショットが混在する検索で表れた違い
- CLIP類似モデルは**モダリティギャップ(modality gap)**のため、混合モダリティ検索で性能が低下することがある
- 例では、「I address you, members of the Seventy-Seventh Congress…」というテキスト断片に最も近いベクトルは、該当スクリーンショットではなく別のテキストだった
- こうした現象は、テキストベクトルが関連画像よりも、無関係でも同じモダリティの項目に近づいてしまう検索バイアスにつながる
- Voyage AIはPyTorch文書を用いて定量実験を構成した
- 同一内容を持つ文書セットを、通常のテキスト文字列とスクリーンショットでそれぞれ作成
- テキストベース文書の一部と、残りの文書のスクリーンショットを混ぜて混合モダリティデータセットを構成
- スクリーンショット比率は0%から100%まで変化させた
- 各モデルはコサイン類似度で上位10件の結果を検索し、NDCG@10で評価された
- CLIPベースのモデルは、スクリーンショット比率が90%まで増えるにつれて検索品質が低下し、すべてのテキストを画像に置き換えた場合でも性能が低かった
voyage-multimodal-3はすべての比率で最も高い性能を示し、全体的な性能低下もほとんどなかった- この結果は、スクリーンショット内の意味情報をベクトルに取り込む能力と、すべての入力モダリティを同じバックボーンで処理するアプローチの堅牢性を示している
評価データセットと比較対象
- マルチモーダル評価は3つのタスク、合計20件のデータセットで実施
- 表・図検索: charxiv, mmtab-test, ChartQA, Chartve, FintabnetQA, PlotQA
- 文書スクリーンショット検索: ViDoRe benchmarkのEnergy, Healthcare Industry, Artificial Intelligence, Government Report, InfoVQA, DocVQA, ArxivQA, TabFQuad, TAT-DQA, Shift Project
- テキスト-写真検索: meme-cap, mm-imdb, winoground, docci
- 標準テキスト検索評価は、法務、金融、対話、コード、Web、技術など6ドメイン34件のデータセットで実施
- すべてのデータセットでクエリはテキストであり、文書は図、写真、テキスト、文書スクリーンショット、またはそれらの組み合わせとなる場合がある
- マルチモーダルタスクの比較モデルは次の通り
- OpenAI CLIP large (
clip-vit-large-patch14-336) - Amazon Titan Multimodal Embeddings G1 (
amazon.titan-embed-image-v1) - Cohere multimodal v3 (
embed-multimodal-v3.0) - SigLIP So400M (
siglip-so400m-patch14-384) - ColQwen2 v0.1 (
colqwen-v0.1)
- OpenAI CLIP large (
- 標準テキスト検索では、OpenAI v3 large (
text-embeddings-3-large)、Cohere multimodal/English 1 v3、voyage-3と比較 - Cohere multimodal v3は純粋なテキストではCohere English v3 (
embed-english-v3.0)をtext towerとして使うため、チャートでは混乱を避けるために「Cohere multimodal v3」というラベルのみを使用
検索精度の結果
voyage-multimodal-3は20件のマルチモーダル検索データセット全体で、次点のマルチモーダル埋め込みモデルより平均**19.63%**高い検索精度を記録- 表・図検索では、OpenAI CLIP large、Amazon Titan Multimodal G1、Cohere multimodal v3、SigLIP So400M、ColQwen2 v0.1に対してそれぞれ41.44%、45.00%、43.37%、20.66%、6.14%上回った
- 文書スクリーンショット検索では、同じ比較モデルに対してそれぞれ26.54%、37.68%、25.84%、35.62%、0.98%高い性能を示した
- テキスト-写真検索では、同じ比較モデルに対してそれぞれ6.55%、5.16%、5.86%、3.42%、10.34%上回った
- 標準テキスト検索では、OpenAI v3 largeより5.13%、Cohere multimodal/English 1 v3より13.70%高い性能を示した
- 純粋なテキスト文書検索精度は
voyage-3より**0.05%**高く、両モデルはほぼ同等の水準 - 全評価結果はスプレッドシートで公開されている
利用開始と提供資料
voyage-multimodal-3は公開初日から利用可能- 最初の2億トークンは無料
- 開始用資料はsample notebookとdocsで提供されている
- ファインチューニング埋め込みモデルに関心のあるユーザーは、
contact@voyageai.comに連絡できる
1件のコメント
Hacker Newsのコメント
核心となる観察はシンプルで直感的だ。すべてのCLIP系モデルは、モダリティ間ギャップのため混合モダリティ検索で性能がよくない
たとえば「I address you, members of the Seventy-Seventh Congress…」という文に最も近いベクトルが、そのスクリーンショットではなく別のテキストになってしまう。つまり埋め込み空間では、テキストベクトルが関連画像より無関係なテキストに近くなり、検索結果が同一モダリティ側に偏る
視覚的に表現されていてもテキストで表現されていても、同じアイデアをクラスタリングできる潜在空間があるなら、かなりすごいことだと思う。ただ、このベンチマークはマルチモーダル埋め込みをかなり狭く捉えているようにも思う。関連するテキスト画像とテキスト埋め込みが近いのは便利だが、それが「rabbit」とウサギの写真のような別の視覚表現との関連性まで拡張されるとは言いにくい。文書画像のインデックス化という狭い目的であれば、ほかの手法でもかなりうまく機能するかもしれない。テキスト媒体を超えたマルチモーダルな概念表現のベンチマークデータセットが新たに出てくる良い機会に思える
この分野に関心があるなら、内部的にColPaliを透過的に使っている私たちのプロジェクトも候補に入れてよいかもしれない
https://github.com/tjmlabs/ColiVara
こちらの主要ベンチマークはVidoreリーダーボードで、VoyageAIがよりオープンなオープンソース実装と比べてどの程度なのか見てみたい
何か見落としている気がする。「ネイティブなマルチモーダル」のLLMなら、何らかの形でマルチモーダル埋め込みを含んでいるはずではないだろうか
たとえばGoogleのGeminiブログ記事では、従来のマルチモーダルモデルは異なるモダリティ向けのコンポーネントを別々に学習してからつなぎ合わせていたが、Geminiは最初から複数モダリティで事前学習し、追加のマルチモーダルデータでファインチューニングしたと説明している。だから、あらゆる種類の入力を最初から自然に理解し推論できると主張している
ここで区別すべきなのは、トークン埋め込みと埋め込みモデルが出力するベクトル/埋め込みは関連してはいるが別概念だということだ。各トークンに対応する多数のトークン埋め込みはトランスフォーマーを通る中で文脈化され、埋め込みモデルは長文テキスト・写真・文書スクリーンショットのような入力データ1件ごとに1つのベクトルを出力する
正確にはもう少し具体的な概念だが、この文脈ではそれで合っている。マルチモーダルLLMを含むLLMにも埋め込みはあるが、それらは類似文書を探すよう学習された埋め込みではなく、テキスト生成を通じて学習された埋め込みだ
かなり印象的に見える。提示された評価に対する批判的な見方が気になる
非英語テキストではどうなのかも気になる。ほかの商用モデル同様、APIでしか提供されないモデルだという理解で合っている?
多言語について書いていた内容が間違っていたので削除した。参考までに、Voyageには別途
law、code、financeモデルもある。[1]を参照いずれにせよ、結果は本当に興味深い
[1]: https://docs.voyageai.com/docs/embeddings
モデルが商用のプロプライエタリで、しかもAPI専用なのは残念
API専用モデルなら見送る。それでもおめでとうとは言う
かなり興味深そうだ。画像や音声のような複数のデータ型をLLMに統合するフレームワークAnyModalに取り組んできた: https://github.com/ritabratamaiti/AnyModal
voyage-multimodal-3はマルチモーダルLLM開発にかなり有望に見えるが、それが意図されたユースケースなのかはよく分からない
従来のPython APIでは、Voyageエンジンがテキストブロックをトークン化して文字列を出力する。このモデルは、画像を空間内でベクトル化することでそれを行っているように見える
youやappleのような単語は1つのトークンになり、pikachuのようなより複雑な用語はpik-a-chuのように分割されることがある[1]: https://docs.voyageai.com/docs/tokenization
マルチモーダル埋め込みの捉え方が興味深い。入力があるモダリティから別のモダリティへ徐々に移行するときの性能変化を測定している
https://i0.wp.com/blog.voyageai.com/wp-content/uploads/2024/...
Colabでは内積0.428と0.498を測定し、それを「類似度の値がかなり高い」と説明している。本当に高い値なのか疑問だ
0.4しきい値でデータを自信を持ってラベル付けするシステムを設計できるだろうか?
ノートブックの例では、それらの値が相対的に最も高かった。なぜ曖昧だったり混乱を招いたりしうるのかは理解できるので、修正するつもりだ
ほぼ完全に同一な重複データではない実データにおいて、コサイン類似度0.4はかなり悪くない値だ