2.1V-JEPA 2.1
JUNE 2026|FAIR AT META

Supervise the patchesyou did not hide

V-JEPA understood video beautifully but its feature maps were a mess. The fix is one extra loss term — and it turns a world model into a dense one.

Mur-Labadia · Muckley · Bar · Assran · Sinha · Rabbat · LeCun · Ballas · Bardes

FAIR at Meta · Universidad de Zaragoza  ·  arXiv:2603.14482

feature
map
fragmented
22.2→47.9mIoU on
ADE20K
0.307NYUv2 depth —
a new best

↓ SCROLL

01 — The symptom

A world model that could not see edges

V-JEPA 2 understands what is happening in a video better than almost anything. Ask it where things are, though, and the feature maps come back as noise.

V-JEPA 2

PCA of patch features, top three components → RGB

Fragmented. Neighbouring patches of the same object land in unrelated places, and the map flickers with artefacts.

V-JEPA 2.1

same visualisation, same scene

Coherent. Similar parts map to similar components — the dog's head, the car's wheels — and the regions hold together.

and it shows up in the numbers

A single linear layer on top of the frozen encoder. This is the standard way to ask what a representation already contains.

Semantic segmentation · ADE20K

mIoU, higher is better

V-JEPA 2
22.2
V-JEPA 2.1 ViT-G
47.9

Depth estimation · NYUv2

RMSE, lower is better

V-JEPA 2
0.682
V-JEPA 2.1 ViT-G
0.307

Why this matters beyond pretty pictures. Dense features are what a robot needs to reach for a cup, what a planner needs to judge distance, and what any segmentation or tracking head reads. A world model that cannot localise is a world model you cannot act with.

02 — The diagnosis

Nothing was asking the visible patches to mean anything

The original loss is applied only to the masked tokens. So the predictor never has to keep the visible ones grounded — and the encoder is free to use them as scratch space for global summaries instead.

Lpredict  =  1∣M∣∑i∈M∥Pϕ(Eθ(x),Δy)i−sg(Eθˉ(y)i)∥1\mathcal{L}_{\mathrm{predict}} \;=\; \frac{1}{|M|}\sum_{\htmlStyle{color: var(--orange)}{i \in M}} \big\lVert P_\phi\big(E_\theta(x), \Delta_y\big)_i - \mathrm{sg}\big(E_{\bar\theta}(y)_i\big) \big\rVert_1

Note the index set. The predictor emits an output for every token it is given — context tokens included — but only the masked ones ever appear in the sum. The rest are free.

unsupervised context

With nothing holding them in place, visible tokens drift into acting like register tokens — global aggregators that carry summary information rather than local content.

global summary

with the context loss

Now every token is asked to match the target encoder's output at its own position. It has to stay about what is actually there.

every token stays grounded where it is

The one-sentence hypothesis

High-quality dense features do not emerge when the prediction loss is applied only to masked regions — so extend it to the entire input, masked and visible alike.

03 — Ingredient one

The dense predictive loss

Apply the same objective to the visible tokens. Do it naively and the model finds a shortcut — so the weight on each context token depends on how far it sits from the nearest hidden region.

the context loss

Lcontext=1∣C∣∑i∈Cλi∥Pϕ(Eθ(x),Δy)i−sg(Eθˉ(y)i)∥1\mathcal{L}_{\mathrm{context}} = \frac{1}{|C|}\sum_{i \in C} \lambda_i \big\lVert P_\phi(E_\theta(x), \Delta_y)_i - \mathrm{sg}(E_{\bar\theta}(y)_i) \big\rVert_1

Identical to the original objective except for the index set — C, the context tokens — and the per-patch weight λᵢ. The full objective is simply their sum.

Ldense=Lpredict+Lcontext\mathcal{L}_{\mathrm{dense}} = \mathcal{L}_{\mathrm{predict}} + \mathcal{L}_{\mathrm{context}}

the weighting

λi=λdmin⁡(i,M)\lambda_i = \frac{\lambda}{\sqrt{d_{\min}(i, M)}}

dmin is the distance, in blocks, from a context token to the nearest masked token. Patches on the boundary of a hidden region get the most weight; patches far away get little. The effect is to enforce continuity across the seam between what was hidden and what was not.

λ itself is warmed up over epochs 50–100, and set to 0.5 for video and 0.7 for images.

the trade-off, measured — Table 2

Up is better segmentation. Right is better action recognition. Click a point.

22263034505560657075SSv2 action recognition →ADE20K mIoUchosen
no context lossconstant λ+ warm-up+ distance weighting

what λᵢ looks like on the grid

Distance-weighted: patches next to a hidden region count for more.

masked — always weight 1context — weight λᵢ

selected

λ = 0.5 distance-weighted, warmed up

The chosen configuration. Weighting by the inverse square root of the distance to the nearest masked block enforces local continuity, and recovers most of the action-recognition performance the naive version threw away.

ADE20K mIoU

33.8

+11.6 vs V-JEPA 2

SSv2 accuracy

62.5

-10.3 vs V-JEPA 2

Read the scatter carefully. The dashed path is what happens if you just turn λ up: segmentation peaks around 0.2 and then falls, while action recognition drops from 72.8 all the way to 51.1. Every later ingredient in this paper exists to buy that accuracy back.

04 — Ingredient two

Deep self-supervision

Do not only supervise the encoder's last layer. Tap four depths, fuse them, predict from the fusion — and apply both losses at every level.

x-ENCODERblock ¼block ½block ¾output blockconcat+ MLPfuse & reduce dimpredictor24 blocks+ mask tokensL_pred + L_ctxy-enc level 1L_pred + L_ctxy-enc level 2L_pred + L_ctxy-enc level 3L_pred + L_ctxy-enc level 4targets, at matching depths

what it buys

Adding the context loss cost 10 points of action recognition. Deep supervision gets almost all of it back, and improves segmentation at the same time.

SSv2 accuracy62.5→72.1
ImageNet accuracy72.6→80.8
ADE20K mIoU33.8→38.6

why it works

Supervising only the last layer leaves the early and middle blocks to be shaped indirectly. Tapping four depths gives every part of the network a direct training signal — and lets local information flow forward to the final layers instead of being discarded on the way.

a practical side effect

Because the last layer now carries local detail too, downstream dense tasks no longer need to reach into intermediate layers to find it. You can just use the output.

05 — Ingredients three and four

Stop pretending images are videos, then scale

V-JEPA 2 fed images through a 3D convolution by copying them into sixteen identical frames — expensive, and a lie about what an image is. Fix that, widen the data, and grow the model.

V-JEPA 2 · one 3D convolution for everything

An image was duplicated sixteen times and treated as a static video.

16 identical frames16× the computeand a false temporal bias

V-JEPA 2.1 · one tokenizer per modality

Each input is processed in its native form, with a learnable token saying which pathway it came from.

imageconv2d 16×16video clipconv3d 16×16×2modalitylearnable token

ADE20K improves 40.8 → 41.4 mIoU, recognition holds steady, and images stop costing sixteen times what they should.

VisionMix 163M · rebalancing the diet

ImageNet's one million images are replaced by the 142-million-image LVD-142M set. With static appearance now well covered, the video sampling shifts hard toward motion-rich sources.

SSv2

Ego video

168K

V-JEPA 2 · 0.056

V-JEPA 2.1 · 0.170

Kinetics

Exo video

733K

V-JEPA 2 · 0.188

V-JEPA 2.1 · 0.010

HowTo100M

Exo video

1.1M

V-JEPA 2 · 0.318

V-JEPA 2.1 · 0.100

YT-1B

Exo video

19M

V-JEPA 2 · 0.188

V-JEPA 2.1 · 0.720

ImageNet

Images

1M

V-JEPA 2 · 0.250

V-JEPA 2.1 · 0.000

LVD-142M

Curated images

142M

V-JEPA 2 · 0.000

V-JEPA 2.1 · new

Images and videos are not mixed inside a batch. Separate workers handle each modality and their gradients are aggregated — 2,304 images and 128 clips per global step.

06 — The algorithm

One training step, in fifteen lines

Two of these lines are new since V-JEPA 2. They are lines 11 and 12.

V-JEPA 2.1 · one step

line 1

Images and videos are drawn on separate workers and their gradients aggregated — 2,304 images and 128 clips per global batch.

what is active

inputtokenizermask M / context Cx-encoder E_θy-encoder E_θ̄4-level fuse+ mask tokenspredictor P_φL_predict (masked)L_context (visible)λᵢ = λ / √d_minEMA

Pretraining settings

Appendix A · identical for ViT-L, g and G

Steps135,000 + 12,000primary phase, then cool-down
Learning rate1e-4 → 5.25e-4 → 1e-612k warm-up, constant, then decayed in cool-down
Video batch128 clips16 frames at 4 fps, 256×256
Image batch2,304256×256; separate workers per modality
Cool-down video64 frames · 384²12k extra steps
Cool-down image512²
Patch size16tubelet size 2 for video
Predictor24 blocks · dim 384V-JEPA 2 used 12
Deep supervision4 levelsequally spaced encoder blocks
λ (context loss)0.5 video · 0.7 imagedistance-weighted, warmed up
EMA coefficient0.99925fixed
Weight decay0.04fixed

07 — The ablation

Watch the recipe assemble itself

Table 1, one ingredient at a time. Press play, or step through it — the shape of this chart is the whole argument of the paper.

the dipbase+1+2+3+4+5+6ingredients added, cumulatively →better ↑ (each metric on its own scale)
ADE20K mIoUNYUv2 RMSESSv2 accuracyImageNet accuracy
ADE20K mIoU22.2

starting point

NYUv2 RMSE0.682

starting point

SSv2 accuracy72.8

starting point

ImageNet accuracy82.2

starting point

step 1 of 7 · the starting point

V-JEPA 2

Strong global video understanding. The loss is applied only to the masked tokens.

what happens to the numbers

Dense features are noisy and fragmented — 22.2 mIoU on ADE20K is close to unusable for segmentation.

The dip is the point

The context loss alone is a bad trade: dense tasks improve a lot, global tasks collapse. If the paper stopped there it would not be publishable.

Deep supervision pays for it

Four supervised depths recover almost all the lost accuracy while dense keeps climbing. This is the step that makes the idea viable.

Then it just scales

More data, a proper tokenizer, ten times the parameters, and a high-resolution cool-down. Every one of them helps, and none of them needs the recipe rethought.

Worth stating plainly: the ablation runs on a ViT-L and the two scaling rows change the model and the schedule, not just a hyperparameter. So the last two jumps are not like-for-like with the first four — the paper presents them in the same table, and it is worth reading them as a separate claim.

08 — Results

Dense, global, and actually useful for a robot

Everything below uses a frozen encoder. The claim is about the representation, not about what a fine-tuning run can recover.

Dense visual tasks

Depth (RMSE, lower better), segmentation (mIoU), video object segmentation (J&F). Table 8.

ParamNYUv2 ↓KITTI ↓ADE20KCitysc.VOCDAVISYT-VOS
Web-DINO7B/140.4663.15842.768.376.157.243.9
DINOv37B/160.3092.34655.981.186.671.174.1
PEspatial2B/140.3623.08249.373.282.768.468.5
AM-RADIOv2.51B/140.3402.91853.078.485.466.570.1
DINOv21B/140.3722.62449.575.683.163.965.6
DINOv3 ViT-H+0.8B/160.3522.63554.879.585.871.174.0
V-JEPA 2 ViT-gprevious1B/160.6424.65024.445.963.952.553.7
V-JEPA 2.1 ViT-g1B/160.3502.60147.871.884.768.172.3
V-JEPA 2.1 ViT-G2B/160.3072.46147.973.585.069.072.7

the row worth pausing on

V-JEPA 2 scored 0.642 RMSE on NYUv2 depth and 24.4 mIoU on ADE20K — near the bottom of the table. V-JEPA 2.1 at the same 1B size scores 0.350 and 47.8. The 2B model then beats DINOv3 ViT-7B on depth while being three and a half times smaller.

Global recognition

Top-1 accuracy. Motion-centric tasks on the left, appearance-centric on the right. Table 9.

ParamSSv2Diving-48K400IN1K
DINOv37B70.1–87.888.4
DINOv21.1B50.782.583.686.1
PEcore G1.9B55.476.988.587.6
SigLIP21.2B49.975.387.388.0
InternVideo21B69.786.489.485.8
V-JEPA ViT-H600M74.387.984.580.0
V-JEPA 2 ViT-gprevious1B77.390.287.385.1
V-JEPA 2.1 ViT-g1B76.989.087.084.8
V-JEPA 2.1 ViT-G2B77.789.287.785.5
mAP All
StillFast
3.96
GANO
2.47
STAformer
5.67
DINOv3 ViT-7B
5.68
V-JEPA 2 ViT-g
6.02
V-JEPA 2.1 ViT-g
6.75
V-JEPA 2.1 ViT-G
7.71

Predicting where an interaction will happen, with what object, doing what, and when — all four have to be right. 7.71 mAP is a 35% relative gain over the previous best, which used task-specific training components.

real robot · zero-shot grasping

Closed-loop manipulation on a real Franka arm, zero-shot in a new environment. Model-predictive control with the cross-entropy method on one A100.

V-JEPA 2800 samples · horizon 1 · 3 s60%
V-JEPA 2.1800 samples · horizon 1 · 3 s70%
V-JEPA 2.1300 samples · horizon 8 · 14 s80%

Grasp success on a Franka arm in an environment it has never seen: 60% → 80%. Reach and pick-and-place are unchanged. The authors note the remaining failures are gripper timing, not spatial misunderstanding.

navigation planning

Open-loop navigation planning. A latent world model trained on top of frozen features, following the NWM setup.

TimeReconTartan DriveScandSacsonAverage
NWM103.2 s1.1465.8311.1134.0373.032
V-JEPA 2.1 ViT-g10.6 s1.1465.7581.0943.9042.975
V-JEPA 2.1 ViT-G10.6 s1.1795.6871.0384.0542.990

Absolute trajectory error, lower is better. The headline is the first column: planning in this representation needs 8 denoising steps where the previous approach needed at least 128 — a 10× speed-up at equal or better accuracy.

Distillation into smaller models

The 2B teacher compressed into 300M and 80M students. Table 11.

ParamSSv2K400IN1KADE20KNYU ↓KITTI ↓DAVIS
ViT-G2B77.787.785.547.90.3072.46169.0
ViT-L300M74.284.381.842.00.3812.91464.5
ViT-L (distilled)300M76.586.984.946.70.3362.49068.7
ViT-B (distilled)80M74.585.184.042.00.4082.85067.0

The distilled ViT-L at 300M recovers most of the 2B teacher — 76.5 against 77.7 on SSv2, 46.7 against 47.9 mIoU — and comfortably beats the same architecture trained from scratch. Distillation drops deep self-supervision and uses a frozen teacher with a 12-block predictor.

09 — What it costs

The trade is real, and the paper reports it

Dense features are bought with something. Comparing the two models of the same size makes the price visible.

like for like · both 1B parameters

V-JEPA 2 ViT-g against V-JEPA 2.1 ViT-g, on global benchmarks.

SSv2 action recognition
-0.4
Diving-48
-1.2
Kinetics-400
-0.3
ImageNet-1K
-0.3
EPIC-KITCHENS action anticipation
-1.3
V-JEPA 2 ViT-gV-JEPA 2.1 ViT-g

At matched size, global performance is slightly worse

Compare the two 1B models. On every global benchmark the new recipe is a fraction behind V-JEPA 2 — and behind by more than a fraction on EPIC-KITCHENS. The state-of-the-art numbers all come from the 2B model. Dense features are not free.

Two video-QA benchmarks get worse

TemporalBench and TOMATO both drop. Both test understanding of motion events in short videos — exactly the thing V-JEPA was already good at, and the thing the context loss pulls capacity away from.

The predictor doubled in depth

24 blocks against V-JEPA 2's 12, plus a fusion MLP and four prediction heads. The pretraining is more expensive per step than the method it replaces.

λ was tuned per modality

0.5 for video, 0.7 for images, with a warm-up schedule found empirically. The paper is candid that naive application 'leads to poor performance' and that the weighting exists to stop the model copying context features.

the claim, stated exactly

Supervising the visible tokens, with a weight that falls off with distance from the mask, turns V-JEPA's fragmented feature maps into coherent ones — 22.2 → 47.9 mIoU, 0.682 → 0.307 RMSE, and a 20-point jump in real-robot grasp success. Deep self-supervision is what makes that affordable. At matched model size it is still a small step backwards on global recognition; the state-of-the-art results come from scaling to 2B parameters. Both halves are in the tables.