🚀 LLaVA-Mini: 1つのビジョントークンで効率的な画像およびビデオの大規模マルチモーダルモデル
LLaVA-Miniは、画像、高解像度画像、およびビデオの理解を効率的にサポートできる統一型の大規模マルチモーダルモデルです。大規模マルチモーダルモデル(LMM)内の解釈可能性に導かれ、LLaVA-Miniはビジョン機能を確保しながら効率を大幅に向上させます。LLaVA-Miniのコード、モデル、およびデモは現在利用可能です!
LLaVA-Miniの詳細については、GitHubリポジトリを参照してください!
⚠️ 重要な注意
LLaVA-Miniは、各画像を表すために1つのトークンしか必要とせず、画像およびビデオの理解の効率を向上させます。具体的には以下のような改善があります。
- 計算量:FLOPsが77%削減
- 応答遅延:100ミリ秒から40ミリ秒に削減
- VRAMメモリ使用量:360MB/画像から0.6MB/画像に削減され、3時間のビデオ処理をサポート
💡特長:
- 優れた性能:LLaVA-Miniは、576個ではなく1つのビジョントークンを使用しながら、LLaVA-v1.5に匹敵する性能を達成します(圧縮率0.17%)。
- 高い効率:LLaVA-Miniは、FLOPsを77%削減し、40ミリ秒以内の低遅延応答を実現し、24GBのメモリを持つGPUハードウェアで10,000フレーム以上のビデオを処理できます。
- 洞察:視覚的理解を維持しながらビジョントークンを削減するLLaVA-Miniを開発するために、大規模マルチモーダルモデル(LMM)が視覚トークンを処理する方法を探索する予備的な分析を行いました。詳細な分析と結論については、論文を参照してください。
🚀 クイックスタート
必要条件
コマンドでのインタラクション
-
--image-file
を使用した画像理解:
CUDA_VISIBLE_DEVICES=0 python llavamini/eval/run_llava_mini.py \
--model-path ICTNLP/llava-mini-llama-3.1-8b \
--image-file llavamini/serve/examples/baby_cake.png \
--conv-mode llava_llama_3_1 --model-name "llava-mini" \
--query "What's the text on the cake?"
-
--video-file
を使用したビデオ理解:
CUDA_VISIBLE_DEVICES=0 python llavamini/eval/run_llava_mini.py \
--model-path ICTNLP/llava-mini-llama-3.1-8b \
--video-file llavamini/serve/examples/fifa.mp4 \
--conv-mode llava_llama_3_1 --model-name "llava-mini" \
--query "What happened in this video?"
再現と評価
ケース
- LLaVA-Miniは、高品質な画像理解とビデオ理解を実現します。
更多のケース
- LLaVA-Miniは、画像を動的に圧縮して重要な視覚情報を捕捉します(圧縮中は明るい領域の重みが大きくなります)。
✨ 主な機能
- 画像、高解像度画像、およびビデオの理解をサポート
- 1つのビジョントークンで効率的な処理を実現
- 計算量、応答遅延、VRAMメモリ使用量を大幅に削減
📦 インストール
必要条件
💻 使用例
基本的な使用法
-
モデルをダウンロードし、スクリプトを実行してブラウザでLLaVA-Miniと対話します。
python -m llavamini.serve.controller --host 0.0.0.0 --port 10000 &
CUDA_VISIBLE_DEVICES=0 python -m llavamini.serve.model_worker --host 0.0.0.0 --controller http://localhost:10000 --port 40000 --worker http://localhost:40000 --model-path ICTNLP/llava-mini-llama-3.1-8b --model-name llava-mini &
python -m llavamini.serve.gradio_web_server --controller http://localhost:10000 --model-list-mode reload --port 7860
高度な使用法
-
画像理解:
CUDA_VISIBLE_DEVICES=0 python llavamini/eval/run_llava_mini.py \
--model-path ICTNLP/llava-mini-llama-3.1-8b \
--image-file llavamini/serve/examples/baby_cake.png \
--conv-mode llava_llama_3_1 --model-name "llava-mini" \
--query "What's the text on the cake?"
-
ビデオ理解:
CUDA_VISIBLE_DEVICES=0 python llavamini/eval/run_llava_mini.py \
--model-path ICTNLP/llava-mini-llama-3.1-8b \
--video-file llavamini/serve/examples/fifa.mp4 \
--conv-mode llava_llama_3_1 --model-name "llava-mini" \
--query "What happened in this video?"
📚 ドキュメント
📄 ライセンス
このリポジトリはGPL-3.0ライセンスの下で提供されています。
🖋 引用
このリポジトリがあなたに役立った場合は、以下のように引用してください。
@misc{llavamini,
title={LLaVA-Mini: Efficient Image and Video Large Multimodal Models with One Vision Token},
author={Shaolei Zhang and Qingkai Fang and Zhe Yang and Yang Feng},
year={2025},
eprint={2501.03895},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2501.03895},
}
質問がある場合は、issueを投稿するか、zhangshaolei20z@ict.ac.cn
に連絡してください。