Proving and Improving the Platonic Representation Hypothesis with JEPAs
Organizations: Brown University · AMI Labs · New York University
Abstract
Whether models trained on different modalities converge to the same representation of the world is central to AI. The Platonic Representation Hypothesis (PRH) conjectures that they do as they scale, but without a proof it offers neither a guarantee nor a recipe. We turn the hypothesis into a theorem. First, we prove a Platonic Representation Theorem: Joint-Embedding Predictive Architectures (JEPAs) trained separately on any number of modalities learn the same representation up to one rotation whenever their positive pairs are two observations of one scene--good views--and their misalignment is bounded otherwise. Second, we show that next-token prediction is a JEPA with bad views, parts of a single document, which explains why language models align with vision only through scale. Third, we validate the theory from 145k captions to the texts of 940M web images, and uncover a scaling law of alignment that predicts unseen runs within seed noise. Good views need 42 times fewer training samples than next-token prediction on the same corpus to reach the same alignment, and a 109M-parameter text JEPA aligns with DINOv2 and CLIP's image encoders better than every language model we evaluated, up to 72B parameters, and than CLIP's text encoder: next-token prediction is a remarkably inefficient route to platonic representations. As a showcase, one rotation turns separately trained encoders into an image captioner (CIDEr .838 on COCO). Even that rotation needs no pair: on the latest pair-free benchmark, our text JEPA beats every zero-shot accuracy reported with language models up to 8B parameters, e.g., 64% against at most 56% top-5 on ImageNet-100. Positive views, and not scale alone, are thus the lever to build platonic representations.
Figures & tables
| Text encoder | mutual 10-NN | R@1 | R@5 |
|---|---|---|---|
| Good-view JEPA | .062 .003 | .044 .002 | .133 .004 |
| Bad-view JEPA | .047 .001 | .027 .002 | .095 .003 |
| Next-token | .042 .001 | .021 .002 | .077 .005 |
| Next-token, pairs | .043 .001 | .023 .003 | .083 .008 |
| Random init | .010 | .001 | .011 |
| Chance | .010 | .001 | .005 |
| Text encoder, vs. frozen | mutual | R@1, rotation fit on | |
|---|---|---|---|
| DINOv2 ViT-B/14 | 10-NN | 1k pairs | 30k pairs |
| Qwen2.5-0.5B | .098 | .135 | .240 |
| BERT-base | .093 | .149 | .273 |
| bad-view JEPA | .132 .001 | .133 .007 | .207 .008 |
| next-token | .122 .001 | .118 .002 | .213 .004 |
| early-stopped | .124 .002 | .134 .008 | – |
| WIT, DINOv2-B | WIT | COCO | Flickr | ||
| Text encoder | 10-NN | CKA | CLIP-H | 10-NN | R@1 |
| good-view JEPA | .184 | .507 | .230 | .161 | .478 |
| next-token | .111 | – | .146 | – | .335 |
| bad-view JEPA | .088 | – | .116 | – | .318 |
| Qwen2.5-72B | .154 | .418 | .210 | .108 | – |
| Llama-3-70B | .151 | .380 | .206 | .113 | – |
| Text encoder (runs) | FOSCTTM | C-10 | C-100 | IN-100 |
| good-view JEPA, 109M (15) | .018 | 86.0 | 67.2 | 64.4 |
| good-view JEPA, 33M (15) | .036 | 83.2 | 60.9 | 57.9 |
| bad-view JEPA, 109M (5) | .026 | 78.1 | 55.3 | 46.7 |
| next-token, 109M (15) | .287 | 25.5 | 19.9 | 20.3 |
| Qwen3-8B, rerun (5) | .018 | 83.4 | 61.7 | 47.6 |
| MPNet, rerun (5) | .043 | 70.2 | 45.6 | 45.4 |
Appendix figures & tables18 assets
Supplementary material from the paper’s appendix.
Appendix
| caption caption R@1 | mutual 10-NN (projector) | R@1 (projector) | whitened R@1 (projector) | |
|---|---|---|---|---|
| Good-view JEPA | .606 | .064 | .030 | .034 |
| Bad-view JEPA | .381 | .044 | .018 | .022 |
| Next-token prediction | .331 | – | – | – |
| TF-IDF | .442 | – | – | – |
| Random init | .178 | – | – | – |
| Text encoder (Flickr) | scene-explained | bound | error | scene-explained | bound | error |
|---|---|---|---|---|---|---|
| Good-view JEPA | .804 .003 | 12.6 | 33.5 | .654 .005 | 88.6 | 157.0 |
| Bad-view JEPA | .655 .005 | 22.1 | 39.4 | .507 .003 | 126.1 | 171.5 |
| Next-token | .608 .001 | 25.1 | 40.3 | .440 .002 | 143.4 | 176.6 |
| trained on Recap texts only (seed 0), measured on the same Flickr captions | ||||||
| Good-view JEPA, 50M images | .802 | 12.7 | 32.4 | .642 | 91.7 | 156.8 |
| Texts of | texts per image | views | WIT (DINOv2-B) | Flickr R@1 | scene-explained |
|---|---|---|---|---|---|
| 2.24M images | alt-text, two LLaVA recaptions | good | .107 (.095–.115) | .339 (.336–.344) | .793 |
| 2.24M images | alt-text, text-only paraphrase | good | .060 (.058–.061) | .233 (.230–.235) | .654 |
| 2.24M images | two LLaVA recaptions | good | .080 (.076–.082) | .348 (.346–.351) | .778 |
| 2.24M images | alt-text | bad | .055 (.054–.056) | .180 (.179–.180) | .606 |
| 50M images | alt-text, two LLaVA recaptions | good | .125 (.118–.129) | .376 (.370–.381) | .802 |
| 50M images | two LLaVA recaptions | good | .096 (.093–.100) | .386 (.373–.396) | .789 |
| Good-view text JEPA, one change from the default | last-epoch R@1, seeds 0 / 1 / 2 | mean | best ∗ (epoch), seed 0 |
|---|---|---|---|
| Default: 2 + 6 views, mask 15%, lr , | .248 / .260 / .230 | .246 | .276 (99) |
| BERT-B (768 wide; lr , clipping 1) | .273 / .252 / .255 | .260 | .275 (189) |
| BERT-T (192 wide) | .244 / .229 / .228 | .234 | .254 (149) |
| no masking | .236 / .246 / .244 | .242 | .259 (109) |
| mask 30% | .243 / × / .264 | .254 | .266 (129) |
| no trimming (whole captions) | .193 / .182 / .180 | .185 | .242 (79) |
| Captioner (Flickr test) | BLEU-4 | CIDEr |
|---|---|---|
| Oracle: decode the true caption embedding | .261 | .628 |
| Image rotation (30k pairs) decode | .185 | .431 |
| Image rotation (1,014 pairs) decode | .173 | .396 |
| Image rotation (300 pairs) decode | .146 | .317 |
| Image rotation (100 pairs) decode | .119 | .244 |
| + unpaired refinement (100 pairs) | .138 | .294 |
| Captioner (CIDEr; one rotation from the 30k Flickr pairs) | Flickr | COCO |
| Small decoder, DINOv2 ViT-B, in-domain text JEPA ( Table 9 ) | .431 | .668 |
| Qwen2.5-1.5B decoder, web text JEPA, DINOv2 ViT-g (CLS) | .466 | .720 |
| + mean patch token | .480 | .756 |
| + captions as written (case, punctuation) | .479 | .765 |
| + DINOv3 ViT-L, concatenated | .496 | .806 |
| + consensus of 32 samples | .519 | .838 |
| MSR-VTT test, 2,990 clips | CIDEr | BLEU-4 | METEOR | ROUGE-L |
|---|---|---|---|---|
| Ours: mean of 8 frames, rotation from 30k Flickr pairs, consensus of 32 | .246 | .166 | .206 | .444 |
| beam 3 | .222 | .154 | .204 | .432 |
| map from 30k Flickr and 200k web pairs (the demo’s) | .268 | .186 | .232 | .471 |
| middle frame instead of the mean of 8 | .242 | .172 | .219 | .457 |
| oracle: decode the text embedding of one human caption | .383 | .257 | .265 | .538 |
| CLIP ViT-B/32 encoders (400M image–text pairs), no MSR-VTT text; from Li et al. [33] , Tab. 4 | ||||
| BERT-B, texts of 50M images | BERT-S, 100M | |||||
| Frozen image encoder | features | mutual 10-NN | R@1 | R@5 | R@1 | R@5 |
| DINOv2 ViT-B/14 | CLS | .234 | .412 | .733 | .400 | .711 |
| DINOv2 ViT-L/14 | CLS | .242 | .437 | .745 | .410 | .732 |
| DINOv2 ViT-g/14 | CLS | .245 | .437 | .769 | .425 | .741 |
| DINOv2 ViT-g/14 | CLS + mean patch | .250 | .460 | .784 | .440 | .763 |
| DINOv3 ViT-L/16 | CLS | .209 | .436 | .722 | .414 | .703 |
| Image JEPA | Text JEPA | mutual 10-NN | R@1 | R@5 |
|---|---|---|---|---|
| good views (frames) | good views (captions) | .067 .001 | .032 .006 | .099 .009 |
| bad views (crops) | good views (captions) | .059 .002 | .024 .002 | .105 .008 |
| good views (frames) | bad views (spans) | .043 .002 | .020 .005 | .063 .002 |
| bad views (crops) | bad views (spans) | .039 .003 | .017 .002 | .072 .009 |
| frozen DINOv2 ViT-B | good views (captions) | .129 .002 | .085 .006 | .258 .011 |
| frozen DINOv2 ViT-B | bad views (spans) | .084 .002 | .052 .002 | .164 .006 |
| Text JEPA | texts of | global batch | samples seen | WIT (DINOv2-B) | Flickr R@1 |
|---|---|---|---|---|---|
| BERT-S | 100M images | 256 | 80M | .125 † | .402 † |
| BERT-B | 200M images | 256 | 89M | .125 | .447 |
| BERT-B | 200M images | 256 | 117M | .126 | .447 |
| BERT-B | 200M images | 256 | 160M | .126 | .451 |
| BERT-B | 940M images | 2,048 | 430M | .182 | .410 |
| BERT-B | 940M images | 2,048 | 580M | .182 | .463 |
| Qwen2.5 | Mistral | ours (33M), on the texts of Recap images | ours (109M) | |||||||
|---|---|---|---|---|---|---|---|---|---|---|
| 2.16M | 10M | 50M | 100M | 940M | ||||||
| Vision | 0.5B | 1.5B | 3B | 7B | 7B | good / bad / nt | good | good / bad / nt | good | good |
| DINOv2 ViT-S/14 | .092 | .101 | .110 | .110 | .126 | .099 / .052 / .065 | .102 | .114 / .062 / .074 | .114 | .166 |
| DINOv2 ViT-B/14 | .102 | .108 | .125 | .118 | .140 | .108 / .053 / .071 | .111 | .125 / .063 / .079 | .125 | .184 |
| DINOv2 ViT-L/14 | .114 | .123 | .139 | .137 | .157 | .111 / .057 / .075 | .115 | .130 / .068 / .085 | .131 | .196 |
| DINOv2 ViT-g/14 | .115 | .124 | .141 | .133 | .157 | .114 / .059 / .076 | .117 | .132 / .070 / .086 | .133 | .197 |
| WIT-1024 | COCO-5k | ||||||
|---|---|---|---|---|---|---|---|
| mutual 10-NN, DINOv2 S / B / L / g | CKA, B | 10-NN, B | CKA, B | ||||
| Qwen2.5-0.5B | .092 | .102 | .114 | .115 | .318 | .100 | .571 |
| Qwen2.5-1.5B | .101 | .108 | .123 | .124 | .324 | .089 | .538 |
| Qwen2.5-3B | .110 | .125 | .139 | .141 | .363 | .099 | .550 |
| Qwen2.5-7B | .110 | .118 | .137 | .133 | .353 | .101 | .535 |
| Qwen2.5-14B | .119 | .130 | .147 | .148 | .333 | .106 | .539 |
| mutual 10-NN | unbiased CKA | |||
|---|---|---|---|---|
| Text encoder (COCO-5k) | DINOv2-B | DINOv2-g | DINOv2-B | DINOv2-g |
| ours, good, BERT-B, 940M images | .161 | .169 | .622 | .667 |
| ours, good, 100M images | .134 | .140 | .587 | .598 |
| ours, good, 50M images | .126 | .135 | .578 | .576 |
| ours, bad, 50M images | .085 | .090 | .447 | .423 |
| ours, next-token, 50M images | .091 | .096 | .522 | .487 |
| ours (33M), texts of 50M images | ours (109M), 940M | Qwen2.5 | Qwen2.5 | Mistral | |||
| Vision encoder | good | bad | next-token | good | 0.5B | 7B | 7B |
| MAE ViT-B/16 (IN-1k) | .074 | .045 | .053 | .100 | .060 | .067 | .077 |
| MAE ViT-L/16 (IN-1k) | .093 | .050 | .059 | .126 | .074 | .084 | .097 |
| MAE ViT-H/14 (IN-1k) | .092 | .050 | .058 | .125 | .071 | .084 | .096 |
| I-JEPA ViT-H/14 (IN-22k) | .095 | .051 | .059 | .129 | .068 | .081 | .096 |
| DINOv2 ViT-B/14 | .129 | .066 | .079 | .191 | .102 | .118 | .140 |
Platonic Representation Hypothesis
Platonic Representation Hypothesis asks whether independently trained models converge on shared internal structures that reflect the world.
See all 19 papers