🚀 LLaVA-Mini:基於單視覺令牌的高效圖像與視頻大型多模態模型
LLaVA-Mini 是一個統一的大型多模態模型,能夠高效地支持對圖像、高分辨率圖像和視頻的理解。在大型多模態模型(LMM)可解釋性的指導下,LLaVA-Mini 在確保視覺能力的同時顯著提高了效率。目前,LLaVA-Mini 的代碼、模型和演示均已開放!
如需瞭解 LLaVA-Mini 的詳細信息,請參考我們的 GitHub 倉庫!
✨ 主要特性
- 性能出色:LLaVA-Mini 僅使用 1 個視覺令牌,就能實現與 LLaVA-v1.5 相當的性能,而不是 576 個(壓縮率為 0.17%)。
- 高效運行:LLaVA-Mini 可減少 77% 的浮點運算,能在 40 毫秒內提供低延遲響應,並能在 24GB 內存的 GPU 硬件上處理超過 10000 幀的視頻。
- 深入洞察:為了開發出在減少視覺令牌的同時保持視覺理解能力的 LLaVA-Mini,我們進行了初步分析,以探索大型多模態模型(LMM)如何處理視覺令牌。詳細分析和結論請參考我們的論文。
⚠️ 重要提示
LLaVA-Mini 僅需 1 個令牌 來表示每張圖像,這提高了圖像和視頻理解的效率,包括:
- 計算量:減少 77% 的浮點運算
- 響應延遲:從 100 毫秒降至 40 毫秒
- 顯存使用:從每張圖像 360 MB 降至 0.6 MB,支持 3 小時的視頻處理
🚀 快速開始
環境要求
conda create -n llavamini python=3.10 -y
conda activate llavamini
pip install -e .
pip install -e ".[train]"
pip install flash-attn --no-build-isolation
命令行交互
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?"
復現與評估
實際案例
- LLaVA-Mini 實現了高質量的圖像理解和視頻理解。
更多案例
- LLaVA-Mini 動態壓縮圖像以捕獲重要的視覺信息(壓縮過程中較亮區域的權重更高)。
💻 使用示例
基礎用法
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?"
🖥 演示
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
📄 許可證
本項目採用 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
。