Research handbook · Latent world models · rev. 2026-10-12

V-JEPA, V-JEPA 2-AC and H-JEPA, taken apart

V-JEPA 2 learns a video encoder by predicting masked video in a feature space it invents. V-JEPA 2-AC freezes that encoder, trains an action-conditioned predictor on DROID robot video, and plans with it on Franka arms it never saw. H-JEPA, released in October 2026, stacks action-conditioned JEPAs at several timescales, each in its own latent space, and plans top-down. This page traces the family from I-JEPA, checks every number against the papers and the released code, measures what the DROID loader actually feeds V-JEPA 2-AC, audits the robot evidence trial by trial, and ends in a sixteen-step 3D tour and a research agenda for manipulation and humanoids.

Provenance All shown
00

Corrections before the answers

Twenty-one premises that circulate about these models, including four that earlier versions of this page got wrong; items 15 to 21 are new on 12 Oct 2026. Each is checked against the paper, the code at commit 204698b, or a named primary source. Tags: Paper the V-JEPA 2 paper, Code the official repository or numbers measured by running it, H-JEPA the H-JEPA paper and its code, Context another primary source, Inference and Speculation my own reasoning.

  1. The name is V-JEPA 2-AC. "V-JEPA-AC" does not appear in the paper or the code. Paper §3
  2. "Unlabeled" robot video still carries proprioception. Every DROID frame comes with a 7-D end-effector state (3 position, 3 extrinsic Euler angles, 1 gripper), and each action is computed as the state change between frames. "Unlabeled" means no reward, no task label and no success flag; the 23k trajectories include failures. Paper §3.1, §4.1 fn. 1
  3. The deployed planner looks one step ahead. Every robot number in Tables 2 and 3 plans a single action with 800 samples, the top 10 kept, 10 CEM iterations, then replans. Long-horizon structure comes from sub-goal images a human supplies, not from lookahead in the model. Paper App. B.2, Table 3
  4. The energy is a terminal distance. It is the L1 distance between the predicted representation T steps ahead and the goal representation, not a cost summed along the trajectory. Paper Eq. 5
  5. V-JEPA 2 has no EMA schedule. The teacher momentum is fixed at 0.99925 in both phases. The ramp from 0.998 to 1.0 belongs to V-JEPA 1, and a ramp from 0.999 to 1.0 to the paper's 90k-step "abbreviated" ablation recipe. The previous version of this page stated the V-JEPA 1 schedule for V-JEPA 2. Paper §2.4, Tables 9 and 10 configs/train/vitg16
  6. V-JEPA 2 states no masking ratio, and "about 90%" is not what its sampler does. It reuses V-JEPA's multiblock recipe: a short-range mask (union of 8 blocks, each 15% of the frame) and a long-range mask (union of 2 blocks, each 70%), both spanning the whole clip in time. Running the released sampler on 16-frame 256 px clips: 62% and 81% of tokens masked per clip. The collator then truncates every clip to the batch minimum, so at 24 clips per GPU the encoder sees 25% and 6% of tokens, the predictor targets 47% and 70%, and the rest are neither seen nor predicted. V-JEPA 1 describes the same recipe as "an average masking ratio of ∼90%". The previous version of this page repeated that figure. measured, src/masks/multiseq_multiblock3d.py V-JEPA §3.2
  7. The V-JEPA 2-AC encoder never sees a video clip. Each frame is encoded on its own, duplicated to fill a 2-frame tubelet, giving a 16 × 16 × 1408 feature map. All temporal reasoning in the world model happens in the predictor. Paper §3.1 app/vjepa_droid/train.py, forward_target
  8. The robot evidence is 10 trials per cell. Two labs, one trained model, no seeds, no intervals. The Cosmos baseline ran in Lab 2 only. Paper Tables 2 and 3
  9. IntPhys 2 and CausalVQA are not in the V-JEPA 2 paper. MVP is (44.5 paired accuracy). IntPhys 2 reports V-JEPA 2 in its own companion paper; the CausalVQA paper has no V-JEPA 2 entry. IntPhys 2 Table 2; CausalVQA arXiv 2506.09943
  10. The Epic-Kitchens "prediction" result is mostly encoder semantics. A probe on encoder features alone reaches 39.1 recall@5; adding the predictor's output lifts it to 39.7; the predictor's output alone gives 20.2. Paper App. D.2, Table 20
  11. PerceptionTest 84.0 is not a zero-shot number. It is the test-set accuracy after supervised fine-tuning on PerceptionTest; the other rows of the same table are zero-shot. Paper Table 8 caption
  12. "L1-ball of radius 0.075" cannot give the stated 13 cm step. An L1 ball of that radius caps displacement at 7.5 cm. A per-axis box of half-width 0.075 caps it at 0.075·√3 ≈ 13 cm, which is the figure the paper gives, and the released planner clips each axis, which is a box. Paper §4.1, Fig. 8 notebooks/utils/mpc_utils.py Inference
  13. The released code is not the paper's configuration. The DROID config trains on 8-frame clips (7 teacher-forced steps), not 16-frame clips with T = 15. The released pretraining config mixes three datasets (K710, SSv2, HowTo100M), not VideoMix22M. The released planner samples 400 actions over a horizon of 2 with rotation frozen at zero, not 800 over a horizon of 1. configs/train/vitg16/*.yaml, notebooks/utils/world_model_wrapper.py
  14. A successor exists. V-JEPA 2.1 (arXiv 2603.14482v3, 11 Jun 2026) adds a dense loss on visible tokens, deep self-supervision at intermediate layers, modality-specific tokenizers and a 2B ViT-G. With the same 300M action-conditioned predictor it reports Grasp rising from 60% to 70% at identical planner settings, and to 80% with an 8-step horizon. This page keeps V-JEPA 2 and 2-AC as the subject and flags 2.1 where it changes a conclusion. V-JEPA 2.1 §3.3, Table 6
  15. V-JEPA 2-AC's "4 fps" is the video file's clock; the robot moved about a second between frames. DROID's MP4s are timestamped at 60 fps although the cameras capture at 15 Hz. Two episodes measured here: 220 frames in a file that claims 3.67 s, against 221 robot steps whose camera timestamps span 15.6 s; and 251 frames, 4.18 s, against 252 steps over 17.8 s. The released loader strides by ⌈container fps / 4⌉ = 15 frames, so consecutive frames are about 1 s apart, a 16-frame clip spans 16 s and each action is about 1 s of teleoperated motion. The previous version of this page said 3.75 Hz and 0.27 s. H-JEPA reports the same mismatch independently. droid.py, measured on DROID raw 1.0.1 H-JEPA App. J.1 calculator →
  16. "Under 62 hours" is most likely file time too. The paper describes DROID videos as "typically 3–4 seconds long", which is their file duration; real episodes run about four times longer. Discarding "videos shorter than 4 seconds" by file time keeps roughly 62 hours of file time, which is about four times as much robot operation, plausibly near 250 hours. DROID's own total is 350 hours. §3.1, App. B.1 Inference
  17. "H-JEPA" names three different things. LeCun's 2022 proposal of stacked JEPAs (no experiments); an unrelated January 2026 wireless-control paper and several unrelated repositories; and the October 2026 method by Zhang, Terver, Rabbat, LeCun and Balestriero that this page covers. arXiv 2306.02572, 2602.07000 arXiv 2610.06805 disambiguation →
  18. From a single goal image, flat V-JEPA 2-AC scores zero on pick-and-place. In HWM's Franka evaluation, with the same architecture and data as HWM's low level, the flat planner succeeds 0 times in 50 for the cup and 0 in 50 for the box; the two-level planner reaches 35 and 30. Table 2's 80% relies on human sub-goal images. HWM Table 1
  19. H-JEPA's "18% to 73%" is a simulated maze against a 15M-parameter baseline. Visual AntMaze, three levels, 50 tasks, three seeds; the flat baseline is LeWM, not V-JEPA 2-AC. Its real-robot results are offline path fidelity on 16 selected DROID clips; no plan was executed. Table 1, §4.3, §6
  20. H-JEPA has no teacher network. No EMA target, no stop-gradient: SIGReg at every level, plus an inverse-dynamics term on DROID that the paper shows is necessary when scenes change between episodes. App. C, K, L
01

Why predict in a space you chose

The energy view

LeCun's 2022 position paper recasts prediction as an energy-based model: a scalar compatibility E(x, y) that is low when the continuation y fits the context x and high otherwise, with no requirement that it normalise into a density. A joint-embedding predictive architecture computes that energy in representation space. An encoder maps both sides, a predictor carries the context forward under a conditioning variable z, and a distance scores the match. LeCun 2022, §4

E(x, y, z) = D( Pφ(sx, z), sy ),   sx = Eθ(x),  sy = sg(Eθ̄(y))   // V-JEPA 2: z = positions of the masked tokens, D = L1

The argument against pixel prediction is a decomposition. For any predictor ŷ of y given x, E‖y − ŷ‖² = ‖E[y|x] − ŷ‖² + tr Cov(y|x). The second term is irreducible, and in natural video it is dominated by content nothing can forecast: foliage, water, sensor noise, specular highlights. A likelihood objective still hands out gradient in proportion to per-pixel error, so capacity drifts toward the nuisance. A JEPA pays only for what survives the encoder, and the encoder is free to drop what it cannot predict. The paper states the same intuition with "each blade of grass in a field". Paper §1 Littwin et al. (NeurIPS 2024) prove a matching statement for deep linear networks: latent prediction prioritises features with large regression coefficients, reconstruction prioritises high-variance ones. Littwin et al. 2024

The caveat the motivation glosses over. A deterministic predictor trained with L1 converges to the coordinate-wise conditional median of the target features. Moving to latent space removes multimodality only if the encoder maps the distinct outcomes to nearby points, which means it has discarded the stochastic factor. In manipulation that factor is often the one that decides the task: does the cup slip or not. Inference

Step 1 of the tour turns the decomposition into a slider. open step 1 →

What each objective forces the network to model
FamilyTargetWhat it must representFrozen SSv2, same protocolCost to use as a simulator
Pixel reconstruction (MAE, VideoMAEv2)masked pixelslow-level statistics of every pixel, predictable or not56.1 (VideoMAEv2 1B, literature row)needs a decoder; not action-conditioned
Image-text contrastive (SigLIP2, PE)matching captionwhat a caption names; invariant to what it omits, including most motion49.9 / 55.4no predictive model
Image SSL (DINOv2)teacher features of another cropper-frame semantics and geometry50.7no predictive model
Generative video world model (Cosmos, Sora, Genie)future frames or their VAE latentsa full density over future appearancenot reportedCosmos: 4 min per planned action on an RTX 4090
JEPA (V-JEPA 2 ViT-g)its own EMA features of the masked regionwhatever about the region is predictable from its surroundings75.316 s per planned action for 10× the samples
SSv2 top-1 with a frozen 4-layer attentive probe at 256 px, Table 4; the VideoMAEv2 figure is a literature row with a different probe. Planning times: Table 3. Paper Tables 3 and 4

The bet, and what would falsify it

The stated target is to "learn to understand the world and learn to act largely by observation". The recipe splits the learning in two: action-free pretraining on over a million hours of internet video, then action-conditioned post-training on "under 62 hours" of one robot's logs, a figure most likely counted by the video files' clock, which runs four times fast (section 05). Paper abstract, Fig. 1

The split is the central bet because interaction data is the scarce resource. If the representation learned from watching carries the state a controller needs, a small amount of interaction is enough to attach actions to it. Three results would falsify it. First, an action-conditioned predictor trained on the same 62 hours over an image encoder (DINOv2, as in DINO-WM) or a random one matching V-JEPA 2-AC's success would mean the video pretraining is not what carries the result; the paper runs no such encoder ablation for the AC stage. Second, success that scales with robot hours but not with pretraining scale. Third, a behaviour-cloning policy on the same 62 hours matching it. Octo, trained on all of DROID with hindsight goals, loses, which supports the bet but changes architecture, objective and pretraining at once. Inference

02

The JEPA family, from I-JEPA to H-JEPA

Every model on this page makes the same move: encode what is visible, predict the encoding of what is hidden or still to come, and score the prediction in a space the encoder learned. What changes from one model to the next is five design choices: what is hidden (image blocks, video tubes, the next frame, a state several steps ahead), what the prediction is conditioned on (token positions, actions, pooled macro-actions), the distance (L2 or L1), how collapse is prevented (a slow teacher network, or a regulariser on the batch, or an action-regression head), and what the result is used for (frozen features, or a simulator a planner searches). Click a model on the map for its recipe, its headline number and the protocol behind that number. Inference

Lineage map, by publication dateclick a node
Solid edges: one paper builds directly on the other's recipe or code. Dashed: shares the name or the idea, not the method. Grades on each card follow the provenance filter at the top.

One notation for the whole family

Write Eθ for the online encoder, Eθ̄ for the target encoder, Pφ for the predictor, sg for stop-gradient and M for the hidden tokens. The objectives then read:

I-JEPA      Σi∈targets Σj∈Bi ‖ Pφ(Eθ(xctx), mj) − sg(Eθ̄(x))j ‖²2          # 4 image blocks, L2, EMA 0.996 → 1.0
V-JEPA      ‖ Pφ(Δy, Eθ(x)) − sg(Eθ̄(y)) ‖1                       # masked video tubes, L1, EMA 0.998 → 1.0
V-JEPA 2    same, EMA fixed at m = 0.99925, 3D-RoPE, ViT-g, 22M videos    # §03 of this page
V-JEPA 2-AC ‖ Pφ((at, st, zt)t≤k) − zk+1 ‖1  +  2-step rollout term   # E frozen, z = LN(E(x))
LeWM        ‖ F(z≤t, a≤t) − zt+1 ‖²2  +  λ·SIGReg(Z)                         # end to end, no EMA, no sg
H-JEPA      Σℓ [ L(ℓ)pred + λℓ·SIGReg(Z(ℓ)) + γℓ·L(ℓ)idm ]                     # one JEPA per timescale, §06
I-JEPA §3 (target blocks at scale 0.15 to 0.2, context block at 0.85 to 1.0, momentum 0.996 rising to 1.0); V-JEPA Eq. 1 and its hyperparameter table (ℓ1 "found to be more stable", momentum 0.998 to 1.0); V-JEPA 2 Eq. 1 and Table 9; LeWM §3; H-JEPA Eqs. 2, 3 and 8 (the IDM term only on DROID). Context V-JEPA 2 H-JEPA
Seven models, one table
ModelPredictsAnti-collapseEncoder, dataUsed forHeadline, with its protocol
I-JEPA (CVPR 2023)4 image blocks from one context blockEMA teacher, stop-gradientViT up to H/14 and H/16 at 448 px; ImageNet-1Kfrozen features81.1% ImageNet linear probe, ViT-H/16 at 448 px, 300 epochs (Table 1); ViT-H/14 pretraining in under 1,200 GPU-hours
V-JEPA (2024)masked spatiotemporal tubesEMA teacher, stop-gradientViT-L/16, ViT-H/16; VideoMix2M, 2M videosfrozen features81.9 K400, 72.2 SSv2, 77.9 IN1K, frozen ViT-H/16 at 384 px with its own attentive probe; V-JEPA 2's shared 4-layer probe puts V-JEPA ViT-H at 74.3 on SSv2
V-JEPA 2 (2025)masked tubes, longer clipsEMA fixed at 0.99925, stop-gradientViT-g 1B; VideoMix22M, over 1M hoursfrozen features75.3 SSv2 at 256 px, 77.3 at 384 px, same frozen protocol for all encoders (Table 4)
V-JEPA 2-AC (2025)next-frame latents given action and statefrozen encoder; nothing to collapsefrozen ViT-g plus a 300M predictor; 23k DROID trajectoriesplanning with CEMpick-and-place cup and box 80% and 80% in Lab 1, 80% and 50% in Lab 2, with human sub-goal images, 10 trials per cell (Table 2)
LeWM (2026)next global latent given actionsSIGReg onlyViT-Tiny from pixels, about 15M parameters; per-environment offline dataplanningtrains on one GPU in hours; plans up to 48× faster than foundation-model world models (abstract)
HWM (2026)latents at two timescales, one shared spaceinherits its backbone'sa V-JEPA 2-AC-recipe low level plus a long-horizon predictor; about 96 h DROID and 30 h RoboSethierarchical planningFranka pick-and-place from one goal image: 70% cup, 60% box against 0% for flat V-JEPA 2-AC, 50 trials per object (Table 1)
H-JEPA (Oct 2026)latents at each of up to four timescales, each in its own spaceSIGReg per level; plus inverse dynamics on diverse scenesLeWM at level 1, MLP encoders above; four simulators, and DROID offlinetop-down hierarchical planningVisual AntMaze 73.3 ± 3.5% (three levels) against 18.0 ± 3.5% flat, 50 tasks, three seeds (Table 1)
Numbers read from each paper on 12 Oct 2026, with the table cited. Rows are not comparable to one another: each headline uses its own protocol, which is the point of the last column. Context V-JEPA 2 H-JEPA

Which "H-JEPA"?

Three different things carry the name, and citing the wrong one is easy. This page means the first item of the third group whenever it writes H-JEPA without qualification.

1. The proposal (2022 to 2023)

LeCun's position paper, A Path Towards Autonomous Machine Intelligence (OpenReview, v0.9.2, 2022), proposes stacking JEPAs: a lower JEPA makes short-term predictions from detailed representations, a higher one makes longer-term predictions from more abstract ones, and planning runs across the levels. Dawid and LeCun's lecture notes (arXiv 2306.02572, §6.2) restate it. No training recipe, no experiments. Context

2. Same name, different subject

Girgis, Labriji and Bennis, Hierarchical JEPA Meets Predictive Remote Control in Beyond 5G Networks (arXiv 2602.07000, Jan 2026): an H-JEPA for compressing device states in wireless networked control. Unrelated GitHub repositories also use the name for multi-scale image SSL (jonwiggins/H-JEPA), a language model (Griffith-7/H-JEPA-LM), biosignals (lucapegolotti/h-jepa) and recommendation (csanadlajko/H-JEPA4Rec). None of these is the October 2026 method. Context, checked 12 Oct 2026

3. The method this page covers, and its nearest predecessor

H-JEPA: End-to-End Learning of Hierarchical World Models for Visual Planning. Wancong Zhang and Basile Terver (equal contribution), Michael Rabbat, Yann LeCun and Randall Balestriero (equal advising), arXiv 2610.06805, submitted 5 Oct 2026; code at github.com/kevinghst/H-JEPA (MIT), built on LeWM and stable-worldmodel. It is the first instance of the 2022 proposal trained end to end with planning results, and it differs from HWM (Zhang, Terver et al., Apr 2026) on exactly one axis: HWM's levels predict in one shared latent space, H-JEPA gives each level its own encoder and space. H-JEPA §1, Table 13

03

V-JEPA 2: architecture and pretraining

Encoders and predictor
NetworkParamsWidthDepthHeadsMLPEmbedder
Encoder ViT-L300M1024241640962×16×16 strided conv
Encoder ViT-H600M1280321651202×16×16 strided conv
Encoder ViT-g1B1408402261442×16×16 strided conv
Predictor (pretraining)22M38412121536linear 1408 → 384
Predictor (V-JEPA 2-AC)∼300M102424164096linear 1408 → 1024
Paper Table 12 and §3.1. The pretraining predictor is the same ViT-s for every encoder size. Paper App. A.3

Position enters through a 3D rotary embedding: each head's feature dimension is split into three near-equal segments, rotated by the temporal, height and width index respectively. The paper reports it stabilised training of the largest models, relative to V-JEPA's absolute sin-cos table. Paper §2.1 In code each axis gets 2·⌊⌊dhead/3⌋/2⌋ dimensions, so a 64-dim ViT-g head rotates 20 + 20 + 20 and leaves 4 untouched, and the 32-dim pretraining predictor head rotates 10 + 10 + 10 and leaves 2. src/models/utils/modules.py, RoPEAttention

One pretraining step, with shapes

ViT-g, a 16-frame 256 px clip, the short-range mask, B clips per GPU. |C| and |M| are the context and target counts after the collator's batch-minimum truncation, measured at B = 24.

x               (B, 3, 16, 256, 256)                 # 4 fps, so 4 s of video
Conv3d k=s=(2,16,16) → (B, 1408, 8, 16, 16) → flatten → (B, 2048, 1408)
context  keep C        (B, |C|, 1408)    |C| ≈ 511 short-range, 129 long-range
encoder  Eθ, 40 blocks, 3D-RoPE at each token's (t,h,w)  → (B, |C|, 1408)
predictor linear 1408→384 → (B, |C|, 384) ⊕ mask tokens Δy at M → (B, |C|+|M|, 384)
          12 blocks → keep M → linear 384→1408 → (B, |M|, 1408)    |M| ≈ 953 / 1442
target   Eθ̄ on all 2048 tokens, no grad → LayerNorm → select M → (B, |M|, 1408)
loss     mean |ẑ − z̄|  over M and 1408 channels, averaged over the two masks
Shapes from Table 9 and 12; LayerNorm on targets, the per-mask average and the counts from app/vjepa/train.py and the sampler, run at commit 204698b. Code, measured

The objective and the teacher

minθ, φ, Δy ‖ Pφ(Δy, Eθ(x)) − sg(Eθ̄(y)) ‖1,    θ̄ ← m·θ̄ + (1 − m)·θ,  m = 0.99925

Eq. 1 of the paper. Δy is a learnable mask token placed at each dropped position, the loss is taken only over masked positions, and the teacher weights θ̄ are an exponential moving average of the student's. A fixed m of 0.99925 averages over about 1/(1 − m) ≈ 1,333 steps. Paper Eq. 1, Table 9

Why it does not collapse

The prediction term alone is minimised by a constant encoder, so every JEPA needs a mechanism that keeps the representation from going flat. V-JEPA 2 relies on three: a stop-gradient on the target branch, so the target is never pulled toward the prediction; an EMA teacher, a lagged and non-degenerate copy; and an asymmetric predictor, which gives the online branch a degree of freedom the target lacks. Tian, Chen and Ganguli (ICML 2021) show for linear networks that the predictor comes to share eigenvectors with the representation's correlation matrix and that eigenmodes above a threshold grow rather than decay. SimSiam (Chen and He, CVPR 2021) shows stop-gradient plus a predictor suffice without an EMA. None of this is a guarantee: partial dimensional collapse is common in non-contrastive methods. Tian et al. 2021; Chen and He 2021

What V-JEPA 2 shows about collapse empirically: nothing. The paper asserts that the stop-gradient and EMA "prevent representation collapse" and reports no rank, spectrum or variance diagnostic. Paper §2.1

The contrast is with methods that regularise the batch directly. VICReg hinges each dimension's standard deviation above a floor and penalises off-diagonal covariance. SIGReg, used by LeWM, constrains the batch to an isotropic Gaussian by testing 1-D projections against the normal characteristic function (M = 1024 projections, weight 0.1). It removes the EMA, the stop-gradient and the pretrained encoder and trains a 15M-parameter world model from pixels, at a price: every dimension must carry unit variance. On the 2-D Two-Room task LeWM reaches 87% where the other planners reach 97% to 100%, which its authors attribute to SIGReg in very low-complexity environments. LeWM arXiv 2603.19312, §3 and Fig. 6

Step 5 runs a toy linear JEPA live and lets you remove each mechanism. open step 5 →

Masking, measured

Both masks are unions of rectangular blocks that span the full clip in time, so each is a set of tubes. Block size is drawn once per batch (spatial scale 0.15 or 0.7 of the frame, aspect ratio in [0.75, 1.5]) and block positions per clip. The collator then truncates every clip's context and target index lists to the batch minimum. The truncation keeps the first indices in (t, h, w) order, so a heavily masked clip loses its last time slices from the target, and a lightly masked clip loses its last visible time slices from the context. src/masks/multiseq_multiblock3d.py

The released sampler, run 200 batches per setting
SettingTokensMasked per clipEncoder seesPredictedNeither
Pretrain 16 f × 256², short-range, B = 242,04862%511 (25%)953 (47%)28%
Pretrain 16 f × 256², long-range, B = 242,04881%129 (6%)1,442 (70%)23%
Cooldown 64 f × 384², short-range, B = 618,43261%5,534 (30%)9,585 (52%)18%
Cooldown 64 f × 384², long-range, B = 618,43281%2,075 (11%)13,533 (73%)15%
Measured by calling the repository's _MaskGenerator with the Table 9 parameters and the per-GPU batch sizes of the released configs; "masked per clip" is the untruncated union, from a numpy port that matches the real sampler to three decimals. Code, measured

Why tubes: adjacent frames are nearly redundant, so a masked token with a visible copy at t ± 1 can be interpolated rather than inferred. V-JEPA's ablation found multiblock beats random-tube masking at 90%, which produced "features of low semantic quality", and beats causal masking from early frames only. V-JEPA §4 Because the context contains frames on both sides of every masked step, this is spatiotemporal inpainting, not extrapolation: V-JEPA 2 pretraining produces a state encoder, and the explicit predict-the-next-frame objective appears only in V-JEPA 2-AC. Inference open step 3 →

The scaling recipe, ingredient by ingredient

Average of six frozen-probe tasks (SSv2, Diving-48, Jester, K400, COIN, IN1K)
IngredientChangeAverageGainWhere
V-JEPA baselineViT-L/16, VideoMix2M, 90k iterations84.2Fig. 3
Data2M → 22M videos (VM22M)85.2+1.0Fig. 3, Fig. 4 left
ModelViT-L 300M → ViT-g 1B86.7+1.5Fig. 3, Fig. 5 left
Training length90k → 252k iterations, warmup-constant-decay87.5+0.8Fig. 3
Resolution256 → 384 px, 16 → 64 frames, in pretraining and evaluation88.2+0.7Fig. 3, Table 4
Curation (side ablation)uncurated → curated YT1B, ViT-L+1.4Fig. 4 right
Cooldown duration (side)16 → 64 frames at cooldown, 16-frame evaluation+0.7Fig. 5 right
The model-size gain is +1.5 in the text and Fig. 3 and +1.7 in the Fig. 5 caption; the two use different cooldowns. Each ingredient is measured on top of the previous one, with one seed, so the order matters and there are no intervals. Paper §2.2 to §2.4 Inference on order dependence

Data. VideoMix22M samples SSv2 (168k clips, 168 h, weight 0.056), Kinetics 400/600/700 (733k, 614 h, 0.188), HowTo100M (1.1M, 134k h, 0.318), curated YT-Temporal-1B (19M, 1.6M h, 0.188) and ImageNet (1M images, repeated into 16 frames, 0.250). Curation splits YT1B into 316M scenes with PySceneDetect, embeds each scene's middle frame with DINOv2 ViT-L, clusters into 1.5M clusters, keeps the 210k clusters that contain at least one Kinetics, SSv2, COIN or Epic-Kitchens training video, and reweights them toward that target mix, leaving 115M scenes. Paper Table 1, App. A.2, Table 11 Appendix A.2 gives YT1B as 1.4M hours and Table 1 as 1.6M. Paper

Schedule and resolution. A 12k-iteration warmup and a 228k-iteration constant phase at 16 frames and 256 px, then a 12k-iteration cooldown at 64 frames and 384 px with the learning rate decayed from 5.25e-4 to 1e-6, at a global batch of 3,072. Training at 64 × 384 × 384 throughout "would require roughly 60 GPU-years"; the progressive schedule cuts GPU time 8.4×. Paper §2.4, Table 9, Fig. 5

Token counts. A pretraining clip is (16/2)·(256/16)² = 8 · 256 = 2,048 tokens. A cooldown clip is (64/2)·(384/16)² = 32 · 576 = 18,432 tokens, 9× more, so the attention term of each layer costs about 81× more. A V-JEPA 2-AC frame is 1 · 256 = 256 tokens, and the VidQA model at 384 px feeds the LLM 576 tokens per 2-frame tubelet, the 288 per frame the paper quotes. computed from Table 9 and §7.4 open step 2 →

04

What the frozen encoder is good for

The attentive probe, and what it measures

Four transformer blocks with 16 heads sit on the frozen encoder's tokens; the last block replaces self-attention with cross-attention from a single learnable query, and a linear classifier reads the query. Paper §5, App. C.1

A linear probe on pooled features measures what is linearly available in one vector, which undercounts a patch-token model with no class token. Full fine-tuning measures initialisation plus adaptation, and mixes the two. An attentive probe sits between: a small nonlinear reader that may attend anywhere in the token set while the encoder stays fixed. The four-block probe beats a single cross-attention block by 1.4 points on average for ViT-L and 1.0 for ViT-g. App. C.2 Two protocol details matter for comparisons. Each run trains 20 probe heads with different learning rates and weight decays and reports the best, with no separate validation split stated. Jester and Diving-48 read four encoder layers, not one. Table 15, Table 16 open step 7 →

Frozen attentive probes, top-1 accuracy (Table 4)
EncoderParamsAvgSSv2Diving-48JesterK400COININ1K
DINOv21.1B81.150.782.593.483.690.786.1
PE-core G1.9B82.355.476.990.088.595.387.6
SigLIP21.2B81.149.975.391.087.395.188.0
V-JEPA ViT-H600M85.274.387.997.784.587.180.0
InternVideo2s21B87.069.786.497.089.493.885.8
V-JEPA 2 ViT-L300M86.073.789.097.685.186.883.5
V-JEPA 2 ViT-H600M86.474.089.897.785.387.983.8
V-JEPA 2 ViT-g1B87.575.390.197.786.690.784.6
V-JEPA 2 ViT-g384 *1B88.277.390.297.887.391.185.1
Blue columns need several frames (motion), orange ones can be solved from one (appearance). * The headline 77.3 uses 384 px and 64-frame SSv2 clips, a protocol no other row gets; at the shared protocol V-JEPA 2 scores 75.3. PE-core G reaches 89.8 on IN1K with its own probe at 448 px. Paper Table 4 and caption

Why the motion columns favour a JEPA. The target of each masked tube is the feature of a region whose content is determined by the trajectory visible around it, so features that encode how things move are the cheapest way to predict it. Image-text contrastive encoders are trained per frame against captions, which name objects far more often than motions. The pattern in Table 4 fits: V-JEPA 2 leads SSv2 by 20 points over the best image encoder and trails SigLIP2 and PE on K400, COIN and ImageNet by 1 to 4. Inference

Action anticipation (Epic-Kitchens-100)

The context clip ends 1 s before an action; the encoder reads 32 frames at 8 fps, the pretraining predictor is given mask tokens for the frame 1 s ahead, and a probe with three queries (action, verb, noun) trained with focal loss reads both. Recall@5 on actions: ViT-L 32.7, ViT-H 36.5, ViT-g 38.0, ViT-g384 39.7, against 27.6 for PlausiVL (8B), 26.0 for Video-LLaMA and 25.8 for InAViT, a 44% relative gain. Paper §6, Table 5, App. D.1 The probe-input ablation says what that gain is made of: encoder features alone 39.1, predictor output alone 20.2, both 39.7. Accuracy falls sharply as the anticipation time grows from 1 s to 10 s. Table 20, Fig. 18 The baselines are task-specific systems with different backbones and data; none is a frozen-encoder probe. Inference

Video question answering

LLaVA-style alignment: encoder tokens, a projector, an LLM, trained in stages (captioning, image QA, video QA). The controlled comparison fixes Qwen2-7B-Instruct, 18M samples, a frozen encoder and 128 frames, and swaps the vision encoder: V-JEPA 2 ViT-g512 averages 52.3 against 49.1 for PE, 48.1 for SigLIP2 and 45.7 for DINOv2, with its largest margins on MVP, TemporalBench and TVBench, and a narrow loss on PerceptionTest (72.0 against 72.4). Paper §7.2, Table 6 The headline row uses Llama 3.1 8B, the full 88.5M samples, ViT-g384 with an MLP projector and 288 tokens per frame: PerceptionTest 84.0, MVP 44.5, TempCompass 76.9, TemporalBench 36.7, TOMATO 40.3, TVBench 60.6, MVBench 73.5, against PerceptionLM 8B's 82.7, 39.7, 72.7, 28.3, 33.2, 63.5 and 77.1. Table 8

What the comparisons control. The controlled table holds the LLM, data and stages fixed but not the token budget: V-JEPA 2 is pooled 4× to 8×, the image encoders 16×, and visual token counts range from 5,832 to 10,952 per video (Table 21). The headline table compares systems with different LLMs, alignment data and frame counts, and its PerceptionTest entry was fine-tuned on that benchmark while the rest are zero-shot. The defensible claim is the controlled one, and it is a claim about temporal benchmarks. Inference

Physical-understanding probes

On IntPhys 2 (violation of expectation, chance 50%), V-JEPA 2 ViT-H scores 54.0 easy, 58.5 medium, 59.4 hard, 57.5 overall and 56.4 held-out, against human majority votes of 96.2, 97.8, 95.5, 96.4 and 92.4. It is the best predictive model evaluated, and each model's figure is its best of about a dozen hyperparameter runs per column. On the original IntPhys, where V-JEPA ViT-H with RoPE reaches 98.3, V-JEPA 2 ViT-H reaches 87.2. IntPhys 2, Table 2

The gap is not subtle. A frame-feature objective rewards continuity of appearance, which covers permanence and some continuity, but nothing in it penalises two solids passing through each other. MVP's 44.5 paired accuracy leads the 8B class, by 4.8 points over PerceptionLM, and is still far from a solved benchmark. Inference

05

V-JEPA 2-AC: the action-conditioned world model

Post-training setup
Encoder
V-JEPA 2 ViT-g, frozen; each frame encoded alone, 16 × 16 × 1408. The code loads the EMA teacher weights for both context and targets. §3.1 droid-256px-8f.yaml
Predictor
∼300M transformer, 24 layers, 16 heads, width 1024, GELU, block-causal. §3.1
Data
Raw DROID, left exocentric camera only, 16-frame clips described as "4 seconds at 4 fps", 256 × 256, videos "shorter than 4 seconds" discarded: 23k trajectories, "under 62 hours". All three durations are by the video files' clock, which runs about 4× fast; see Rate. Training on left and right views without conditioning on the camera degraded performance. §3.1, App. B.1
State sk
7-D, relative to the robot base: x, y, z, three extrinsic Euler angles, gripper. §3.1
Action ak
sk+1 ⊖ sk: Δxyz, the extrinsic Euler angles of Rk+1Rk⊤, Δgripper. The repository's example step is Δ = (+9.2, +3.1, +8.4) cm, rotation (−0.017, −0.010, 0.000) rad, gripper 0. droid.py poses_to_diffs; franka_example_traj.npz
Rate
4 fps by the file clock, about 1 frame per second of real time. The loader strides by ⌈fcontainer/4⌉ frames using the rate the MP4 reports; DROID's files report 60 fps for 15 Hz captures, so the stride is 15 frames, frames are about 1 s apart, and one action spans about 1 s of teleoperation. This page said 3.75 Hz and 0.27 s until 12 Oct 2026. droid.py; measured on two DROID raw episodes H-JEPA App. J.1
Optimisation
AdamW, batch 256, weight decay 0.04; learning rate 7.5e-5 → 4.25e-4 over 4,500 iterations, constant for 85,500, decayed to 0 over 4,500. App. B.1

What a DROID frame is: the file clock and the wall clock

The loader asks the video file for its frame rate and strides by ⌈rate / 4⌉ frames to get "4 fps". DROID's MP4s do not carry the capture rate. Each holds one frame per 15 Hz control step but is timestamped as if recorded at 60 fps, so the file plays four times too fast and the loader takes every fifteenth frame. Two raw episodes, read on 12 Oct 2026: droid.py at 204698b; DROID raw 1.0.1

EpisodeVideo framesFile saysRobot stepsCamera timestamps spanFile rate
AUTOLab, 2023-07-07, left camera2203.67 s22115.6 s, 67 ms apart60 fps
RAIL, 2023-04-05, left camera2514.18 s25217.8 s, 67 ms apart60 fps
Frame counts and durations from the MP4 movie and media headers (stts: 220 samples of 256 ticks at timescale 15,360); robot steps and timestamps from trajectory.h5. H-JEPA's App. J.1 states the same 60 fps tagging and evaluates the public V-JEPA 2-AC checkpoint "at its native 1 fps" accordingly. measured H-JEPA App. J.1

What changes. One step of the world model is about a second of teleoperated motion, not a quarter of one. That fits the numbers that looked odd before: the repository's example step moves 12.9 cm, and the planner's box allows up to 13 cm per step, ordinary for a second of motion and fast for 0.27 s. The paper's "videos typically 3–4 seconds long" are their file durations; real DROID episodes run about four times longer. Any comparison that treats V-JEPA 2-AC as a 4 Hz model is off by a factor of four, and models trained at true 5 fps, as in H-JEPA, see a different action granularity. Whether Meta's internal training pipeline read the same tag cannot be checked from outside; the released loader does. Inference

The predictor as a function

ẑk+1 = Pφ( (at, st, zt)t ≤ k ),   zt = LN(E(xt)) ∈ ℝ256×1408,   at, st ∈ ℝ7

Each time step contributes a block of 258 tokens in the order [at, st, 256 patches]. The attention mask lets every token in block t attend to every token in blocks 0 to t, including the action at of its own block, and to nothing later. The patch outputs of block t are read as the prediction of frame t + 1. Patches carry the full 3D rotary position; action and state tokens get only the temporal rotation. ac_predictor.py; modules.py build_action_block_causal_attention_mask §3.1

z        (B, T·256, 1408) → linear → (B, T, 256, 1024)
a, s     (B, T, 7) → two separate linears → (B, T, 1, 1024) each
interleave cat[a, s, z] per step → (B, T·258, 1024)          # T = 16 → 4,128 tokens
24 blocks  block-causal mask, (T·258)² entries, ≈53% allowed at T = 16
drop the 2 conditioning tokens per step → (B, T·256, 1024) → LN → linear → (B, T·256, 1408)
LN again  on the output, to match the LayerNormed targets
From src/models/ac_predictor.py and app/vjepa_droid/train.py (normalize_reps: true). The allowed fraction is (T + 1)/(2T) of block pairs. Code open step 9 →

Teacher forcing plus a short rollout

Ltf = (1/T) Σk=1..T ‖Pφ((at, st, zt)t≤k) − zk+1‖1,  T = 15     Lroll = ‖Pφ(a1:T; s1, z1) − zT+1‖1,  T = 2     L = Ltf + Lroll

Teacher forcing predicts every next frame from ground-truth latents. The rollout term feeds the first prediction back in and supervises the second, so the predictor is differentiated through one recurrent step. Eqs. 2 to 4 In code the rollout starts from [z0, ẑ1], appends ẑ2, and the loss is a per-element mean absolute error over both. train.py, auto_steps: 2

Why so short: each rollout step reruns all 24 layers over a growing sequence and keeps the activations for the backward pass, and gradients through recurrent steps compound. What two steps buy is exposure to the model's own one-step error once, which controls the first-order drift term. Nothing constrains error at step five, which is one reason the planner never asks for step five. Inference open step 10 →

Planning as energy minimisation

E(â1:T; zk, sk, zg) = ‖ P(â1:T; sk, zk) − zg ‖1,   a⋆1:T = argmin E,   execute a⋆1, observe, repeat

The current frame and the goal image are encoded by the same frozen encoder. The cross-entropy method samples each action coordinate from a Gaussian initialised at zero mean and unit variance, rolls every sample through the predictor, keeps the top k by energy, refits mean and variance to them, and after the last iteration returns the mean. Deployed settings: 800 samples, top 10 (an elite fraction of 1.25%), 10 iterations, horizon 1, blocking control that waits for each action to finish. §3.2, Fig. 7, §4.1, App. B.2 In the released planner the end-effector state during a rollout is not predicted: it is composed analytically from the previous state and the sampled action, rotations are sampled as zero, and the refit is smoothed with momentum. notebooks/utils/mpc_utils.py open step 11 →

The one energy landscape in the paper sweeps Δx and Δy over ±5 cm for a reach whose true displacement is (0, −10) cm. The minimum sits near (0, −5) cm, and the energy spans 0.40 to 0.44. Fig. 9 That minimum lies on the edge of the swept square: the figure shows the landscape slopes the right way, not that its minimum finds the true action, and the whole landscape varies by about 10% of its level. Inference

Training step and MPC loop, as pseudocode
# ---- one training step (App. B.1; app/vjepa_droid/train.py) ----
x, s   = clip (B, 16 frames), states (B, 16, 7)           # the released config uses 8 frames
a      = s[1:] ⊖ s[:-1]                                   # (B, 15, 7): Δxyz, Euler(Rk+1Rk⊤), Δgripper
z      = LN(Efrozen(each frame, duplicated to a 2-frame tubelet))   # (B, 16, 256, 1408), no gradient
ẑ      = P(a, s[:-1], z[:-1])                             # block-causal: all 15 next frames in one pass
Ltf   = mean |ẑ − z[1:]|
ẑ1     = P(a[:1], s[:1], z[:1]);   ẑ2 = P(a[:2], s[:2], [z0, ẑ1])[-1]     # a 2-step rollout
Lroll = mean |[ẑ1, ẑ2] − z[1:3]|
(Ltf + Lroll).backward();   AdamW step on P only

# ---- deployment: CEM inside MPC (§3.2, App. B.2) ----
zg = LN(E(goal image))
loop:
    zk, sk = LN(E(current frame)), proprioception
    μ, σ = 0, 1 per action coordinate, horizon 1
    repeat 10:
        A = 800 samples ~ N(μ, σ²), each axis clipped to ±0.075
        energyi = mean |P(Ai; sk, zk) − zg|                 # terminal L1 over 256 × 1408
        μ, σ = mean, std of the 10 lowest-energy samples
    execute μ, wait for it to finish, observe                  # pick-and-place: sub-goal 1 for 4 steps, 2 for 10, goal for 4
Eqs. 2 to 5, §3.2, App. B.1 and B.2; the rollout indexing and the per-axis clip follow the released code. Paper train.py, mpc_utils.py
Zero-shot deployment: success out of 10 trials per cell (Table 2)
MethodLabReachGrasp cupGrasp boxReach w/ cupReach w/ boxP&P cupP&P box
Octo110020020702010
Octo210010010701010
V-JEPA 2-AC1100703090808080
V-JEPA 2-AC2100602060708050
Cosmos280020n/an/a00
Franka Panda arms with RobotiQ grippers in two labs absent from DROID, an uncalibrated low-resolution monocular RGB camera, operational-space control, the same weights and code in both labs. Cosmos row: Table 3, Lab 2, 80 samples, 10 iterations, horizon 1, 4 min per action; V-JEPA 2-AC there: 800 samples, 16 s per action; both on one RTX 4090. Paper §4, Tables 2 and 3

Tasks. Reach moves the gripper to the pose in one goal image and ends within 4 cm in all three single-axis tests, with the distance falling at every step. Grasp and reach-with-object use one goal image. Pick-and-place is given two sub-goal images and the final goal: the planner chases the first (object grasped) for 4 steps, the second (object near the target) for 10, and the final for 4. §4.2, Fig. 8, App. B.2 Baselines. Octo starts from octo-base-1.5, trained on Open X-Embodiment, and is fine-tuned on all of DROID with hindsight image goals drawn up to 20 steps ahead, two frames of context and a 4-action horizon; it gets the better of blocking and non-blocking control. Cosmos starts from the 7B continuous-token latent diffusion model and is fine-tuned on DROID with three hand-made fixes (a lower learning rate, no conditioning dropout, noise raised by a factor of e²). §4.1

Where the speed gap comes from. One CEM evaluation of V-JEPA 2-AC at horizon 1 is one forward pass of a 300M predictor over 258 tokens, about 2 · 3×10⁸ · 258 ≈ 1.5×10¹¹ FLOPs. At 800 samples and 10 iterations that is 1.2×10¹⁵ FLOPs per action, which an RTX 4090 at half its roughly 165 TFLOP/s dense BF16 peak finishes in about 15 s, close to the reported 16 s. Cosmos spends 15× the time on a tenth of the samples, about 150× more per sample, because each sample is a multi-step denoising of video latents by a 7B network. V-JEPA 2.1's paper reports the same V-JEPA 2 planner at 3 s per action on an A100; neither paper reconciles the two timings. Inference V-JEPA 2.1 Table 6 open step 12 →

Looking inside. A deterministic ViT-L decoder trained with MSE to map V-JEPA 2 features back to pixels, applied off the shelf to predictor outputs, shows the arm animated and the background kept still; the cup ends slightly low after a rollout, and with an open gripper the cup stays put. App. B.3, Fig. 15 These are single qualitative examples. Inference

Camera sensitivity, measured. For camera positions from about 35° to 85° around the table, the robot makes 201 random x–y moves; for each, the planner infers the one-step action that best explains the next frame. A 2 × 2 least-squares map from inferred to executed actions has condition number ≈ 1.5, so it is close to a rotation; the rotation error grows almost linearly with camera angle, and the mean absolute error is about 1.6 cm on 5 cm moves. Rotating the planner's actions by that map would calibrate it without supervision; the experiments do not. App. B.4, Fig. 16 This is a controllability measurement, and it is the most informative quantitative diagnostic of the world model in the paper. Inference

Without the sub-goal images

Table 2's pick-and-place gives the planner three goal images. HWM (arXiv 2604.03208) ran the experiment the paper does not: one goal image, a Franka arm in one lab, 10 start-goal pairs per object with 5 trials each. Its flat baseline uses the V-JEPA 2-AC architecture retrained on the same data as HWM's low level (about 96 hours of DROID and 30 of RoboSet), and the hierarchy adds a long-horizon predictor in the same latent space with learned macro-actions. Intervals below are 95% Wilson, computed by this page from the percentages and n = 50. HWM §3.1, Table 1, App. A.2

Franka, single goal image (HWM Table 1)
Drawer rates cover 7 tasks × 5 trials, but 30% and 70% are not multiples of 1/35, so the counts cannot be recovered and no interval is shown. π0-FAST-DROID and π0.5-DROID are policies fine-tuned on DROID, a different class of method. HWM Table 1 intervals computed here

The flat planner's zero is the expected failure of a horizon-1 greedy energy on a task that must first move away from the goal image to grasp the object, and the hierarchy's 70% shows a learned subgoal can replace the human's. Two things are not shown: a second lab, and whether separate latent spaces per level, H-JEPA's change, add anything on a real arm. Inference H-JEPA →

06

H-JEPA: a hierarchy of action-conditioned JEPAs

V-JEPA 2-AC predicts one frame ahead and plans one step ahead; pick-and-place works only because a person supplies the intermediate goal images. H-JEPA names the two reasons a single-level JEPA world model struggles further out. Rolling one fine-grained predictor over a long horizon compounds its error and grows the action search space. And one latent space has to serve both short-range dynamics and goal matching, although a goal such as "reach that room" is more abstract than the full state that matches it. Its answer is a stack of JEPAs, each predicting farther ahead in a latent space of its own, trained jointly from pixels. H-JEPA §1

At a glance
Levels
Up to four in simulation, two on DROID. Level 1 is LeWM: a ViT-Tiny encoder read through its [CLS] token and an MLP projector with BatchNorm, and a causal transformer predictor (4 layers, 8 heads, width 192, feed-forward 1024) conditioned on actions through adaptive LayerNorm. §3, App. C.1
Upper levels
A two-layer MLP encoder (hidden 384) applied to one lower-level latent, a one-layer transformer that pools the intervening lower-level action embeddings into a 4-D macro-action, and a causal transformer predictor. Stride sℓ = 2 and window wℓ = 1 at every upper level, so each step up doubles the time a prediction spans. App. C.1, Table 4
Time base
A level-1 step is 5 environment steps with the intervening actions concatenated; a level-ℓ step is 5·2ℓ−1 environment steps. App. C.1
Training
All levels from scratch in one run, upper-level losses backpropagating into the encoders below. No EMA target, no stop-gradient, no pretrained weights. AdamW, weight decay 1e-3, 1% warm-up then cosine decay, clipping at 1.0, bfloat16; peak learning rate 5e-5 at level 1 and 1e-5 above; 5 to 9 epochs; seeds 42, 43, 44; H200 GPUs. Training FLOPs are not matched across depths. App. C.1
Data
1.0M transitions (FourRoom), 10.05M (AntMaze explore plus stitch), the Push-T expert set, the OGBench Cube scripted set; a re-encoded copy of DROID for §07. App. B, C.1, J.4

Building the hierarchy

Higher levels are built from the latents of the level below. With stride sℓ (how far each window advances) and window wℓ (how far it spans), and a:b meaning a, …, b−1:

z(ℓ)t = E(ℓ)( z(ℓ−1)t·sℓ : t·sℓ+wℓ ),   a(ℓ)t = A(ℓ)( a(ℓ−1)t·sℓ+wℓ−1 : (t+1)·sℓ+wℓ−1 )   // Eq. 1

The state encoder pools a w-step window into one abstract state; the action encoder pools the s action embeddings that carry the system from that state to the next upper-level state. Each level is then an ordinary action-conditioned JEPA in its own space, trained by one-step teacher forcing over a context of cℓ states, with SIGReg on the batch of embeddings:

L(ℓ) = (1/cℓ) Στ=1..cℓ ‖ F(ℓ)(z(ℓ)1:τ, a(ℓ)1:τ) − z(ℓ)τ+1 ‖²2 + λℓ·SIGReg(Z(ℓ)),   L = Σℓ L(ℓ)   // Eqs. 2 and 3

Eq. 2 prints the context as z<τ; the text describes a causal predictor that sees the cℓ preceding states and their actions, which is what the line above writes. SIGReg weight λ is shared by all levels of a model: 0.18 on FourRoom, 0.09 elsewhere, with M = 1024 random projections. §2.1, App. C.1, Table 4

Change the depth, stride and window below. The page recomputes how many level-1 frames one training sample needs and checks the result against the paper's Table 3.

Hierarchy builder: one training sample
Recurrence from App. C.1: the top level needs nL = 4 states, and nℓ−1 = (nℓ − 1)·sℓ + wℓ. A clip spans 5·(n1 − 1) + 1 environment steps. A sample yields three teacher-forced transitions per level. The lower-level horizon needed to cover K upper-level subgoals is Hℓ = K·sℓ+1 + wℓ+1 − 1 (§2.2). App. C.1, Table 3, §2.2

The DROID model, with shapes

frames   DROID re-encode, 256 × 256, one exterior view per window, 5 fps, 8 level-1 states per clip
level 1  ViT-S/16 → CLS → projector → z(1)t ∈ ℝ384         actions at ∈ ℝ7 (Δxyz, Δrpy, gripper)
         predictor: causal transformer, width 384, depth 12, 6 heads, FF 1536, dropout 0.1, AdaLN on actions
         context c1 = 7 states; loss = pred + 0.08·SIGReg(T,N,D) + 100·IDM
level 2  stride 3, window 1: z(2)t = MLP768(z(1)3t)
         macro-action: concat 3 × 7 raw commands → MLP(64) → LN → ℝ8, with 0.005·SIGReg on it
         predictor width 384, depth 12; context c2 = 2; loss = pred + 0.16·SIGReg + 50·IDM
optimiser AdamW (0.9, 0.999), batch 256, peak 5e-4, 10% warm-up, cosine to 0, wd 1e-4,
         clip 1.0 per level, bf16, 100 epochs × 292 iterations, seeds 1, 1000, 10000
Table 5 and App. C.2. "(T,N,D)" means SIGReg tests normality within each timestep across the N sequences of the batch. The DROID models see pixels and actions only, no proprioception. App. C.2, Table 5

What each level keeps: selective abstraction

Two-layer MLP probes on frozen latents, reported as variance-normalised MSE (1 is the marginal mean, 0 is exact recovery), three seeds. In four-level models on Visual AntMaze the ant's joint configuration becomes less recoverable with each level while its position stays recoverable; on FourRoomDistractors the independently moving distractor fades while the agent stays. §3, Fig. 4 The effect tracks the data. Measured as the ratio of spectral centroids of the fastest and slowest state components, environments with a frequency gap below about 2× show little abstraction; AntMaze, Humanoid and FourRoom show it, and the manipulation datasets, Push-T and Cube, have small gaps and do not. §3, Fig. 5, App. F

The mechanism the paper offers is the joint training itself: prediction-error gradients flow into every encoder, so each level keeps what it can predict at its own stride and drops what it cannot. That is a statement about what the objective rewards, demonstrated by probes in three environments, not a guarantee; in tabletop manipulation, where object and gripper move on similar timescales, the hierarchy decomposes time but does not abstract state. Inference

Why diverse scenes need an inverse-dynamics term

On DROID the scene, lighting, camera pose and objects change every episode. Within an episode the background is the most predictable part of the signal, so a purely predictive objective can keep the scene identity and drop the arm. The paper calls this slow-feature collapse and measures it as the within-episode share of latent variance, χ(E) = Eb[tr Vart(zt | b)] / tr Varb,t(zt), which is 0 at exact collapse. Latent variance is 75% between episodes on DROID against 28% on OGBench Cube. §4.3, App. L.1, L.2

Proposition 1. If R is any functional of the marginal law of a single embedding, zero at some law μ0, and the background law is atomless, then an encoder E = Q∘U∘b (reading the background only) and the identity predictor reach Lpred = 0 and R = 0 together. VICReg-style variance and covariance terms, whitening, entropy penalties and SIGReg all look at the marginal law only. A barrier must act on the joint law of z across time.

Theorem 1. For any measurable E, the irreducible prediction risk ℰ(E) = E‖zt+1 − E[zt+1 | zt, at]‖² satisfies ℰ(E) ≥ ν(E) ≥ 0, where ν is the next-embedding variance that survives knowing the full latent state and the action; ℰ = 0 exactly when zt+1 is a measurable function of (zt, at). Reading only the background gives ν = 0 with the identity as predictor. In practice training picked that optimum: action sensitivity fell below 0.05 in all fifteen seeds of the SIGReg ladder.

Proposition 2. At exact collapse, a grouping that puts several timesteps of one sequence into the same normality test raises SIGReg above its null value by Δ = λ(T − 1)κ; a grouping with time in the group axis, which the headline DROID runs use, adds nothing. The ladder runs that do carry Δ all collapse anyway, later at larger λ, with χ between 0.008 and 0.016 past epoch 50.

Proposition 3. With the IDM loss Lidm = (1/(T−1)) Σt (1/da) ‖I(zt, zt+1) − sg[at]‖² (Eq. 8), a collapsed encoder pays at least (1/da) times the action variance not explained by episode identity. With unit-variance actions that floor is 1, so at weight γ = 50 collapse costs 50, against a SIGReg barrier of zero for the grouping used. It needs action labels, and it never penalises keeping distractors.

What each anti-collapse lever does on DROID, level 1 at 5 fps
SettingRepresentationAction sensitivityFréchet fidelity
No SIGReg, any IDM weighteffective rank 1 to 14 of 384n/abelow the zero-action floor
SIGReg ladder, no IDM (5 weights)collapses later at larger λ; χ 0.008 to 0.016below 0.05−81% final at the largest λ
SIGReg + time repulsion, no IDMkeeps moving within episodes0.21 to 0.53no run clears the floor
SIGReg + IDM, γ = 50χ = 0.120.2830.66%, best and final
Fig. 17 (16-cell grid; IDM weight 100 best) and Table 12, three training seeds, 100 epochs; the spreads Table 12 prints in parentheses are omitted here. Action sensitivity is the relative change of a predicted rollout when the true actions are swapped for another episode's. App. K.1, L.5 to L.7, Table 12

Read across the family. V-JEPA 2-AC never meets this problem: its encoder is frozen after pretraining on a million hours of varied video, so nothing can collapse, but nothing shapes it toward the arm either, and App. B.4's camera-dependent action error is one symptom. H-JEPA trains a small encoder end to end and must therefore add an explicit, action-supervised barrier. The direction card D2 on this page proposed an inverse-dynamics head as a controllability signal; on DROID it is now measured to be necessary, not optional. Inference see D2 →

07

H-JEPA: planning top-down, results and ablations

The planner

Encode the current and goal observations at every level, giving z(ℓ)0 and g(ℓ). The top level optimises macro-actions so that its final predicted state lands on its own goal latent:

a(L),⋆0:HL−1 = argmin ‖ ẑ(L)HL − g(L) ‖²2,   (ẑ1, …, ẑH) = Roll(L)(z0, a0:H−1)   // Eq. 4

Each lower level then plans toward the subgoals the level above predicted. It rolls its own model forward, lifts the rollout into the upper space through the upper encoder, and matches K of the upper predictions, the last one weighted 1 and the intermediate ones β:

z̃(ℓ+1)i = E(ℓ+1)(ẑ(ℓ)i·s : i·s+w),   a(ℓ),⋆ = argmin [ ‖z̃K − ẑ(ℓ+1),⋆K‖² + β Σi<K ‖z̃i − ẑ(ℓ+1),⋆i‖² ]   // Eqs. 5, 6

K = 1 is closed-loop planning, matching only the first subgoal; K = H with β = 0 matches only the terminal prediction; β > 0 also tracks the intermediate ones. Every level optimises by gradient descent through its rollout, not by CEM. §2.2, App. E

def plan(o, o_goal, levels):                                  # one replanning call
    z, g = [E_l(o) for l], [E_l(o_goal) for l]                   # encode bottom-up, one frame each
    target = g[L]                                                 # top level aims at its goal latent
    for l in L, L-1, ..., 1:
        init = N(0, I) if l == 1 else Gaussian fit to the last 4,000 training macro-actions
        A = S_l candidates from init                              # S_l per level, e.g. (25, 200) on AntMaze
        repeat ≤ 90 AdamW steps, stop when the best cost stalls:
            Z = Roll_l(z[l], A)                                   # context c = 1: latest state only
            cost = ‖Z[-1] − target‖² if l == L                  # level 1 scores its last two states
                   else subgoal cost of Eq. 6 after lifting Z through E_(l+1)
            A ← A − η ∇A cost;  clip upper-level A to the 2nd–98th percentile box
        best = argmin cost;  target = Roll_l(z[l], best)[1]          # first predicted state → subgoal below
    return best level-1 actions

# MPC: execute 2 level-1 blocks (10 environment steps), observe, call plan() again from scratch;
# the top horizon shrinks from H to 1 over the episode, and a level at horizon 1 is skipped.
Paraphrased from App. E ("Shared solver", "Replanning and horizons") and Table 7. On Push-T and Cube the level-1 actions are also pooled and matched to the first macro-action with weight 0.2; DROID widens the initial Gaussians 1.5× and clips every level to ±2 standard deviations. App. E, Tables 7 and 8

Why the hierarchy helps: two levers, separated

Hierarchical planning changes two things at once: it splits the search in time, and it scores progress in a more abstract space. The paper isolates the second by keeping level-1 rollouts and planner settings fixed and changing only the space in which the goal distance is measured, projecting both prediction and goal through the upper encoders. On AntMaze every multilevel model gains from at least one projected cost, and the best projected flat planner beats the separately trained LeWM at every depth. Cost maps show why: level-1 distances to an anchor are nearly constant away from it, so a gradient planner gets no signal until it is close, while upper-level distances rise smoothly along corridors. §4.2, Table 1, Fig. 7 The first lever shows in a different measurement: along held-out expert trajectories, the cost of tracking the next subgoal falls monotonically (−Spearman 0.89 to 1.00 for H-JEPA) where the full-horizon goal cost does not (0.48 to 0.75 for the flat level-1 cost). §4.2, Table 10

The toy below makes both levers visible on a maze. It is schematic: a grid, a greedy planner and hand-made costs, not the paper's models.

Cost geometry and subgoals, a toy mazeschematic, computed live
The four costs mimic Fig. 7 qualitatively: a distance that saturates beyond a radius (a level-1 latent far from the goal), straight-line distance that ignores walls, a graded geodesic distance (an upper level), and subgoals along that geodesic tracked with the local cost (temporal decomposition). The planner moves greedily one cell at a time with a step budget. Illustration

Results in simulation, every number the paper tabulates

Success (%), mean ± SE over three seeds, 50 tasks per environment
Tables 1 and 9: one evaluation set of 50 start-goal tasks per environment, generated with seeds different from the compute-sweep tasks used to choose planner settings under a 100-TFLOP budget. "Hierarchical" is the full top-down planner; the other rows plan at level 1 only and vary the cost space. HWM's per-depth numbers appear only in Fig. 6 and are not reproduced. §4, App. E, H
  • Depth helps, then the data run out. Three levels is best on AntMaze (73.3) and FourRoom (96.0); Cube peaks at three (60.0); Push-T collapses at three and four levels because a clip must lie within one short episode, leaving three- and four-level models 58% and 14% of LeWM's training transitions per epoch. §4.1, Table 3
  • Distinct spaces add to temporal hierarchy where abstraction emerges. Against HWM at matched implementation, data and depth (upper encoders replaced by identities), H-JEPA reaches nearly twice HWM's success on AntMaze, scores higher on Cube at larger depths, and ties on FourRoom and Push-T. HWM itself beats flat LeWM in all four environments. §4.1, Fig. 6
  • Projected costs are not free. On Cube the level-3 and level-4 projections roughly halve success, and on Push-T no cost helps; these are the environments without selective abstraction. App. H, Table 9
Cost monotonicity along held-out expert trajectories (−Spearman of cost against time, higher is better)
EnvironmentLevel-1 goal costHWM level 2HWM subgoalH-JEPA level 2H-JEPA subgoal
Visual AntMaze0.480.520.940.680.94
Push-T0.750.770.850.770.89
OGBench Cube0.650.740.791.000.99
FourRoom Distractors0.560.620.920.851.00
Table 10, mean over three training seeds, two-level models. These characterise costs along expert trajectories, not the success of optimised plans. App. I

DROID: real robot video, offline

DROID has no simulator that runs without ray-tracing hardware, so every DROID number is offline and open-loop: one plan covers a fixed 108-frame window (about 7.2 s) centred on the grasp of 16 hand-picked pick-and-place clips with good lighting and visible objects; nothing is executed or replanned. Plans are scored by Fréchet fidelity, how closely the planned end-effector path follows the expert's, relative to not moving at all:

fidelity = ( dF(0, p̃) − dF(p, p̃) ) / dF(0, p̃)   // Eq. 7: 0 = arm still, 100% = expert path, negative = worse than still

p and p̃ are the cumulative xyz paths of the planned and expert delta poses and dF is the discrete Fréchet distance. Each planner seed is averaged over clips, and the median over the 3 × 3 training and planner seeds is reported. The authors calibrate it in simulation: on OGBench Cube no episode succeeds below a fidelity floor, but clearing the floor does not predict success; on RoboCasa CloseDrawer it ranks graded progress with a positive, moderate within-configuration rank correlation. They therefore read a DROID gap as a direction, not a size. §4.3, App. J.1, J.2

DROID at 5 fps, Fréchet fidelity (%) on the 16-clip set
ModelLevelsFidelityNote
LeWM, no IDM1collapsedslow-feature collapse; "performance is zero"
LeWM + IDM1≈ 34strong flat baseline
HWM (identity level-2 encoder)2≈ 35temporal hierarchy only
H-JEPA2≈ 40learned level-2 space; best at lower planner TFLOPs (Fig. 9c Pareto front)
V-JEPA 2-AC, JEPA-WM (public checkpoints)1lowerevaluated at their native 1 fps on the 15 clips whose window fits; "orders of magnitude more compute for a lower fidelity"
Values read from the bar labels of Fig. 9b in the PDF (the HTML version of the figure has no numbers); intervals are SE over three training seeds. The frozen-encoder rows have no number in the text, only their position in Fig. 9c. §4.3, Fig. 9 read from the figure

The corpus. Raw DROID would make H.264 decoding, not the GPU, set the epoch time over about 5.5 TB. The authors re-encode every camera view to 256 × 256 with libx264 at CRF 18 and repack each trajectory: 127.6 GB for 74,530 episodes, about 45× smaller and 17.9× faster to decode, with trajectories bitwise identical and a median video PSNR of 33.75 dB. The 16 evaluation clips are removed from training. App. J.4, J.1

What the DROID result does and does not show. It shows that on one real-robot corpus with varying scenes, a learned second level improves the path a planner proposes, at less planner compute, under a metric the authors calibrated themselves. It does not show a robot succeeding more often: no plan was executed, the 16 clips were selected for visibility, the baselines with frozen encoders ran at a different frame rate on 15 clips, and the paper's own stated next step is closed-loop control on a physical robot. Inference §6

Limitations, stated and inferred

  • Fixed strides. Upper levels advance by a fixed stride; variable-duration segments are named as future work. §6
  • Action labels are required on diverse scenes. The inverse-dynamics term is the only Ω(1) barrier against slow-feature collapse; time repulsion alone did not clear the zero-action floor. Action-free video is open. App. J.5, L.6, L.7
  • One exterior camera at a time, no wrist view. The authors expect joint multi-view encoding, wrist included, to matter most for precise manipulation. App. J.5
  • Goals are images. Language-aligned upper latents are a stated direction. §6
  • Deterministic at every level. Each predictor is a point estimate trained with L2, so bimodal outcomes such as a slip average out at every timescale, as they do in V-JEPA 2-AC. Inference
  • Small models, simple scenes. The simulated results use a ViT-Tiny with fixed camera and background; whether the selective abstraction survives at V-JEPA 2 scale, or on a frozen V-JEPA 2 encoder, is untested. Inference
08

Evaluation audit and limitations

The robot numbers, with the intervals the paper leaves out

Every cell in Tables 2 and 3 is k successes in n = 10. The table below adds 95% Wilson intervals, computed by this page. At n = 10, 60% runs from 31% to 83%, and 60% against 80% is not a separable difference. Pooling both labs gives n = 20 per task for V-JEPA 2-AC and Octo, which is the fairest single number the data allow. computed here

Robot cells with Wilson 95% intervals
Counts from Tables 2 and 3. Trials varied object location and starting pose; per-condition outcomes are not reported. Paper §4.2

Protocol flags

  • One model, no seeds. Each method is one trained checkpoint; no training-seed variance is reported anywhere in §4. §4
  • The camera was tuned for the method. "We manually tried different camera positions before settling on one that worked well across all of our experiments." The baselines were run from the same placement. §4.3, App. B.4
  • Goals are hand-made. Start and goal images, and the sub-goal images for pick-and-place, were composed by the experimenters from the deployment camera. App. B.2, Fig. 14
  • Baseline parity is partial. Octo trains on all of DROID, several times the 23k trajectories, but only with goals at most 20 steps ahead, a different goal distribution from the tasks'. Cosmos gets a tenth of the samples because of its cost and runs in one lab only. The world models use blocking control; Octo gets its better mode. Inference from §4.1
  • Same arm, same gripper class. DROID is a Franka Panda with a Robotiq gripper, and so are both labs. Embodiment transfer is not tested. §4.1 DROID
  • The successor's headline mixes settings. V-JEPA 2.1's "+20 points on Grasp" is 60% for V-JEPA 2 at horizon 1 against 80% for V-JEPA 2.1 at horizon 8; at matched settings the difference is 60% against 70%, one trial in ten. V-JEPA 2.1 Table 6

Which generalisation axes "zero-shot in new labs" actually tests

AxisTested?Evidence
Environment (lab, lighting, background, clutter)yes, 2 labsTables 2 and 3
Objectweaklytwo object types, a cup and a box, not in the training labs
Spatial (object location, start pose)varied, not reported"various permutations to the task across trials"
Instructionnot applicablegoals are images; language goals are future work (§4.3)
Camera viewpointmeasured offline onlyApp. B.4 shows sensitivity; task success at other views is not reported
Embodimentnosame arm and gripper class as DROID
Task horizonnosub-goal images supplied for the only multi-stage task

Four axes for a world model, reported separately

AxisWhat V-JEPA 2-AC reportsProtocol that would settle it
Latent fidelitydecoded frames for one trajectory (Fig. 15); no error curvesopen-loop k-step ‖ẑ − z‖, normalised by ‖zt+k − zt‖ so copy-last-frame scores 1, plus a pose probe on ẑ
Controllabilityinferred-action axis vs camera angle (App. B.4); open vs closed gripper, qualitativeaction-sensitivity ratio; an inverse-dynamics probe on predicted states
Planning qualityone 2-D energy slice (Fig. 9)rank correlation between planner energy and realised distance to goal over executed plans
Task successTables 2 and 3, n = 10 per cell3+ seeds, ≥ 50 episodes per task, Wilson or bootstrap intervals
The normalisation in row one is the minimum fix for latent error being measured in a space the model chose; the pose probe fixes the target so that encoders can be compared. Inference

Why a low latent error certifies nothing

Limitations, stated and inferred

  • Camera position. The action frame is inferred from the image, often without the robot base in view, so the model's axes rotate with the camera. §4.3, App. B.4
  • Long horizons. Autoregressive error grows and the search space grows exponentially with horizon; pick-and-place needs sub-goal images. §4.3
  • Image goals only. Language goals are named as future work. §4.3, §9
  • A non-convex energy with no uncertainty. CEM with 10 elites can lock onto a wrong basin, and a deterministic predictor offers no signal for when its prediction is off-manifold. Inference
  • Slow, blocking, gripper-only control. Each model step is about 1 s of DROID motion, each planned step takes 16 s, a parallel gripper, rigid objects. Contact transients, deformables and dexterous hands are outside what was tested. Inference

The failure mode worth naming: close in embedding, wrong in the world. The energy is a uniform mean over 256 × 1408 numbers. A cup covers a handful of the 256 patches, so a state where the gripper stands in the right place with the cup beside it rather than between the fingers differs from the goal in perhaps 4 patches, about 1.6% of the terms, which is small next to the 10% dynamic range in Fig. 9. The gripper occluding the cup looks like a grasp; a cup balanced on a finger and a cup held look alike in one frame. The planner is rewarded for matching pixels' features, and physics is only present to the extent those features encode it. V-JEPA 2.1's own failure analysis points the same way: its pick-and-place and grasp failures are gripper timing, closing too early or opening in transit. Inference V-JEPA 2.1 §3.3 open step 13 →

Protocol flags for H-JEPA and HWM

  • Good practice worth copying. Planner settings are chosen on a separate compute-sweep task set under a fixed 100-TFLOP budget, then frozen and evaluated on 50 new tasks per environment; three paired model and planner seeds; the 16 DROID evaluation clips are removed from training. App. E, J.1
  • Simulation with a fixed camera and background. Every success rate in §4.1 and §4.2 comes from four simulators; the real-robot evidence is offline. §4
  • An offline metric the authors designed. Fréchet fidelity is a necessary condition on Cube and ranks graded progress on RoboCasa; on DROID the paper reads a gap as a direction, not a size, and so should anyone citing it. App. J.2
  • Curated clips. The 16 DROID clips were chosen for good lighting, visible objects and large manipulated objects, and windowed around the grasp. App. J.1
  • Baselines at a different rate and on a different set. The frozen-encoder baselines run at their native 1 fps on 15 clips, the H-JEPA models at 5 fps on 16, with intervals over planner seeds rather than training seeds. The comparison supports "far more compute for lower fidelity", not a matched ranking. Fig. 9c Inference
  • Unmatched training compute across depths. Depths share an epoch budget; deeper models see fewer clips per epoch, and optimiser steps and training FLOPs are not matched. Push-T's failure at three and four levels is attributed to this, not tested. App. C.1, §4.1
  • HWM's real-robot table is one lab, five trials per configuration. 50 trials per object is ten times V-JEPA 2-AC's per-cell count, with intervals reported; the flat baseline is HWM's own retrained model, not the public checkpoint. HWM §3.1, Table 1
09

Positioning, cost, and the missing experiments

What each system predicts and how it acts
SystemPredictsConditions onActs byRole
V-JEPA 2-ACnext-frame latentsframe latents, 7-D action and stateCEM over its own rollouts, MPCsimulator for a planner
Cosmos 3 (forward dynamics)video latents, decodablevideo, text, a unified action interfacepolicy mode denoises actions and video togetherrenderer, simulator, policy
Genie 3pixels, real timenavigation controls, text eventsan agent or person drives itrenderer, interactive simulator
World Labs Atlaspixels, geometry-groundedtext, images, camera pose, depth; no actionn/arenderer
DreamerV3latents, with a decoderactions; trained with rewards per environmentactor-critic learned in imaginationsimulator inside an RL learner
TD-MPC2latents, decoder-freeactions; reward and value headsMPPI with a learned policy prior and terminal valuesimulator plus planner
DINO-WM, LeWMlatentsactions; per-environment offline dataCEM, MPCsimulator for a planner
HWMlatents at two timescales, one spaceactions, learned macro-actionstop-down MPC: long-horizon plan supplies the short-horizon subgoalhierarchical simulator for a planner
H-JEPAlatents at up to four timescales, one space eachactions, pooled macro-actions per levelgradient-based top-down planning, MPChierarchical simulator for a planner
π0 / π0.5, OpenVLAactionsimages, language, proprioceptiondirect action chunks (π0) or tokens (OpenVLA)policy
Sources: each system's own paper or announcement; Cosmos 3 and Atlas from my earlier teardowns on this site. Step 15 places them on renderer, simulator and planner axes. Context open step 15 →

What it costs

Pretraining. GPU-hours are not disclosed as a number. The paper puts the full-resolution counterfactual at about 60 GPU-years and the progressive schedule at 8.4× less, which implies about 7 A100-years, some 62,000 GPU-hours, for the 64-frame 384 px ViT-g. derived from §2.4 The released configs run pretraining on 16 nodes of 8 GPUs at 24 clips each and the cooldown on 64 nodes at 6 clips each. configs/train/vitg16

Post-training. Not disclosed; the released config uses 4 nodes of 8 GPUs. Counting a frozen ViT-g forward pass on 16 frames (about 8×10¹² FLOPs) and a 300M predictor trained on 4,128 tokens with a two-step rollout (about 1.1×10¹³), the 94.5k-iteration run at batch 256 comes to roughly 5×10²⁰ FLOPs, on the order of 1,000 A100-hours at 40% utilisation. Caching encoder features removes the first term after one pass. Inference

Inference. 16 s per action on one RTX 4090. A pick-and-place episode of 4 + 10 + 4 = 18 planning steps therefore spends about 4.8 minutes planning; the same episode with Cosmos at 4 minutes per step takes 72 minutes, the "over one hour" the paper reports. §4.2, Table 3

Compute and data across the family

ModelTrained parametersTraining dataTraining computePlanning cost
I-JEPA ViT-H/14ViT-H/14ImageNet-1Kunder 1,200 GPU-hours (stated)n/a
V-JEPA ViT-H/16630MVideoMix2M, about 2M videosnot statedn/a
V-JEPA 2 ViT-g1B encoder, 22M predictorVideoMix22M, over 1M hours≈ 62,000 A100-hours (derived above)n/a
V-JEPA 2-AC300M predictor, encoder frozen23k DROID trajectories≈ 1,000 A100-hours (derived above)8,000 predictor passes per action; 16 s on an RTX 4090
LeWMabout 15Mper-environment offline dataone GPU, a few hours (stated)up to 48× faster than foundation-model world models (stated)
HWMa V-JEPA 2-AC-recipe low level plus a long-horizon predictorabout 96 h DROID and 30 h RoboSetnot statedup to 3× less planning compute in simulation (stated)
H-JEPA, simulationViT-Tiny level 1, small MLP and transformer levels above1.0M to 10.05M transitions per environmentH200 GPUs; hours not statedsettings chosen under 100 TFLOP per episode
H-JEPA, DROIDViT-S/16 level 1, 768-wide MLP level 274,530 re-encoded episodes, 127.6 GB100 epochs × 292 iterations at batch 256; hours not statedbest fidelity per planner TFLOP of the models compared (Fig. 9c)
I-JEPA §1; V-JEPA's comparison table (630M for ViT-H/16); V-JEPA 2 §2.4 and Table 12 with this page's derivations; LeWM and HWM abstracts and HWM App. A.2; H-JEPA App. C and J.4. "Not stated" means the paper gives no number, not that the cost is small. Context H-JEPA derived rows

Three experiments a strong reviewer would demand

  1. Encoder ablation at the AC stage. The same predictor and 62 hours over V-JEPA 2, DINOv2, SigLIP2 and V-JEPA 2.1, each frozen, plus V-JEPA 2 fine-tuned, three seeds each, evaluated on Reach, Grasp and pick-and-place with 50 trials per cell. This is the direct test of the paper's central bet. Cost: 15 runs at about 1,000 A100-hours is 15,000 GPU-hours, far less with cached features, plus about 30 robot-days. Speculation
  2. Rollout-loss horizon sweep. Train with rollout horizons 1, 2, 4 and 8; report open-loop latent error at 1 to 16 steps and closed-loop success at planning horizons 1, 4 and 8. V-JEPA 2.1 found longer planning horizons hurt V-JEPA 2 and helped 2.1, so the interaction is real. Cost: 4 runs, 1,000 to 3,000 A100-hours each as rollout memory grows. Speculation V-JEPA 2.1 §3.3
  3. Camera and goal robustness. Five camera positions from 35° to 85°, with and without the App. B.4 rotation calibration, and goal images taken from a different episode; 50 trials per cell. No training required: about 40 hours of planning compute and robot time for 500 episodes. Speculation
10

Concept guide

Twenty-one prerequisites, each with a mechanical picture and one line of maths; the last seven belong to H-JEPA. Click a card for the picture.

11

Interactive tour: one mechanism per step

Sixteen steps, each isolating one mechanism, then a summary. Drag a 3D scene to orbit it; click it and scroll, or use + and −, to zoom. The segment bar under each scene highlights, isolates, hides or explodes a component, and hovering a component names it with its tensor shape. The depth switch changes how much each caption says, never the scene. Arrow keys move between steps when the tour has focus. The colour code is the same in every scene.

Step 1 of 16
Colour code visible context tokens masked target positions predicted latents EMA target latents action tokens state tokens goal embedding
12

Story mode: a cup onto a plate

One continuous run through the tour with a single example. A Franka arm in a lab it has never seen must pick up a cup and put it on a plate, given a photo of the result. Each stop pauses on the step that explains it; open that step in detail, then come back to the story. One premise gets corrected on the way: the paper never does this from the final photo alone.

13

Research directions for physical super intelligence

V-JEPA 2-AC works inside eight assumptions, most stated in the paper and a few implicit in its setup. They hold well enough for a tabletop arm and fail, one after another, as the body gets more hands, more joints, a moving head or a mobile base. The matrix below scores each assumption for five embodiments; tap a cell for the reason. The cards under it are the directions I would fund, each with a first experiment, what would falsify it, and a cost. Everything in this section is my reading: Inference where it follows from the evidence above, Speculation where it goes beyond it.

Which assumptions survive which bodygreen holds · amber strained · red breaks

Tap a cell.

Assumptions A1 to A5 are stated in the paper (§3.1, §4.1, §4.3, App. B.2); A6 to A8 are implicit in its tasks and architecture. Severities are my judgement. Inference see step 16 in 3D →

Where I would start. D1 and D6 first. D1 because the released predictor already has an unused extrinsics token path, so the experiment is a config change plus App. B.4's own protocol, and because every non-tabletop body needs it. D6 because no humanoid will wait 16 s for a step: a latent planner at 1 to 4 Hz feeding a learned whole-body controller at 50 Hz or more is the only architecture I see that keeps the world model in the loop at all. Since October 2026 I would run D10 alongside them: HWM's protocol makes it directly comparable, and it is the experiment H-JEPA's authors name as their next. Speculation

How this maps onto my own work. Agentic latent world models: top-down subgoal refinement is a concrete form of latent lookahead across timescales, and HWM's 0% to 70% is the cleanest evidence so far that a manipulation planner needs it. Representation: an upper level that keeps only what it can predict over its horizon is close to the outcome-sufficient representations I study, and the paper's per-entity probes are the test I would reuse. Dexterous manipulation: D11 is where the hierarchy should either earn its keep or show that hands need a different decomposition. Goals: replacing goal images with affordance- or language-grounded goal latents at the top level is where my affordance work would plug in. None of this is a result yet. Speculation

14

What is established, and what is not

Fourteen claims that circulate about this family, each with the strongest evidence for it, the protocol behind that evidence, and what would change the verdict. Status is mine, judged on the evidence cited.

Claim ledger
ClaimStatusEvidence and protocolWhat would change it
Predicting features beats predicting pixels for frozen video representationsestablishedV-JEPA's pixel-versus-feature ablation at matched architecture; V-JEPA 2 ViT-g at 75.3 on frozen SSv2 against 49.9 to 55.4 for the best image encoders under one protocolA pixel-target model matching it at equal compute under the same probe
More data, a bigger model, longer training and higher resolution each improve the frozen encoderestablished, thin+1.0, +1.5, +0.8, +0.7 average points, each on top of the last, one seed each (Fig. 3)Seed variance comparable to the gains; a different order of ingredients
V-JEPA 2-AC plans zero-shot pick-and-place in unseen labspartly80% for both objects in Lab 1, 80% and 50% in Lab 2, with human sub-goal images, 10 trials per cell, one model, a camera placement tuned by hand (Table 2, §4.3)50 trials per cell over several seeds and camera positions
Video pretraining is what makes V-JEPA 2-AC workhypothesisNo encoder ablation at the action-conditioned stage; JEPA-WMs reports a design that beats V-JEPA 2-AC and DINO-WM, so the recipe matters beyond the encoderThe same predictor and data over DINOv2, V-JEPA 2.1 and a random encoder
A flat V-JEPA 2-AC planner solves non-greedy tasks from a single goal imagecontradicted0% on cup and box pick-and-place, 50 trials each, in HWM's Franka evaluation with the same architecture and data as HWM's low level (HWM Table 1)A longer-horizon flat planner reaching non-zero success on the same protocol
A temporal hierarchy over a V-JEPA 2-AC-style model makes single-goal pick-and-place work on a real armpartlyHWM: 70% cup, 60% box, 70% drawer; 10 start-goal pairs × 5 trials per object; one lab; Clopper-Pearson intervals in its Table 17Replication in a second lab, or by another group
Separate latent spaces per level add to a temporal hierarchyestablished in simulationNearly twice HWM's success on Visual AntMaze at matched implementation; ties on FourRoom and Push-T; three seeds, 50 tasks (Fig. 6)The same comparison on a physical robot, closed loop
Higher levels drop fast, unpredictable detail and keep slow stateestablished, conditionalMLP probes in AntMaze, Humanoid and FourRoom; absent when the frequency gap is below about 2×, as in Push-T and Cube (Figs. 4, 5)Probes on a manipulation dataset with a large gap, such as in-hand rotation
H-JEPA improves real-robot controluntestedDROID results are offline and open-loop on 16 selected clips; the authors list closed-loop control as the next step (§6)Closed-loop success on HWM's Franka protocol
SIGReg alone prevents collapsecontradicted on diverse scenesHolds with fixed scenes; on DROID every SIGReg-only run collapses to the scene identity (Table 12, Fig. 17), as Propositions 1 and 3 predictA label-free joint-in-time regulariser that clears the zero-action floor
A high-rank, non-collapsed representation is enough to plancontradictedWith SIGReg on and no IDM, rank stays high and DROID planning stays near the floor (Fig. 17)n/a: rank is necessary, not sufficient
Fréchet fidelity measures task successpartlyA necessary condition on OGBench Cube; ranks graded progress on RoboCasa CloseDrawer (App. J.2)Calibration against executed outcomes on a real arm
V-JEPA 2-AC sees DROID at 4 frames per secondby the file clock onlyThe released loader strides by ⌈container fps / 4⌉; DROID MP4s are timestamped at 60 fps for 15 Hz recordings, so frames are about 1 s apart in real time (measured here, and stated in H-JEPA App. J.1)A statement that the paper's runs used a corrected frame rate
Low latent prediction error predicts planning successnot establishedNo paper in the family reports a cross-model correlation between open-loop latent error and closed-loop success; RoboJEPA reports one between imagination error and planning success within its own model familyRank correlation across encoders and predictors on shared tasks
Status words are my judgement on the evidence cited; "established" means replicated or measured under a stated protocol with seeds, not proven. RoboJEPA: arXiv 2610.10515. Inference

Open research questions, most decision-relevant first

  1. Does hierarchy survive closed-loop contact? Every H-JEPA success is simulated with a fixed camera, or offline on DROID. The first physical test, on HWM's Franka protocol, decides whether separate latent spaces matter on a real arm at all. Inference
  2. What replaces inverse dynamics when there are no actions? Internet video has none, and the paper shows SIGReg and time repulsion are not enough on diverse scenes. Latent actions learned from video, or a joint-in-time regulariser, are the candidates. Inference App. J.5, L.6
  3. Where should a level's step end? Fixed strides ignore task structure. In manipulation, contact and gripper events mark the natural boundaries; DROID's evaluation already reads its waypoints off the gripper trace. Inference §6, App. J.1
  4. Can a frozen foundation encoder be the bottom level? V-JEPA 2-AC brings a 1B encoder trained on a million hours; H-JEPA brings a training recipe that shapes small encoders per level. Whether the two compose, a frozen V-JEPA 2 or 2.1 at level 1 with learned levels above, is untested. Inference
  5. Which latent distance should a planner trust? Both papers plan on a uniform distance over every feature. Tables 1 and 9 show the choice of space changes success by up to a factor of four (FourRoom, two levels: 9.3% native against 38.7% projected); nobody has learned the metric for planning directly. Inference
  6. How should uncertainty propagate down the hierarchy? Every predictor in the family is deterministic. A top level that is unsure which of two routes the world takes should hand the level below two subgoals, not their average. Speculation
15

What is data-faithful and what is schematic

Data-faithful to the papers or the code: every number in sections 00 to 09 and 14, including the lineage cards, the DROID clock and its measured episodes, the hierarchy builder's recurrence (checked against H-JEPA Table 3), the results explorer (Tables 1 and 9) and the HWM table; the token calculator (step 2); the mask sampler, its statistics and the truncation (3); the shapes and counts in tooltips (4, 7, 9); the EMA equation (5); the ladder values (6); the state and action layouts and the repository's example step (8); the attention-mask structure (9); the CEM algorithm, its defaults and the Fig. 9 minimum and ground-truth markers (11); the sub-goal schedule and timings (12); the audit numbers and intervals (14). Schematic: the pixel-versus-latent toy (1), the grid density in step 2, block sizes (4), the toy linear collapse model (5, a real simulation of a different model), arm, cup and trajectories (8, 12, 13, 16), the latent path and error band (10, from a stated bound with chosen constants), the energy surface shape (11), taxonomy placements (15) and the severity matrix (section 13); the cost-geometry maze in section 07 is a toy that mimics the paper's Fig. 7 qualitatively.

Checked on 12 Oct 2026 in headless Chromium with software WebGL (SwiftShader), at 1440×900 in light and dark mode and at 390×844: sections numbered 00 to 16 in order; all tour steps and the summary visited through the rail; story mode started; the lineage map (13 nodes, cards), the DROID clock (stride 15 at the 60 fps tag, 4 at 15 fps), the HWM interval table, the hierarchy builder (matches H-JEPA Table 3 at one to four levels, flags other strides), the maze (graded and subgoal costs reach the goal, the other two do not), the results explorer (AntMaze 73.3 against 18.0; FourRoom cost ablation 38.7 against 9.3), the ledger filter, the provenance filter including the new H-JEPA level, the accordions, 21 concept cards, 11 direction cards, the assumption matrix and the interval table all exercised; no console or page errors; no horizontal scroll. All in-page anchors resolve; external links answer, except OpenReview and the Meta blog, which refuse scripted requests. Not verified: hover tooltips, drag-to-orbit and wheel zoom with a real pointer, and touch on a physical phone.

16

The code, and the sources