⭐️私たちのシリーズ作品: [ MMStar ] [ ShareGPT4Video ] [ ShareGPT4Omni ]
??? ShareGPT4V の正式実装: ECCV 2024 でのより良いキャプションによる大規模なマルチモーダル モデルの改善。
著者: Lin Chen*、Jinsong Li*、Xiaoyi Dong、Pan Zhang、Conghui He、Jiaqi Wang、Feng Zhao?、Dahua Lin?
研究機関: 中国科学技術大学;上海AI研究所
リソース: [論文] [プロジェクト ページ] [ GPT4V データセットを共有する]
モデル: [ShareGPT4V-7B] [ShareCaptioner]
ShareGPT4V-7B デモ[OpenXLab] [?HuggingFace] [Colab]
Share-Captioner デモ[OpenXlab] [?HuggingFace]
?大規模で高度に説明的な画像テキスト データセット
? 100K GPT4-Vision 生成のキャプション、 120 万の高品質キャプション
? GPT4-Vision のキャプション機能に近い、一般的な画像キャプショナ。
?優れた大型マルチモーダルモデルShareGPT4V-7B
[2024/7/2] ShareGPT4V が ECCV 2024 に承認されたことをお知らせします。
[2024/5/8] GPT4V でアノテーションが付けられた40,000 個のキャプションと、ShareCaptioner-Video でアノテーションが付けられた480 万個のキャプションを備えた大規模なビデオキャプション データセットであるShareGPT4Video をリリースしました。合計ビデオの長さはそれぞれ300時間と3000時間です。
[2024/4/1]エリートビジョンに欠かせないマルチモーダルベンチマーク「MMStar」をリリースしました。楽しむ!?
【2023/12/14】 ShareGPT4V-13Bモデルを発売しました。楽しむ!?
[2023/12/13]トレーニングと評価コードが公開されました。
[2023/12/13] Local ShareCaptionerが利用可能になりました!これを利用して、 tools/share-cap_batch_infer.py
直接実行することで、バッチ推論を使用してデータセットの高品質のキャプションを生成できます。
[2023/11/23]一般的なShare-Captioner!?のWebデモを公開します
[2023/11/23] ShareGPT4V-7B のローカルデモを構築するためのコードを公開します!?
[2023/11/22] Webデモとチェックポイントが公開中!?
[2023/11/21] ShareGPT4V データセットが公開されました!?
[2023/11/20]論文・プロジェクトページを公開しました!
ShareGPT4V-7B のトレーニングおよび評価コード
ローカル共有キャプショナ
ShareGPT4V-7BのWebデモとローカルデモ
ShareGPT4V-7Bのチェックポイント
詳細については、ModelZoo.md を参照してください。
名前 | LLM | チェックポイント | LLaVA-ベンチ-ワイルド | MME の認識 | MME認知 | MMベンチ | MMベンチ-CN | SEED画像 | MM-獣医 | Qベンチ | SQAイメージ | VQA-v2 | ビズウィズ | GQA | テキストVQA |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
シェアGPT4V-7B | ビクーニャ-7B | シェアGPT4V-7B | 72.6 | 1567.4 | 376.4 | 68.8 | 62.2 | 69.7 | 37.6 | 63.4 | 68.4 | 80.6 | 57.2 | 63.3 | 60.4 |
シェアGPT4V-13B | ビクーニャ-13B | シェアGPT4V-13B | 79.9 | 1618.7 | 303.2 | 68.5 | 63.7 | 70.8 | 43.1 | 65.2 | 71.2 | 81.0 | 55.6 | 64.8 | 62.2 |
from share4v.model.builder import load_pretrained_modelfrom share4v.mm_utils import get_model_name_from_pathfrom share4v.eval.run_share4v import eval_modelmodel_path = "Lin-Chen/ShareGPT4V-7B"tokenizer, model, image_processor, context_len = load_pretrained_model(model_path=model_path, model_base=None,モデル名=get_モデル名_from_path(モデル_パス) )
share4v/model/builder.py
のload_pretrained_model
関数で詳細を確認してください。
share4v/eval/run_llava.py
のeval_model
関数を使用して、出力を簡単に取得することもできます。こうすることで、このリポジトリをダウンロードした後、このコードを Colab で直接使用できるようになります。
model_path = "Lin-Chen/ShareGPT4V-7B"prompt = "右側のキャラクターの最も一般的なキャッチフレーズは何ですか?"image_file = "examples/breaking_bad.png"args = type('Args', (), { " model_path": model_path、"model_base": なし、"model_name": get_model_name_from_path(model_path)、 "query": プロンプト、"conv_mode": なし、"image_file": image_file、"sep": ","、"温度": 0、"top_p": なし、"num_beams": 1、"max_new_tokens": 512} )()eval_model(args)
git clone https://github.com/InternLM/InternLM-XComposer -- Depth=1cd プロジェクト/ShareGPT4V conda create -n share4v python=3.10 -y conda は share4v をアクティブ化します pip install --upgrade pip pip install -e .pip install -e ".[train]"pip install flash-attn --no-build-isolation
次の方法でローカル デモを構築できます。
# run script python tools/app.py
データセットを管理するには、この Data.md の指示に従ってください。現在、Web データへの直接ダウンロード アクセスを提供しています。ただし、潜在的な紛争を避けるために、近い将来、生データではなく、これらのデータセットの URL をリリースする予定です。
ShareGPT4V モデルのトレーニングは 2 つのステージで構成されます。 (1) 特徴調整ステージ: 120 万の ShareCaptioner で生成された高品質の画像とテキストのペアを備えた ShareGPT4V-PT データセットを使用して、ビジョン エンコーダー、プロジェクター、LLM を微調整して、テキストとテキストを調整します。視覚的モダリティ。 (2) 視覚的な指示の調整段階: プロジェクターと LLM を微調整して、モデルにマルチモーダルな指示に従うように教えます。
より少ない GPU でトレーニングするには、 per_device_train_batch_size
を減らし、それに応じてgradient_accumulation_steps
を増やすことができます。グローバル バッチ サイズは常に同じに保ちます ( per_device_train_batch_size x gradient_accumulation_steps x num_gpus
。
微調整には ShareGPT4V-7B と同様のハイパーパラメーターのセットを使用します。 事前トレーニングと微調整で使用される両方のハイパーパラメーターを以下に示します。
事前トレーニング
ハイパーパラメータ | グローバルバッチサイズ | 学習率 | エポック | 最大長さ | 体重の減少 |
---|---|---|---|---|---|
シェアGPT4V-7B | 256 | 2e-5 | 1 | 2048年 | 0 |
微調整
ハイパーパラメータ | グローバルバッチサイズ | 学習率 | エポック | 最大長さ | 体重の減少 |
---|---|---|---|---|---|
シェアGPT4V-7B | 128 | 2e-5 | 1 | 2048年 | 0 |
まず、LAION-CC-SBU-558K を備えた LLaVA-1.5 によって事前トレーニングされた MLP プロジェクターをダウンロードする必要があります。モダリティ調整に高品質の詳細なキャプションを使用する前に、大まかなモダリティ調整プロセスを実行することが有益であるためです。
projects/ShareGPT4V/scripts/sharegpt4v/slurm_pretrain_7b.sh
実行してモデルを事前トレーニングできます。スクリプト内でプロジェクターのパスを忘れずに指定してください。この段階では、ビジョン エンコーダのブロック、プロジェクター、LLM の後半を微調整しました。
私たちのセットアップでは 16 個の A100 (80G) GPU を使用し、事前トレーニング プロセス全体は約 12 時間かかりました。勾配蓄積ステップの数を調整して、GPU の数を減らすことができます。
この段階では、sharegpt4v_mix665k_cap23k_coco-ap9k_lcs3k_sam9k_div2k.json を使用してプロジェクターと LLM を微調整します。
projects/ShareGPT4V/scripts/sharegpt4v/slurm_finetune_7b.sh
実行してモデルを微調整できます。
私たちのセットアップでは 16 個の A100 (80G) GPU を使用し、事前トレーニング プロセス全体は約 7 時間かかりました。勾配蓄積ステップの数を調整して、GPU の数を減らすことができます。
再現性を確保するために、貪欲なデコードを使用してモデルを評価します。推論プロセスをリアルタイム出力のチャット デモと一致させるためにビーム サーチを使用して評価することはありません。
評価.mdを参照してください。
LLaVA: 私たちが構築したコードベース。彼らの素晴らしい仕事に感謝します。
Vicuna: 驚くべきオープンソースの大規模言語モデル!
私たちの研究があなたの研究に役立つと思われる場合は、星 ⭐ と引用 ? を付けることを検討してください。
@article{chen2023sharegpt4v, title={ShareGPT4V: より良いキャプションによる大規模なマルチモーダル モデルの改善}, author={Chen、Lin と Li、Jisong と Dong、Xiaoyi と Zhang、Pan と He、Conghui と Wang、Jiaqi と Zhao、 Feng と Lin、Dahua}、journal={arXiv プレプリントarXiv:2311.12793}、year={2023}}@article{chen2024sharegpt4video、title={ShareGPT4Video: より良いキャプションによるビデオの理解と生成の向上}、author={Chen、Lin と Wei、Xilin と Li、Jinsong と Dong、Xiaoyi、チャン、パンとザン、ユーハンとチェン、ゼフイとドゥアン、 Haodong と Lin、Bin と Tang、Zhenyu 他}、journal={arXiv preprint arXiv:2406.04325}、year={2024}}@article{chen2024we, title={我々は大規模な視覚言語モデルを評価する正しい道を進んでいるのか?}、著者={チェン、リンとリー、ジンソンとドン、シャオイーとチャン、パンZang、Yuhang と Chen、Zehui と Duan、Haodong と Wang、Jiaqi と Qiao、Yu と Lin、Dahua など}、journal={arXiv preprint arXiv:2403.20330}、year={2024}}
使用法とライセンスに関する通知: データとチェックポイントは研究用途のみを目的としており、ライセンスが付与されています。また、LLaMA、Vicuna、GPT-4 のライセンス契約に従った使用に制限されます。データセットは CC BY NC 4.0 (非営利使用のみ許可) であり、データセットを使用してトレーニングされたモデルは研究目的以外に使用しないでください。