SuperAPI AI 工具集

nanoLLaVA

nanoLLaVA(GitHub 仓库 qnguyen3/nanoLLaVA)被介绍为“世界上最小的视觉语言模型”,基于 LLaVA 构建。同仓库还介绍了 Bunny 系列轻量级多模态模型:提供可插拔的视觉编码器(如 EVA-CLIP、SigLIP)与语言骨干(如 Phi-1.5、StableLM-2、Qwen1.5、Phi-2),并通过更高质量的训练数据弥补模型规模减小带来的影响。据资料,Bunny-v1.0-3B(基于 SigLIP 与 Phi-2)在对比同规模及更大 7B 多模态模型时表现更优,甚至与 13B 模型性能相当;另发布中文版 Bunny-v1.0-2B-zh(基于 SigLIP 与 Qwen1.5-1.8B)。仓库提供训练(预训练与视觉指令微调)、Gradio 网页服务与 CLI 推理的代码与脚本,并附有模型、数据与技术报告链接。许可证方面,项目自身采用 Apache 2.0,但所用数据集与检查点须遵守各自原始许可。

访问官网

工具介绍

nanoLLaVA 是 GitHub 上的开源项目(qnguyen3/nanoLLaVA),其定位为“世界上最小的视觉语言模型”,并基于 LLaVA(Large Language and Vision Assistant)构建。仓库同时介绍了 Bunny:一个轻量级但能力较强的多模态模型系列。

用途与定位 Bunny 面向多模态(视觉-语言)任务,旨在以较小的模型规模实现有竞争力的多模态理解能力,并支持替换不同的视觉编码器与语言模型骨干。

主要能力与模型

  • 提供可插拔的视觉编码器,例如 EVA-CLIP、SigLIP。
  • 提供多种语言骨干,包括 Phi-1.5、StableLM-2、Qwen1.5 与 Phi-2。
  • 通过从更广泛数据源中精选、构建更具信息量的训练数据,以弥补模型规模减小带来的影响。
  • 据资料,基于 SigLIP 与 Phi-2 的 Bunny-v1.0-3B 不仅优于同规模多模态模型,也优于更大的 7B 多模态模型,甚至达到与 13B 模型相当的性能。
  • 2024.03.15 发布聚焦中文的 Bunny-v1.0-2B-zh,基于 SigLIP 与 Qwen1.5-1.8B。

使用方式

  • 提供 HuggingFace transformers 代码片段,用于使用 Bunny-v1.0-3B 与 Bunny-v1.0-2B-zh。
  • 训练分为两阶段:(1) 预训练阶段:连接冻结的预训练视觉编码器与冻结的 LLM,仅训练连接器;(2) 视觉指令微调阶段:让模型遵循多模态指令,更新连接器与可学习的 LLM 参数。
  • 训练依赖:CUDA 11.8 与 cuDNN 8.7.0(CUDA 12 亦可),需要创建 conda 虚拟环境(python=3.10),安装 transformers、torch、torchvision、xformers、apex、flash-attention 等,并安装 bunny 包。
  • 训练规模:使用 8 张 A100 GPU;如条件不同,可减小 per_device_train_batch_size 并相应增大 gradient_accumulation_steps,保持全局批大小不变(global_batch_size = per_device_train_batch_size × gradient_accumulation_steps × num_gpus)。
  • 支持的骨干:视觉编码器支持 CLIP、EVA-CLIP、SigLIP;LLM 支持 phi-1.5、stablelm-2、qwen1.5-1.8b、phi-2。代码基于上述具体版本构建与测试。
  • 预训练数据:使用 LAION-2B 的高质量核心集(去重且更具信息量),随机采样 200 万图文对并转换为训练格式。
  • 视觉指令微调数据:通过修改 SVIT-mix-665K 构建 Bunny-695K。
  • 服务与推理:可启动 Controller、Gradio Web Server 与 Model Worker,也可使用 CLI 推理(含全参数微调模型与 LoRA 微调模型两种加载方式;LoRA 权重可用 merge_lora_weights.py 合并)。

适用场景 适合希望在较小模型规模下进行多模态视觉-语言研究与开发的用户,包括需要替换视觉编码器/语言骨干开展实验、按两阶段流程训练多模态模型、以及通过 Gradio 或 CLI 进行本地推理的场景。

限制与许可

  • 资料未提供 nanoLLaVA 自身的具体模型规模、训练数据、基准分数或商用说明。
  • 项目自身采用 Apache 2.0 许可证;所使用的数据集与检查点受各自原始许可证约束,用户须遵守其全部条款。
  • 训练建议使用 8 张 A100;其他硬件需按说明调整批大小与梯度累积。资料未提供其他硬件下的具体性能与耗时。