LLaVA(Large Language and Vision Assistant)是一个开源视觉语言模型,面向对话式图像理解。它结合 CLIP 视觉编码器与 Vicuna/LLaMA 语言模型,支持视觉指令微调,可在图像基础上进行多轮问答与交流。资料标明其采用 Apache 2.0 许可,GitHub 星标超过 23,000。
主要用途与能力
- 构建视觉语言聊天机器人
- 视觉问答(VQA)
- 图像描述与字幕生成
- 多轮图像对话
- 视觉指令遵循
- 带图像的文档理解
常见任务包括图像描述、视觉问答、以文本形式列出图中物体、场景理解以及文档主题理解。
模型与资源需求 资料列出三种模型:LLaVA-v1.5-7B(约 14 GB FP16 显存,4-bit 约 4 GB)、LLaVA-v1.5-13B(约 28 GB FP16,4-bit 约 8 GB)、LLaVA-v1.6-34B(约 70 GB FP16,4-bit 约 18 GB)。速度方面,在 A100 上分别约为 20、12、5 tokens/s。支持 4-bit 量化(显存约降至四分之一)和 8-bit 量化(约减半)。
使用方式 安装:克隆 https://github.com/haotian-liu/LLaVA 并执行 pip install -e .。可通过 Python API 加载模型、处理图像并使用对话模板生成回复;也可使用 CLI(python -m llava.serve.cli)进行单图查询或多轮交互,或通过 Gradio 网页界面(python -m llava.serve.gradio_web_server,默认 http://localhost:7860)使用。多轮对话通过维护 conv 消息历史实现。训练自定义模型分两阶段:特征对齐(558K 图像-字幕对,scripts/v1_5/pretrain.sh)和视觉指令微调(150K 指令数据,scripts/v1_5/finetune.sh)。
适用场景 适合需要本地部署开源视觉语言模型、进行图像问答、图像描述、多轮图像对话与文档图像理解的研究或应用开发。也可与 LangChain、Gradio 等框架集成。
限制 资料列出的限制包括:可能产生幻觉(描述图中不存在的内容)、空间定位推理较弱、小字识别困难、物体计数不精确、需要较强 GPU 且推理速度慢于 CLIP。CPU 推理极慢,建议使用 GPU;提示词应具体明确,温度建议 0.2-0.7,max_new_tokens 512-1024。
基准表现 资料称在 VQAv2 上为 78.5%、GQA 62.0%、MM-Vet 35.4%、MMBench 64.3%。