🚀 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
。