原文摘要 · English Abstract
NVILA, a family of open VLMs designed to jointly optimize efficiency and accuracy. Building on VILA, we first scale up spatial and temporal resolutions, then compress visual tokens. This scale-then-compress approach enables efficient processing of high-resolution images and long videos. NVILA matches or surpasses leading VLMs while reducing training cost by 1.9-5.1x, prefilling latency by 1.6-2.2x, and decoding latency by 1.2-2.8x.
概要
开源VLM精度不断刷新,但训练、微调、部署所需的算力与显存代价也随之飙升,效率长期被忽视。NVILA基于VILA架构,提出「先扩展再压缩」(scale-then-compress)思路:先用Dynamic-S2扩大图像分辨率、增加视频采样帧数抬高精度上限,再用空间与时序token压缩把膨胀的视觉token数量压回预算,几乎不损失精度地降低计算量。论文进一步优化训练数据剪枝、微调学习率设置、部署分阶段量化,最终把训练成本降低1.9–5.1倍、推理延迟降低1.2–2.8倍,精度仍不输甚至超过开源与闭源模型。
此前开源VLM(如VILA-1.5、LLaVA系列)大多固定图像分辨率(如448×448)、固定采样帧数(如8–14帧),文本密集图像和长视频理解上因信息损失严重而落后于GPT-4o、Gemini等闭源模型;但提高分辨率或帧数会让视觉token翻倍,加上自注意力的平方复杂度,训练推理成本急剧上升。训练数据规模持续膨胀却边际收益递减,微调部署也缺乏针对VLM特点的专门优化,这正是NVILA要系统解决的问题。
关键贡献
- 提出「先扩展再压缩」范式:先扩大图像分辨率和视频采样帧数以提升精度上限,再用视觉token压缩把计算量压回原有预算。
- 提出Dynamic-S2,在S2多尺度图像金字塔基础上按输入图像的长宽比自适应选择最大尺度的分块方式,避免强制方形缩放带来的形变。
- 提出基于知识蒸馏思想的DeltaLoss数据剪枝方法,用大、小两个参考VLM在同一样本上的对数似然差筛掉过于简单和存在干扰性的训练样本。
- 系统研究VLM微调中ViT与LLM学习率应分离设置的问题,发现只微调ViT的LayerNorm层即可匹配LoRA精度而更省显存和训练时间。
- 构建面向边缘部署的专用推理引擎,对前填充阶段的视觉塔做W8A8量化、对解码阶段的LLM主干做改进的W4A16 AWQ量化,兼顾延迟与显存开销。
- 发布NVILA与更强调效率的NVILA-Lite两个变体并开源代码与权重,在图像和视频基准上取得与GPT-4o、Gemini 1.5 Pro相当或更优的精度。
方法详解(完整做法)
总体思路
NVILA沿用VILA的「视觉编码器+投影层+语言模型」三段式结构(视觉编码器用SigLIP、投影层是两层MLP、语言模型用Qwen2),但在效率上贯彻一条「先扩展再压缩」的设计原则:先用Dynamic-S2扩大图像分辨率、用更多帧扩大视频输入信息量以抬高精度上限,再分别对空间和时序两个维度做视觉token压缩,把因扩展而膨胀的计算量压回可接受范围。围绕这一模型层面的思路,论文还系统优化训练阶段的数据构成、微调阶段的显存开销、部署阶段的推理延迟,让效率优化贯穿VLM从训练到落地的整条链路。
Dynamic-S2:空间维度的扩展与压缩
直接把编码器输入分辨率提到896×896会对所有图像施加同样的开销,不管内容繁简。NVILA借用S2的做法:把图像缩放到多个尺度(如448²、896²、1344²),每个尺度切成448²的小块分别过编码器再拼接特征图,不同尺度的特征图再插值到统一大小并沿通道维拼接。S2固定把每个尺度缩放成正方形,遇到极端长宽比的图像会产生形变;NVILA提出Dynamic-S2,只在最大尺度上改为挑选保持原图长宽比、且能被448²整除的最接近尺寸。扩展后再用2×2甚至3×3的spatial-to-channel重排压缩视觉token数量:
3×3压缩比2×2更激进,单独使用会让DocVQA掉分近10点,NVILA额外引入一个联合微调视觉编码器与投影层的「视觉编码器预训练」阶段,把这部分精度损失基本补回来,同时保留3×3相对2×2带来的2.4倍训练与推理加速。
时序维度的扩展与压缩
时序方向上,NVILA先直接增加均匀采样的视频帧数:从8帧提到32帧,Video-MME精度提升超过5点,但视觉token数量也随之扩大4倍。由于相邻帧内容高度冗余,NVILA采用时序平均池化,把连续帧分组后对组内的视觉token取平均:
其中是每组的帧数(即时序压缩比)。4倍压缩只带来很小的精度下降,把采样帧数进一步推到256帧、压缩比提到8倍后,NVILA在token预算与原先8帧基线相近的情况下,在7–8B开源模型中于Video-MME上取得当时最优结果。
DeltaLoss数据剪枝
随着SFT数据集越堆越大,边际收益递减且冗余增多。受知识蒸馏启发,NVILA用一个大参考VLM和一个小参考VLM在同一训练样本上对答案token的对数似然差给每条样本打分:
接近0说明大小模型表现一致,样本判别力低;为负说明小模型答对而大模型答错,样本更可能是干扰甚至噪声;为正说明只有大模型答对,是有效的监督信号。对每个来源子集按保留比例取分数最高的部分构成剪枝后数据集:
实验里DeltaLoss在各保留比例下都优于随机剪枝和基于SigLIP特征的聚类剪枝,50%保留比例下精度几乎无损、训练时间减半,论文据此把所有后续实验的保留比例定为50%。
ViT与LLM分层学习率微调
下游微调阶段,论文发现联合用PEFT方法微调视觉编码器(ViT)与语言模型(LLM)时,两者对学习率的敏感度差异很大:ViT的学习率需要比LLM小5–50倍才能获得最佳精度,直接用同一个学习率会让某一侧欠拟合或过拟合。进一步地,只微调ViT的LayerNorm层(配合LLM上的LoRA/QLoRA)就能匹配对ViT整体做LoRA的精度,同时比LoRA方案少用近1GB显存、训练时间少25%,使NVILA能在24GB显存内完成下游微调。这体现了VLM微调不能照搬纯LLM的PEFT经验:两个模态子网络的最优学习率尺度并不相同。
分阶段量化部署
部署时前填充和解码是两种不同的瓶颈:前填充是计算密集型,压缩视觉token后视觉塔占前填充延迟的90%以上,因此对视觉塔做W8A8量化以降低首token延迟;解码是显存带宽密集型,因此沿用AWQ思路对LLM主干做W4A16量化,并在W4A16的GEMM核里额外引入FP16累加,把量化核本身再提速1.7倍而不损失精度。两阶段分别针对各自的瓶颈量化,比对整个模型统一量化更精细也更有效。
小结
NVILA的核心是「先用Dynamic-S2和更多帧扩展空间/时序信息量、再用spatial-to-channel和时序平均池化把token数量压回预算」这一scale-then-compress范式,并把同样的扩展-压缩思维延伸到数据剪枝、分层学习率微调与分阶段量化部署,贯穿VLM训练到部署的全生命周期。
实验与关键数据
论文在AI2D、DocVQA、MMMU等图像基准和LongVideoBench、Video-MME等视频基准评测NVILA-8B/15B,并与VILA-1.5、LLaVA-OneVision、Qwen2-VL、GPT-4o对比;同时测训练吞吐、微调显存与推理延迟。结论:精度持平或领先同尺寸开源模型,效率显著更优。
关键数据
影响与局限
NVILA是VILA系列在效率维度上的系统化延伸,把此前分散的效率技巧(token压缩、数据剪枝、FP8训练、分阶段量化部署)整合进一条覆盖训练-微调-部署全生命周期的方案,并用实测数据证明效率优化与精度提升并不矛盾。它的scale-then-compress思路和DeltaLoss剪枝方法为后续开源VLM在有限算力下追求精度上限提供了可复制的路径。
局限与不足
论文承认更激进的3×3甚至更高倍率的空间token压缩会显著掉分,只能靠额外的视觉编码器预训练阶段部分补偿,并未从根本上解决高压缩比下投影层难训练的问题;对TokenLearner、Perceiver Resampler等可学习压缩方法的探索也止步于「不如简单的spatial-to-channel重排」,作者自己承认这更像是优化困难而非表征能力不足,缺乏更深入的分析。DeltaLoss依赖两个额外的参考VLM(一大一小)打分,本身有推理开销,且其对参考模型规模差、任务类型的敏感度未做系统消融。FP8训练与W8A8/W4A16量化部署的加速效果高度依赖NVIDIA Hopper/Blackwell架构和特定推理引擎实现,迁移到其他硬件或框架时的可复现性存疑。此外论文的效率对比对象(如与LLaVA-OneVision比训练成本)依赖对方公开报告的数据,部分场景缺乏在完全相同软硬件条件下的直接对照。