ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

【DINOv3】Gram锚定机制深度解析:67亿参数自监督视觉基座如何解决稠密特征坍缩

2026/10/1 7:47:47 拓冰建站 浏览量
【DINOv3】Gram锚定机制深度解析:67亿参数自监督视觉基座如何解决稠密特征坍缩 摘要DINOv3 是 Meta AI Research 联合 WRI、Inria 提出的新一代自监督视觉基座模型论文共 26 位作者核心目标是把 SSL 训练规模推到 67 亿参数、16.89 亿张图像、100 万次迭代同时解决大模型长训练下分类越练越好、分割却越练越差的稠密特征坍缩问题。本文提出的 Gram 锚定Gram Anchoring用一个早期教师快照的 Gram 矩阵去约束当前特征的相似性结构而不直接约束特征本身从而在几乎不损失全局性能的前提下修复稠密特征。冻结骨干在 COCO 检测上达到 mAP 66.1、ADE20k 分割达到 mIoU 63.0并在卫星遥感树冠高度估计上取得 SOTA。论文DINOv3: Self-supervised learning for vision at unprecedented scale代码facebookresearch/dinov3一、问题背景自监督学习Self-Supervised Learning, SSL不依赖人工标注天然适合在无限量的网络图像上训练大模型DINOv2 已经证明了这条路可行。但论文指出继续把这条路线放大会遇到三个具体问题数据层面从无标注的海量图像池中怎么筛出有用的数据简单地堆数据量不必然带来性能提升优化层面常规做法用 cosine 学习率调度必须提前知道总迭代数但大规模训练的最佳时长事先根本无法估计特征层面——这是本文的核心矛盾随着训练拉长、模型变大超过 ViT-Large/300M 参数规模后尤为明显patch 级别的稠密特征会逐渐坍缩分类类任务依赖 CLS token 的全局特征指标持续上升但分割、深度估计这类依赖 patch 级特征一致性的任务指标在训练中后期反而下降。作者用余弦相似度图直观展示了这个坍缩过程给定一个参考 patch观察它和图中所有其他 patch 的余弦相似度。下面两张图是论文原图分别对应 20 万次迭代和 100 万次迭代时刻的同一参考 patch。图 1200k 迭代时的 patch 余弦相似度图。红色参考 patch 周围只有紧凑的高相似度区域说明此时 patch 特征还保持局部一致性重点看红点周围绿/黄色斑块的范围。来源DINOv3 论文 Fig.6arXiv:2508.10104图 21M 迭代时同一参考 patch 的余弦相似度图。高相似度区域明显扩散到图像上方本不相关的区域说明 patch 特征的局部性正在丢失。重点对比图1中绿色斑块的紧凑程度与本图的扩散程度。来源DINOv3 论文 Fig.6arXiv:2508.10104论文进一步排除了这不是 [Darcet et al., 2024] 提出的高范数异常 patch 问题——引入 register token 后 patch 范数始终稳定真正在变化的是 CLS token 与 patch 输出之间的余弦相似度在训练中持续上升导致 patch 局部性下降。这个诊断结论直接决定了 Gram 锚定的设计方向问题出在相似性结构上解法也应该直接作用在相似性结构上而不是简单地加正则约束特征本身。二、核心方法2.1 整体框架DINOv3 的训练流水线可以概括为四个阶段数据构建 → SSL 预训练 → Gram 锚定精修 → 后训练分辨率扩展/蒸馏/文本对齐。下图是笔者根据论文 Sec.1/3/4/5/6/8 重新梳理绘制的整体架构图把分散在各章节的输入输出关系收拢到一张图里。图 3DINOv3 训练全流水线。①数据构建从约 170 亿张 Instagram 图片池中通过层次 k-means 聚类与检索式筛选构建出 16.89 亿张图像的 LVD-1689M 数据集②SSL预训练ViT-7B67亿参数用 L_Pre 损失训练 1M 迭代③Gram锚定红框高亮核心创新用于修复稠密特征坍缩④后训练分辨率扩展、模型蒸馏、文本对齐。重点看红框标出的 Gram 锚定环节在整个链路中的插入位置。来源根据论文重绘非原文插图数据构建对应论文 Sec.3.1初始数据池约 170 亿张经过平台内容审核的 Instagram 公开图片。作者组合了两条互补的筛选路径一是用 DINOv2 embedding 做 5 层层次 k-means 聚类聚类数从 2 亿逐层降到 20 万、8 万、10 万、2.5 万原文表述为 200M→8M→800k→100k→25k再做平衡采样得到 16.89 亿张的 LVD-1689M二是仿照 DINOv2 的检索式筛选从数据池中检索出与下游任务种子数据相似的图像。此外还混入了 ImageNet-1k/22k、Mapillary Street-level Sequences 等干净标注数据集其中 ImageNet-1k 的同源批次占训练总量的 10%。论文用 200k 迭代的缩短实验做了数据消融Table 1可以看到没有任何单一策略是全面最优的数据集IN1k k-NNIN1k LinearObjectNetiNaturalist21Paris RetrievalRaw原始未筛选80.184.870.370.163.3Clustering仅聚类79.485.472.381.385.2Retrieval仅检索84.086.770.786.082.7LVD-1689M本文混合方案84.687.272.887.085.9混合方案在 4/5 个指标上都是最优或接近最优说明聚类保多样性、检索保任务相关性的组合确实互补。2.2 关键模块Gram 锚定Gram Anchoring这是全文的核心创新。作者的洞察是patch 特征本身可以自由漂移只要 patch 之间的相似性结构即 Gram 矩阵保持稳定稠密任务就不会受损。具体做法是引入一个Gram 教师——它是主 EMA 教师网络在早期100k 或 200k 迭代的一个快照此时它的稠密特征质量最好还没有发生坍缩。设一张图像被切成P PP个 patch网络输出维度为d dd学生网络的 L2 归一化 patch 特征矩阵记为X S ∈ R P × d \mathbf{X}_S \in \mathbb{R}^{P\times d}XS​∈RP×dGram 教师的对应矩阵记为X G \mathbf{X}_GXG​则 Gram 损失定义为L Gram ∥ X S ⋅ X S ⊤ − X G ⋅ X G ⊤ ∥ F 2 \mathcal{L}_{\text{Gram}}\left\|\mathbf{X}_{S}\cdot\mathbf{X}_{S}^{\top}-\mathbf{X}_{G}\cdot\mathbf{X}_{G}^{\top}\right\|_{\text{F}}^{2}LGram​​XS​⋅XS⊤​−XG​⋅XG⊤​​F2​这里X S ⋅ X S ⊤ \mathbf{X}_S\cdot\mathbf{X}_S^\topXS​⋅XS⊤​和X G ⋅ X G ⊤ \mathbf{X}_G\cdot\mathbf{X}_G^\topXG​⋅XG⊤​都是P × P P\times PP×P的 Gram 矩阵元素是 patch 两两之间的相似度。约束的是这两个矩阵之间的 Frobenius 范数差而不是特征向量本身的差异——这正是只约束结构、不约束数值的关键设计。Gram 损失只在 1M 迭代之后才开始施加虽然理论上更早也能用但作者出于效率考虑延后启用且只作用于全局裁剪global crop每 10k 迭代刷新一次 Gram 教师刷新后 Gram 教师变为当前主 EMA 教师这一步称为 refinement step。加入 Gram 损失后的精修目标为L R e f w D L D I N O L i B O T w D K L D K o l e o w G r a m L G r a m \mathcal{L}_{\mathrm{Ref}}w_{\mathrm{D}}\mathcal{L}_{\mathrm{DINO}}\mathcal{L}_{\mathrm{iBOT}}w_{\mathrm{DK}}\mathcal{L}_{\mathrm{DKoleo}}w_{\mathrm{Gram}}\mathcal{L}_{\mathrm{Gram}}LRef​wD​LDINO​LiBOT​wDK​LDKoleo​wGram​LGram​Gram 损失从何时启用到何时刷新的判断逻辑可以概括为下面的状态流程迭代数 1M只用 L_Pre公式1不计算 Gram 损失迭代数达到 1M每个迭代仅全局裁剪满 10k未满 10kGram教师 当前主EMA教师常规预训练精修阶段计算Gram损失判断是否满10k迭代刷新Gram教师作者还发现一个进一步的优化点把 Gram 教师的输入图像放大到 2 倍分辨率512×512再做特征提取然后用双三次插值bicubic把特征图下采样回学生分辨率得到的 Gram 矩阵局部性更好、更干净。用这种高分辨率增强版 Gram 教师训练出的目标记为L H R e f \mathcal{L}_{\mathrm{HRef}}LHRef​比不做分辨率增强的L R e f \mathcal{L}_{\mathrm{Ref}}LRef​在 ADE20k 上额外多带来约 2 mIoU 的提升。整个机制可以用下图概括图 4Gram 锚定机制。学生分支用 256×256 输入计算 Gram 矩阵X S X S ⊤ \mathbf{X}_S\mathbf{X}_S^\topXS​XS⊤​Gram 教师分支用 512×512 输入 2×下采样得到更干净的 Gram 矩阵X G X G ⊤ \mathbf{X}_G\mathbf{X}_G^\topXG​XG⊤​两者的 Frobenius 差即为 Gram 损失叠加进精修目标L R e f \mathcal{L}_{\mathrm{Ref}}LRef​。重点看两条分支输入分辨率的差异——这是高分辨率增强能生效的物理原因论文原图未把这两条分支的分辨率差异画在一起。来源根据论文 Sec.4.2-4.3 及公式(2)(3)重绘论文对 Gram 教师应该选哪个训练阶段的快照也做了消融Fig.9b同样是缩短的对照实验方法教师迭代数分辨率倍数IN1k LinearADE20k mIoUNYUv2 RMSEBaseline无Gram——88.250.30.307GRAM200k×188.053.60.285GRAM200k×288.055.70.281GRAM100k×287.955.70.284GRAM1M×288.154.90.290结论很直接100k 和 200k 两个时刻的 Gram 教师效果相近但如果把 Gram 教师本身也换成训练到 1M 迭代已经坍缩的快照效果反而变差——印证了Gram 教师必须来自还没坍缩的早期阶段这一设计前提。同时 2× 分辨率增强在 ADE20k 上稳定带来 2 个点左右的额外提升代价是 IN1k 分类指标几乎不受影响88.0 vs 88.2波动在噪声范围内。2.3 模型架构与训练配方模型侧的改动同样服务于训练得更久、更稳这一目标。DINOv3 把 teacher 骨干从 DINOv2 的 ViT-giant11亿参数扩大到 ViT-7B67亿参数关键差异如下配置项DINOv2 (ViT-giant)DINOv3 (ViT-7B)参数量1.1B6.7BBlocks4040Patch Size1416位置编码可学习位置编码RoPERegister Token44Embedding 维度15364096FFN 隐藏维度40968192注意力头数×维度24×6432×128DINO Head MLP / 原型数4096-4096-256 / 128k8192-8192-512 / 256kiBOT Head MLP / 原型数4096-4096-256 / 128k8192-8192-384 / 96k值得一提的是 RoPE 的改造DINOv3 把патch坐标归一化到[ − 1 , 1 ] [-1,1][−1,1]的方框内计算相对位置偏置并引入 “RoPE-box jittering”——训练时随机把这个方框缩放到[ − s , s ] [-s,s][−s,s]s ∈ [ 0.5 , 2 ] s\in[0.5,2]s∈[0.5,2]以提升模型对分辨率、尺度、长宽比变化的鲁棒性。预训练阶段的损失公式 1沿用 DINOv2 的 DINO 全局损失 iBOT patch 级重建损失 Koleo 正则的组合L P r e L D I N O L i B O T 0.1 ⋅ L D K o l e o \mathcal{L}_{\mathrm{Pre}}\mathcal{L}_{\mathrm{DINO}}\mathcal{L}_{\mathrm{iBOT}}0.1\cdot\mathcal{L}_{\mathrm{DKoleo}}LPre​LDINO​LiBOT​0.1⋅LDKoleo​优化上最值得注意的选择是学习率、权重衰减、教师 EMA 动量全程恒定只在起始阶段做线性 warmup取消了 DINOv2 依赖的 cosine 调度。这直接回应了前文提到的无法预知最佳训练时长的问题——只要下游指标还在涨就可以一直训下去不需要提前规划总步数。批大小 4096256 张 GPU每张图 2 个全局裁剪256px 8 个局部裁剪112px单批次总 token 数 3.7M。此外作者给 backbone 输出加了一个专用 LayerNorm实测能让 kNN 分类在训练后期提升 0.2 个点、ADE20k 分割提升约 1 mIoU、NYUv2 深度估计 RMSE 降低 0.02。三、工程实现论文的后训练阶段Sec.5和开源仓库直接对应工程上分三步走分辨率扩展预训练全程用 256px 小分辨率配合 patch16序列长度与 DINOv2 的 224px/patch14 一致以换取速度。后训练阶段追加 10k 次迭代全局裁剪随机采样 {512, 768}、局部裁剪随机采样 {112, 168, 224, 336}同时继续用 7B 教师做 Gram 锚定——论文明确指出这一步的 Gram 锚定是必需的去掉它稠密任务性能会明显下降。得益于 RoPE 对分辨率的天然适应性扩展后的模型可以在训练分辨率之外4K 以上稳定输出特征图。模型蒸馏把 7B 教师蒸馏到更小的 ViT-S(21M)/S(29M)/B(86M)/L(300M)/H(840M) 以及 ConvNeXt 系列蒸馏时教师固定不做 EMA、也不需要 Gram 锚定作者观察到蒸馏过程本身不会产生 patch 坍缩。为了让多个学生模型并行训练时不重复计算教师前向论文设计了单教师-多学生蒸馏管线所有参与训练的 GPU 先合并成一个全局组做一次教师推理再用 all-gather 把输入和教师输出同步到各学生子组每个学生子组按各自的 GPU 数独立完成训练步——这样增加一个学生只会让总算力开销增加该学生自己的训练成本教师推理成本保持不变。GitHub 仓库通过torch.hub.load(REPO_DIR, dinov3_vit7b16, ...)这类接口直接加载对应权重开源模型家族列表如下模型参数量预训练数据ViT-S/1621MLVD-1689MViT-S/1629MLVD-1689MViT-B/1686MLVD-1689MViT-L/16300MLVD-1689MViT-H/16840MLVD-1689MViT-7B/166,716MLVD-1689MConvNeXt Tiny/Small/Base/Large29M/50M/89M/198MLVD-1689MViT-L/16、ViT-7B/16卫星版300M / 6,716MSAT-493M文本对齐仿照 Jose et al. (2025) 的 LiT 范式冻结视觉骨干只从零训练一个文本编码器去对齐图文表示同时在视觉侧顶部加两层 transformer 做适度微调并把 patch 特征的均值池化结果与 CLS token 拼接后再对齐文本使得对齐后的模型同时具备全局和局部的图文匹配能力对应仓库中的dino.txt组件。四、实验分析论文的旗舰结论集中在一句话冻结骨干、不做任何微调的情况下DINOv3 在 COCO 目标检测上达到 mAP 66.1在 ADE20k 语义分割上达到 mIoU 63.0超过了此前需要针对任务微调的专用流水线。这两个数字来自论文正文 Sec.1 的直接陈述本文核实时逐字比对过原文数字准确无误。在遥感领域论文将同一套 SSL 流程迁移到卫星影像对应仓库里的 SAT-493M 预训练数据与 CHM 系列权重用于树冠高度估计任务取得 SOTA。下面两张图是论文原图展示了同一片区域用 DINOv2 特征和 DINOv3 特征做土地覆盖/植被聚类可视化的对比图 5DINOv2 特征在同一块卫星影像上的聚类可视化。地块边界处红/绿交界带出现明显的噪声与破碎化。重点看画面中部红色区域与周围绿/黄色区域交界处的锯齿状边缘。来源DINOv3 论文 Sec.8 卫星影像实验图arXiv:2508.10104图 6DINOv3 特征在同一块卫星影像上的聚类可视化。与图5相比同类地物区域的聚类更连续边界噪声更少。重点对比图5、图6中红/绿交界带的锯齿程度差异。来源DINOv3 论文 Sec.8 卫星影像实验图arXiv:2508.10104结合前文 Table 1 的数据消融与 Fig.9b 的 Gram 教师消融可以看出DINOv3 论文的实验设计始终围绕同一条主线展开先用缩短的 200k 迭代实验做快速消融、验证设计选择再把验证过的选择放到完整的 1M 迭代长训练中。这种小规模先验证、大规模再执行的实验范式本身也值得工程上借鉴能显著降低大模型训练的试错成本。小结DINOv3 这篇论文最值得记住的不是又把模型和数据堆大了而是精确定位了 SSL 大模型稠密特征坍缩的成因CLS-patch 相似度在训练中持续上升导致局部性丢失并给出了一个思路干净的对症解法只约束 patch 间的相似性结构Gram 矩阵不约束特征本身。这个设计的巧妙之处在于它把要不要保留全局语义能力的自由度和要不要保持稠密局部一致性两个原本冲突的目标解耦开了——Gram 损失允许特征continue 朝着全局语义方向漂移只要漂移过程中 patch 间的相对关系不被破坏。局限性方面论文对 Gram 教师的选择目前还停留在取一个固定早期迭代数的经验做法100k/200k 附近并没有给出一个可以自动判定何时坍缩、何时该冻结 Gram 教师的判据如果换一个数据分布或模型规模这个经验窗口是否依然适用还需要用户自己重新摸索。另外本文核实过程中发现一处需要修正的细节素材中提到论文作者为25人的纯 Meta FAIR 团队但对照 arXiv 元数据与论文正文核实实际作者为26 人所属机构为Meta AI Research、WRI世界资源研究所、Inria三方合作卫星遥感相关工作由 WRI 的 Jamie Tolan、John Brandt 参与Julien Mairal 来自 Inria并非单一机构团队——这也从侧面说明论文里卫星遥感这条应用线并不是临时添加的演示案例而是有专门机构背景支撑的正式研究方向。