Wenbo Hu*、Yifan Xu*、Yi Li、Weiyue Li、Zeyuan Chen、Zhuowen Tu。 *平等な貢献
カリフォルニア大学サンディエゴ校、 Coinbase Global, Inc.
モデルのアーキテクチャを応答例とともに詳細に説明します。
方法 | STVQA | OCRVQA | テキストVQA | DocVQA | 情報VQA | チャートQA | ESTVQA | 楽しい | スローイ | ポイエ | 平均 |
---|---|---|---|---|---|---|---|---|---|---|---|
オープンフラミンゴ | 19.32 | 27.82 | 8月29日 | 5.05 | 14.99 | 9.12 | 28.20 | 0.85 | 0.12 | 2.12 | 13.67 |
BLIP2-OPT | 13.36 | 10.58 | 21.18 | 0.82 | 8.82 | 7.44 | 27.02 | 0.00 | 0.00 | 0.02 | 8.92 |
BLIP2-FLanT5XXL | 21.38 | 30.28 | 30.62 | 4.00 | 10.17 | 7.20 | 42.46 | 1.19 | 0.20 | 2.52 | 15.00 |
MiniGPT4 | 2月14日 | 11.52 | 18.72 | 2.97 | 13.32 | 4.32 | 28.36 | 1.19 | 0.04 | 1.31 | 9.58 |
LLaVA | 22.93 | 2月15日 | 28.30 | 4.40 | 13.78 | 7.28 | 33.48 | 1.02 | 0.12 | 2.09 | 12.84 |
mPLUG-フクロウ | 26.32 | 35.00 | 37.44 | 6.17 | 16.46 | 9.52 | 49.68 | 1.02 | 0.64 | 3.26 | 18.56 |
InstructBLIP (FLANT5XXL) | 26.22 | 55.04 | 36.86 | 4.94 | 10.14 | 8.16 | 43.84 | 1.36 | 0.50 | 1.91 | 18.90 |
InstructBLIP (ビクーニャ-7B) | 28.64 | 47.62 | 39.60 | 5.89 | 13.10 | 5.52 | 47.66 | 0.85 | 0.64 | 2.66 | 19.22 |
ブリバ (FLANT5XXL) | 28.24 | 61.34 | 39.36 | 5.22 | 10.82 | 9.28 | 45.66 | 1.53 | 0.50 | 2.39 | 20.43 |
ブリバ (ビクーニャ-7B) | 8月29日 | 65.38 | 42.18 | 6.24 | 13.50 | 8.16 | 48.14 | 1.02 | 0.88 | 2.91 | 21.75 |
方法 | VSR | アイコンQA | テキストVQA | ヴィスディアル | Flickr30K | HM | ビズウィズ | MSRVTT |
---|---|---|---|---|---|---|---|---|
フラミンゴ-3B | - | - | 30.1 | - | 60.6 | - | - | - |
フラミンゴ-9B | - | - | 31.8 | - | 61.5 | - | - | - |
フラミンゴ-80B | - | - | 35.0 | - | 67.2 | - | - | - |
MiniGPT-4 | 50.65 | - | 18.56 | - | - | 29.0 | 34.78 | - |
LLaVA | 56.3 | - | 37.98 | - | - | 9.2 | 36.74 | - |
BLIP-2 (ビクーニャ-7B) | 50.0 | 39.7 | 40.1 | 44.9 | 74.9 | 50.2 | 49.34 | 4.17 |
InstructBLIP (ビクーニャ-7B) | 54.3 | 43.1 | 50.1 | 45.2 | 82.4 | 54.8 | 43.3 | 18.7 |
ブリバ (ビクーニャ-7B) | 62.2 | 44.88 | 57.96 | 45.63 | 87.1 | 55.6 | 42.9 | 23.81 |
conda create -n bliva python=3.9
conda activate bliva
git clone https://github.com/mlpc-ucsd/BLIVA
cd BLIVA
pip install -e .
BLIVA ビクーニャ 7B
弊社のビクーニャバージョンモデルはこちらで公開しております。モデルの重みをダウンロードし、モデル構成の 8 行目にパスを指定します。
私たちが使用した LLM は、Vicuna-7B の v0.1 バージョンです。ビクーニャのウェイトを準備するには、こちらの説明書を参照してください。次に、モデル構成ファイルの 21 行目でビキューナ ウェイトへのパスを設定します。
BLIVA FlanT5 XXL (商用利用可能)
FlanT5バージョンモデルはこちらで公開されています。モデルの重みをダウンロードし、モデル構成の 8 行目にパスを指定します。
Flant5 の LLM 重みは、推論コードを実行すると、huggingface から自動的にダウンロードが開始されます。
画像から 1 つの質問に答えるには、次の評価コードを実行します。例えば、
python evaluate.py --answer_qs
--model_name bliva_vicuna
--img_path images/example.jpg
--question " what is this image about? "
紙の評価タスクで使用したものと同じ、多肢選択式の質問への回答もサポートしています。選択のリストを提供するには、カンマで区切られた文字列である必要があります。例えば、
python evaluate.py --answer_mc
--model_name bliva_vicuna
--img_path images/mi6.png
--question " Which genre does this image belong to? "
--candidates " play, tv show, movie "
私たちのデモはここで公開されています。デモをマシン上でローカルに実行するには。走る:
python demo.py
トレーニング データセットをダウンロードし、データセット構成でそのパスを指定すると、トレーニングの準備が整います。実験では 8x A6000 Ada を利用しました。 GPU リソースに応じてハイパーパラメータを調整してください。トランスフォーマーがモデルをロードするのに約 2 分かかる場合があります。モデルがトレーニングを開始するまで少し時間を置きます。ここでは、BLIVA Vicuna バージョンのトレーニングの例を示します。Flant5 バージョンも同じ形式に従います。
torchrun --nnodes=1 --nproc_per_node=8
train.py
--cfg-path train_configs/pretrain_bliva_vicuna.yaml
torchrun --nnodes=1 --nproc_per_node=8
train.py
--cfg-path train_configs/finetune_bliva_vicuna.yaml
または、第 2 ステップで LoRA を使用した BLIVA と組み合わせた Vicuna7b のトレーニングもサポートしています。デフォルトではこのバージョンは使用しません。
torchrun --nnodes=1 --nproc_per_node=8
train.py
--cfg-path train_configs/finetune_bliva_and_vicuna.yaml
BLIVA があなたの研究や応用に役立つと思われる場合は、この BibTeX を使用して引用してください。
@misc { hu2023bliva ,
title = { BLIVA: A Simple Multimodal LLM for Better Handling of Text-Rich Visual Questions } ,
author = { Wenbo Hu and Yifan Xu and Yi Li and Weiyue Li and Zeyuan Chen and Zhuowen Tu } ,
publisher = { arXiv:2308.09936 } ,
year = { 2023 } ,
}
このリポジトリのコードは BSD 3 条項ライセンスに基づいています。ここでは、多くのコードが BSD 3 条項ライセンスを持つ Lavis に基づいています。
BLIVA Vicuna バージョンのモデル パラメーターについては、LLaMA のモデル ライセンスに基づいて使用する必要があります。 BLIVA FlanT5 のモデル重量については、Apache 2.0 ライセンスに基づいています。 YTTB-VQA データについては、CC BY NC 4.0 に準拠しています。