ホームページ| ?データセット(M-BEIRベンチマーク) | ?チェックポイント( UniIRモデル) | arXiv | GitHub
このリポジトリには、ECCV-2024 論文「 UniIR : Training and Benchmarking Universal Multimodal Information Retrievers」のコードベースが含まれています
私たちは、(おそらく)あらゆる検索タスクを達成するために単一の検索者を学習するためのUniIR (Universal multimodal Information Retrieval)フレームワークを提案します。従来の IR システムとは異なり、 UniIRさまざまなモダリティの数百万の候補を含む異種候補プールから異種クエリを取得するための指示に従う必要があります。
UniIR ティーザー" style="幅: 80%;最大幅: 100%;">
普遍的なマルチモーダル検索モデルをトレーニングおよび評価するために、 M-BEIR (Multimodal BEnchmark for Instructed Retrieval) という名前の大規模な検索ベンチマークを構築します。
M-BEIR データセットは? で提供されます。データセット。 HF ページに記載されている手順に従ってデータセットをダウンロードし、トレーニングと評価用のデータを準備してください。 GiT LFS を設定し、リポジトリを直接クローンする必要があります。
git clone https://huggingface.co/datasets/TIGER-Lab/M-BEIR
UniIR CLIP-ScoreFusion、CLIP-FeatureFusion、BLIP-ScoreFusion、および BLIP-FeatureFusion モデルのトレーニングと評価のためのコードベースを提供します。
次のコマンドを使用して、 UniIRプロジェクトと Conda 環境のコードベースを準備します。
git clone https://github.com/TIGER-AI-Lab/UniIR
cd UniIR
cd src/models/
conda env create -f UniIR _env.yml
事前トレーニングされた CLIP および BLIP チェックポイントからUniIRモデルをトレーニングするには、以下の手順に従ってください。スクリプトは、事前トレーニングされた CLIP および BLIP チェックポイントを自動的にダウンロードします。
「M-BEIR」セクションの手順に従って、M-BEIR ベンチマークをダウンロードしてください。
cd src/models/ UniIR _clip/clip_scorefusion/configs_scripts/large/train/inbatch/
ハイパーパラメータ調整用にinbatch.yaml
変更し、独自の環境とパス用にrun_inbatch.sh
変更します。
run_inbatch.sh
内のUniIR _DIR
、チェックポイントを保存するディレクトリに変更します。run_inbatch.sh
のMBEIR_DATA_DIR
を、M-BEIR ベンチマークを保存するディレクトリに変更します。run_inbatch.sh
内のSRC_DIR
、 UniIRプロジェクトのコードベースを保存するディレクトリ (このリポジトリ) に変更します。WANDB_API_KEY
、 WANDB_PROJECT
、およびWANDB_ENTITY
を含む.env
環境が設定されていることを確認してください。次に、次のコマンドを実行してUniIR CLIP_SF Large モデルをトレーニングできます。
bash run_inbatch.sh
cd src/models/ UniIR _blip/blip_featurefusion/configs_scripts/large/train/inbatch/
ハイパーパラメータ調整用にinbatch.yaml
変更し、独自の環境とパス用にrun_inbatch.sh
変更します。
bash run_inbatch.sh
M-BEIR ベンチマークでUniIRモデルの評価パイプラインを提供します。
FAISS ライブラリ用の環境を作成してください。
# From the root directory of the project
cd src/common/
conda env create -f faiss_env.yml
「M-BEIR」セクションの手順に従って、M-BEIR ベンチマークをダウンロードしてください。
「Model Zoo」セクションの手順に従って、 UniIRモデルを最初からトレーニングすることも、事前トレーニングされたUniIRチェックポイントをダウンロードすることもできます。
cd src/models/ UniIR _clip/clip_scorefusion/configs_scripts/large/eval/inbatch/
独自の環境、パス、評価設定に合わせてembed.yaml
、 index.yaml
、 retrieval.yaml
、およびrun_eval_pipeline_inbatch.sh
を変更します。
run_eval_pipeline_inbatch.sh
内のUniIR _DIR
、チェックポイント、埋め込み、インデックス、取得結果を含む大きなファイルを保存するディレクトリに変更してください。次に、 clip_sf_large.pth
ファイルを次のパスに配置します。 $ UniIR _DIR /checkpoint/CLIP_SF/Large/Instruct/InBatch/clip_sf_large.pth
embed.yaml
ファイルのmodel.ckpt_config
で指定されたデフォルトのパスです。run_eval_pipeline_inbatch.sh
のMBEIR_DATA_DIR
、M-BEIR ベンチマークを保存するディレクトリに変更します。run_eval_pipeline_inbatch.sh
内のSRC_DIR
、 UniIRプロジェクトのコードベースを保存するディレクトリ (このリポジトリ) に変更します。デフォルト構成では、M-BEIR (5.6M 異種候補プール) ベンチマークと M-BEIR_local (同種候補プール) ベンチマークの両方でUniIR CLIP_SF Large モデルを評価します。 yaml ファイル内のUNION
は、M-BEIR (5.6M 異種候補プール) を指します。 yaml ファイル内のコメントに従って構成を変更し、M-BEIR_local ベンチマークのみでモデルを評価できます。
bash run_eval_pipeline_inbatch.sh
embed
、 index
、 logger
、およびretrieval_results
は$ UniIR _DIR
ディレクトリに保存されます。
cd src/models/unii_blip/blip_featurefusion/configs_scripts/large/eval/inbatch/
同様に、事前トレーニングされたUniIRモデルをダウンロードする場合は、 blip_ff_large.pth
ファイルを次のパスに配置できます。
$ UniIR _DIR /checkpoint/BLIP_FF/Large/Instruct/InBatch/blip_ff_large.pth
デフォルト構成では、M-BEIR ベンチマークと M-BEIR_local ベンチマークの両方でUniIR BLIP_FF Large モデルを評価します。
bash run_eval_pipeline_inbatch.sh
UniRAG の評価はデフォルトの評価と非常に似ていますが、次のような違いがあります。
retrieval_results
に保存します。これは、取得した結果が RAG などの下流アプリケーションで使用される場合に便利です。retrieval.yaml
のretrieve_image_text_pairs
がTrue
に設定されている場合、 text
またはimage
のみのモダリティで各候補の補完候補がフェッチされます。この設定では、候補とその補語は常にimage, text
モダリティを持ちます。補完候補は、元の候補をクエリとして使用することによって取得されます (例:クエリテキスト->候補画像->補完候補テキスト)。InBatch
とinbatch
それぞれUniRAG
とunirag
に置き換えます。 ?でUniIRモデルのチェックポイントを提供します。チェックポイント。チェックポイントを取得タスクに直接使用することも、独自の取得タスク用にモデルを微調整することもできます。
モデル名 | バージョン | モデルサイズ | モデルリンク |
---|---|---|---|
UniIR (CLIP-SF) | 大きい | 5.13GB | ダウンロードリンク |
UniIR (BLIP-FF) | 大きい | 7.49GB | ダウンロードリンク |
これらは次の方法でダウンロードできます。
git clone https://huggingface.co/TIGER-Lab/UniIR
BibTeX:
@article { wei2023 UniIR ,
title = { UniIR : Training and benchmarking universal multimodal information retrievers } ,
author = { Wei, Cong and Chen, Yang and Chen, Haonan and Hu, Hexiang and Zhang, Ge and Fu, Jie and Ritter, Alan and Chen, Wenhu } ,
journal = { arXiv preprint arXiv:2311.17136 } ,
year = { 2023 }
}