2412.04468_NVILA: Efficient Frontier Visual Language Models

Abstract

  • 摘要: 近年来,视觉语言模型 (VLM) 在准确性方面取得了重大进展。然而,他们的效率受到的关注要少得多。本文介绍了 NVILA,这是一个旨在优化效率和准确性的开放式自动立体货柜系列。在 VILA 的基础上,我们改进了其模型架构,首先提高了空间和时间分辨率,然后压缩了视觉标记。这种“ 先缩放后压缩 ”的方法使 NVILA 能够高效处理高分辨率图像和长视频。我们还进行系统调查,以提高 NVILA 从训练到部署的整个生命周期的效率。NVILA 在各种图像和视频基准测试中达到或超过许多领先的开放式和专有 VLM 的准确性。同时,训练成本降低 1.9-5.1× ,预填充延迟降低 1.6-2.2× ,解码延迟降低 1.2-2.8× 。我们提供代码和模型以促进可重复性。

Figure 1: NVILA – Efficient Frontier VLMs.

  • (a) NVILA trains image and video models 5.1× and 1.9× faster, respectively, than LLaVA-OneVision (OV), which is the only baseline model with publicly disclosed training costs.

  • (b) Against Qwen2-VL, NVILA achieves a 1.6–2.2× measured speedup in the pre-filling stage and a 1.2–2.8× speedup during the decoding stage.

  • (c) NVILA’s efficiency is achieved without compromising accuracy; in fact, it delivers comparable or even superior accuracy across image and video benchmarks.

  • All models in this table have 8B parameters.

  • Training time in (a) is measured using NVIDIA H100 GPUs, while inference speed in (b) is measured using a single NVIDIA GeForce RTX 4090 GPU. Accuracy numbers in (c) are normalized relative to the highest score for each benchmark.

1. Introduction

  • 视觉语言模型(VLMs)能同时理解图像和文字,应用越来越广,比如在机器人、自动驾驶、医疗等领域表现很好,但效率方面进展较少。

  • 目前的问题是:

    1. 训练成本高:训练一个先进的7B模型需要400个GPU天。

    2. 微调难:在特定领域(如医疗图像)使用时,微调会消耗大量内存,比如需要64GB GPU显存。

    3. 部署受限:在边缘设备(如笔记本、机器人)上运行受限于算力。

  • 为了解决这些问题,作者提出了一个新模型家族 NVILA,目标是兼顾效率和准确率。

  • 做法是:

    • 提高图像/视频输入的分辨率(保留更多细节);

    • 然后对视觉信息进行压缩(减少计算量);

    • 这种“先放大再压缩”的策略让模型既能处理高分辨率数据,又节省资源。

  • 改进了模型架构:

    • 首先提升空间和时间分辨率,然后压缩视觉 token。

    • “放大(Scaling)”可以保留更多视觉输入的细节,从而提高模型的准确性上限;

    • “压缩(Compression)”则能将视觉信息压缩到更少的 token 中,从而提升计算效率。

    • 这种“先放大,再压缩”的策略,使 NVILA 能够高效处理高分辨率图像和长视频。

    • 此外,我们还对 NVILA 在整个生命周期(训练、微调、部署)的效率进行了系统优化研究。

  • 结果:

    • 训练成本最多降低5.1倍;

    • 推理速度提升1.2–2.8倍;

    • 精度与最好的开源或商用模型持平甚至更好;

    • 支持新功能,比如视频中定位、机器人导航、医学图像分析。

2. Approach

2.1 Efficient Model Architecture

Figure 3:Model architecture.

  1. NVILA 是基于 VILA 改进的视觉语言模型(VLM),分三部分:

    • 视觉编码器:提取图像/视频特征(用的是 SigLIP)。

    • 投影器:连接视觉和语言特征(2层 MLP)。

    • 大语言模型(如 Qwen2):生成文本输出。

  2. “先放大、再压缩”策略

    • 放大图像分辨率或视频帧数,提升性能上限;

    • 然后压缩视觉 token 数量,降低计算成本。

空间维度优化(2.1.1 Spatial “Scale-Then-Compress”)

  • 提高图像分辨率(如从 448×448 提升到 896×896),但不是对所有图像一刀切。

  • S2 方法:把图像切成小块(tiles)分别处理,避免内存浪费。

  • Dynamic-S2:解决不同宽高比的图像变形问题,保持原始比例切块。

  • 压缩方案

    • 使用 “2×2 Spatial-to-Channel” 结构压缩 token 数量,不降性能;

    • 更激进压缩(如 3×3)会掉精度,通过增加预训练阶段来缓解。

时间维度优化(2.1.2 Temporal “Scale-Then-Compress”)

  • 增加视频帧数(比如从 8 帧增加到 32 帧)提高理解力;

  • 时间压缩方法:用“时间平均”把相邻帧信息合并,减少冗余。

  • 结果:模型精度大幅提升,计算成本只略有增加。


2.2 Efficient Training

  • 训练大规模视觉语言模型(VLM)非常耗资源。为了加快训练速度、降低成本,作者从算法和系统两个方面进行了优化。


1. 数据集剪枝(Dataset Pruning)

  • 问题: 数据量越多并不一定越好,很多数据是冗余的,反而会拖慢训练速度,甚至影响模型效果。

  • 方法: 使用一种叫 DeltaLoss 的指标来衡量哪些训练样本更有价值,丢弃“太简单”或“太难”的样本。

    • 简单样本:大小模型都做对 → 没什么学习价值。

    • 太难样本:小模型做对但大模型做错 → 干扰学习。

    • 有用样本:小模型错但大模型做对 → 对大模型提升有帮助。

  • 结果: 用 DeltaLoss 剪掉 50% 的训练数据,模型效果基本不变,但训练速度提升约 2 倍

  • 结论: 比起盲目扩大训练集,智能筛选数据更有效

Figure 4:Dataset pruning. DeltaLoss visualizations in NVILA training: Left, Middle, and Right sections show examples that are too easy, distracting, and helpful for training, respectively.


2. FP8 混合精度训练(FP8 Training)

  • 背景: 传统用 FP16/BF16 精度训练模型,在不损失精度的情况下提升训练效率。

  • 新进展: 新一代显卡(如 H100、B200)支持更节省资源的 FP8 精度

  • 做法:

    • 使用 FP8 来处理权重、激活、优化器信息等,进一步减小内存消耗、提升速度。

    • 针对 VLM 中不同样本长度差异大的特点(比如视频很长,文本很短),通过使用 FP8 可以增大 batch size(从4到16),提升计算效率。

    • 再配合一些优化技术(如 Liger 的交叉熵内核),即使不开激活量量化,训练仍可提速 1.2 倍

  • 结论: 在视觉语言模型训练中应用 FP8,有显著的 加速效果和资源节省优势

2.3 Efficient Fine-Tuning

  • 训练好一个基础的多模态大模型(VLM)后,还需要通过微调来适应特定领域或任务。

  • 传统的参数高效微调(PEFT)方法多用于纯文本任务,针对VLM的微调研究还不够多。

  • NVILA模型发现两个关键点

    1. 视觉编码器(ViT)和语言模型(LLM)需要设置不同的学习率:ViT的学习率要比LLM小5到50倍。

    2. 微调哪些部分要根据具体任务选择

  • 此外,用 LayerNorm 微调视觉部分的效果与 LoRA 差不多,但更省资源,可减少25%的训练时间,而且能在24GB内存下适配多种任务。

2.4 Efficient Deployment

  • 多模态模型常用于机器人等边缘设备中,对计算资源要求高。

  • NVILA开发了一个高效推理引擎,采用量化技术加速部署

    • 推理分两阶段

      1. 预填阶段(主要消耗计算资源):

        • 对输入token做压缩,减轻LLM负担;

        • 视觉模型成了瓶颈,占90%以上的延迟;

        • W8A8 量化优化视觉模型,加快首个输出token的生成。

      2. 解码阶段(主要受内存限制):

        • 对语言模型使用 W4A16 量化(基于AWQ);

        • 并在此基础上引入 FP16累加优化,让核心计算速度提升 1.7倍,精度不受影响。

3. Experiments

  1. 训练细节

    • NVILA采用五个阶段训练: 1)初始化投影器; 2)视觉编码器预训练(为补偿空间信息压缩导致的性能损失); 3)令牌处理器预训练; 4)图像指令微调; 5)视频指令微调(提升长视频理解能力)。

    • 其中第2和第5阶段是相较之前VILA模型新增的。

    • 训练用PyTorch和DeepSpeed,使用128块NVIDIA H100 GPU,采用AdamW优化器和cosine学习率调度,结合FlashAttention等技术提升效率。

  2. 准确率结果

    • 在多个图像理解基准测试上,NVILA表现优异,尤其在科学和视觉问答任务中与其他顶级模型(包括GPT-4o、Gemini等)竞争力强。

    • 模型大小(8B、15B参数)越大,推理和知识类任务表现越好。

    • 具备较强的OCR识别、多图像理解和推理能力。

    • 视频理解方面,NVILA支持从短视频到长达一小时视频的理解,在多个视频基准上有良好表现。

  • 总结:NVILA通过多阶段训练策略及优化技术,实现了在图像和视频多模态理解任务上的高性能和高效率。

4. More Capabilities

  1. 时间定位(Temporal Localization)

    • 通过在视频中加入时间戳标记,NVILA在定位视频中事件的时间上表现优于之前的模型(比如LITA和VILA-1.5),准确度和精度都有明显提升。

  2. 机器人导航(Robotic Navigation)

    • NVILA可以作为机器人视觉语言导航的基础模型,能够实时处理语言指令和视频输入,规划动作并执行。

    • 它支持多帧输入,结合历史和当前视觉信息,实现高效导航。

    • 实验结果显示NVILA在导航任务中的表现超过了其他模型,并且能在普通笔记本GPU上实时运行。

  3. 医疗应用(Medical Application)

    • NVILA结合了多个医学专用的专家模型,提升了医学图像的诊断和报告生成能力。

    • 其在医学视觉问答、报告生成和分类等任务中表现优异,整体性能较现有最先进模型提高了约9%。

  • 总结:NVILA通过时间信息整合、多模态融合和领域专家模型支持,在视频理解、机器人导航和医疗影像分析方面实现了领先的性能。

6. Conclusion

  • 论文介绍了一个名为 NVILA 的开源视觉语言模型系列,目标是在效率和准确率之间找到最佳平衡。

  • 它采用“先放大再压缩”的方法,能高效处理高分辨率图像和长视频,同时保持准确性。

  • 在训练、微调和推理等全过程中都做了效率优化。

  • NVILA 的性能达到或超过现有主流模型,但资源消耗更少。

  • 它还能用于时间定位、机器人导航和医学影像等新场景。