Nie umiesz namalować fotorealistycznego obrazu spadającego kubka. Serio, spróbuj — odbicia światła na szkliwie, rozmycie ruchu, cień na blacie. A mimo to złapiesz ten kubek, zanim dotknie podłogi, i to bez zastanowienia. Twój mózg nie renderuje pikseli przyszłości. On utrzymuje stan świata: kubek, krawędź, grawitacja, za sekundę będzie za późno.
Tymczasem AI od lat idzie w drugą stronę. LLM-y przewidują następny token, generatory wideo malują następną klatkę piksel po pikselu, modele VLA (vision-language-action) przewidują następną komendę silnika robota. Trzy rodziny modeli, trzy cele treningowe, trzy osobne, niekompatybilne obrazy tego samego fizycznego świata.
Orca (arXiv 2606.30534, BAAI, czerwiec 2026 — podtytuł papera brzmi “The World is in Your Mind”, a na liście autorów jest 57 nazwisk) proponuje wyjście z tego rozdrobnienia: jeden latentny stan świata, uczony z 12.5K godzin wideo i eventów opisanych językiem, bez ani jednej etykiety akcji. Po pre-trainingu backbone zostaje zamrożony na zawsze, a tekst, obraz i sterowanie robotem czytają z niego trzy lekkie, trenowane osobno dekodery. Wynik z nagłówka: readout akcji, uczony od zera na 200 trajektoriach na zadanie, wygrywa z π0.5 — modelem pre-trenowanym na wielkoskalowych danych robotycznych — w testach out-of-distribution, 32.4 vs 29.4 w metryce rule-based. Robot nauczył się rąk, w dużej mierze, z samego patrzenia.
Problem: trzy paradygmaty, trzy silosy
Każdy z trzech obozów płaci inny podatek za swoją definicję inteligencji.
Modele next-frame (Sora, Cosmos od NVIDII) utożsamiają rozumienie świata z jego renderowaniem. Ogromna część pojemności modelu idzie na wysokoentropijne detale — fakturę dywanu, połysk blatu — które nie mają nic wspólnego z wiedzą, że kubek na krawędzi zaraz spadnie. Zamawiałeś fizyka, płacisz za malarza.
Modele JEPA (V-JEPA 2 z Mety, linia Yanna LeCuna) naprawiają to, przewidując w przestrzeni reprezentacji zamiast w pikselach. Uczą się świetnej dynamiki wideo. Tu jest haczyk: są nieme. Nie powiesz im, co ma się wydarzyć, ani nie spytasz, dlaczego coś się stało. Planner V-JEPA potrzebuje obrazka-celu — spróbuj wygenerować taki dla polecenia “odłóż książkę na drugą półkę”.
Modele VLA (π0.5, OpenVLA) celują od razu w to, co się liczy — akcje robota — ale ich paliwem jest teleoperacja: droga, rzadka i wąska. Ludzie godzinami sterują robotem jak marionetką, a wytrenowana polityka i tak się sypie, gdy zmienisz obrus.
A przecież wszystkie trzy rodziny modelują ten sam świat. Token, klatka i akcja to różne serializacje jednego stanu. Zakład Orki: jeśli dobrze nauczysz się stanu, serializery mogą być niemal trywialne.
Rozwiązanie: Next-State-Prediction w pigułce
Cała filozofia papera mieści się w jednym równaniu. Multimodalne sygnały świata $X = \{X^m\}_{m \in \mathcal{M}}$ (tutaj: wizja i język) są kompresowane enkoderem do latentnego stanu $S = f_\theta(X)$, a każde zadanie AI staje się próbkowaniem z rozkładu przejścia między stanami:
$$ S_{t+\Delta} \sim p_{\Theta}\left(S_{t+\Delta} \mid S_t,\, z_t,\, c_t\right), \qquad \Delta \in \mathbb{Z}_{\neq 0} \tag{1} $$gdzie:
- $S_t$ — latentny stan świata w chwili $t$
- $S_{t+\Delta}$ — stan przesunięty o $\Delta$ kroków; $\Delta > 0$ to predykcja przyszłości, $\Delta < 0$ to backtracking do przeszłości
- $p_\Theta$ — parametryczny rozkład przejścia stanów (cały model o parametrach $\Theta$)
- $z_t$ — implicit dynamics: prawa fizyki, własności obiektów, siły środowiska — ukryta maszyneria zmian, której nie obserwujemy wprost
- $c_t$ — explicit conditions: jawne sterowanie, np. instrukcja człowieka, opis eventu, intencja zadania
- $\Delta \in \mathbb{Z}_{\neq 0}$ — dowolna niezerowa liczba całkowita; model ma umieć chodzić po osi czasu w obie strony
Innymi słowy: świat to łańcuch Markowa w przestrzeni latentnej, a wszystkie zadania AI to zapytania do jego rozkładu przejścia. Next-token prediction? Równanie (1) z $S$ = tokeny tekstu i $\Delta = 1$. Next-frame? $S$ = klatki wideo. Next-action? $S$ = komendy silników. Orca traktuje całą trójkę jako zubożone rzuty przypadku ogólnego.
Rozdzielenie $z_t$ od $c_t$ to najbardziej praktyczna decyzja w całym frameworku: dzieli trening na dwa osobne tryby.
Unconscious vs conscious learning — jak nauka cudzego codebase’u
Autorzy nazwali te tryby “unconscious” i “conscious learning” (brzmi jak System 1 i System 2 Kahnemana przeniesione na uczenie reprezentacji). Mnie bardziej przemawia analogia z wdrażaniem się w nowy projekt: konwencje kodu wchłaniasz nieświadomie, czytając setki commitów — nikt ci ich nie tłumaczy, po prostu widzisz, jak kod się zmienia. A świadomie uczysz się z code review, gdzie ktoś słowami wyjaśnia, dlaczego ta zmiana wywali produkcję.
Unconscious learning to świat zmieniający się sam z siebie, gdy patrzysz przez okno. Podstawiamy $c_t = \varnothing$ i przejście zależy tylko od ukrytej dynamiki:
$$ S_{t+\Delta} \sim p^{\mathrm{u}}_{\Theta}\left(S_{t+\Delta} \mid S_t,\, z_t\right) \tag{2} $$gdzie:
- $p^{\mathrm{u}}_{\Theta}$ — rozkład przejścia w trybie nieświadomym (u = unconscious)
- $c_t = \varnothing$ — warunek pusty; targetem jest po prostu najbliższa przyszła obserwacja, czyli następna klatka wideo
Innymi słowy: każda para sąsiednich klatek surowego wideo to darmowy przykład treningowy o ruchu, okluzjach i interakcjach obiektów. Gęsty sygnał, zero etykiet — a inwentarz danych ma tego 125K godzin.
Conscious learning to przejścia rzadkie, ale znaczące: powiązane z przyczyną albo intencją opisaną językiem. Warunkiem staje się opis eventu $e_{t+\Delta}$:
$$ S_{t+\Delta} \sim p^{\mathrm{c}}_{\Theta}\left(S_{t+\Delta} \mid S_t,\, z_t,\, e_{t+\Delta}\right) \tag{3} $$gdzie:
- $p^{\mathrm{c}}_{\Theta}$ — rozkład przejścia w trybie świadomym
- $e_{t+\Delta}$ — językowy opis eventu docelowego: przyszłego ($\Delta > 0$) lub przeszłego ($\Delta < 0$)
- $S_{t+\Delta}$ — stan wewnątrz opisanego eventu; w praktyce latent losowo wybranej klatki z segmentu wideo odpowiadającego eventowi
Innymi słowy: język działa jak klucz w bazie danych — wybiera, którą z wielu możliwych przyszłości (albo przeszłości) model ma przewidzieć. “Lody topnieją, gdy je podgrzejesz” to przejście świadome; liście strącane wiatrem za oknem — nieświadome. W tym samym trybie działa też VQA (pytanie–odpowiedź o wideo), które trzyma przy życiu interfejs językowy.
I to jest dokładnie to, czego brakowało obu obozom naraz: czyste JEPA nie ma sterowalności, czyste next-token nie ma darmowego strumienia fizyki.
Jak to działa: query, zamrożony ViT i trzy straty
Implementacja jest bardziej pragmatyczna niż filozofia — i paper tego nie ukrywa. Orca startuje z pre-trenowanego multimodalnego VLM (Qwen3.5 w wersjach 0.8B i 4B) z zamrożonym vision encoderem. Sekwencja wejściowa wygląda tak: tokeny wizualne, potem 256 uczonych od zera wektorów query (“Query 1”), potem instrukcja, potem kolejne 256 query (“Query 2”). Query działają jak porty odczytu: ostatni hidden state Query 1 przechowuje przekonanie modelu o nieuwarunkowanej przyszłości, Query 2 — o stanie wskazanym instrukcją.
Na tę samą przestrzeń latentną naciskają jednocześnie trzy cele:
$$ \mathcal{L} = \lambda_{\mathrm{obs}}\,\mathcal{L}_{\mathrm{obs}} + \lambda_{\mathrm{evt}}\,\mathcal{L}_{\mathrm{evt}} + \lambda_{\mathrm{vqa}}\,\mathcal{L}_{\mathrm{vqa}} \tag{4} $$gdzie:
- $\mathcal{L}_{\mathrm{obs}}$ — strata observation-only state transition (unconscious learning): dopasuj latent następnej klatki
- $\mathcal{L}_{\mathrm{evt}}$ — strata event-conditioned state transition (conscious learning): dopasuj latent klatki, na którą wskazuje język
- $\mathcal{L}_{\mathrm{vqa}}$ — klasyczny next-token cross-entropy na odpowiedziach VQA
- $\lambda_{\mathrm{obs}}, \lambda_{\mathrm{evt}}, \lambda_{\mathrm{vqa}}$ — w Appendixie C.1.3: 0.1 / 0.5 / 0.4, identycznie dla 0.8B i 4B; miks danych state-transition : VQA to około 5:1
Innymi słowy: naturalna dynamika, przejścia sterowane językiem i zdroworozsądkowe uziemienie kształtują jedną reprezentację. Jest w tych wagach cicha ironia — “nieświadome” uczenie, koncepcyjny fundament całej metody, dostaje $\lambda = 0.1$, pięć razy mniej niż eventy. Sweepu po wagach w paperze nie ma, jest tylko ablacja włącz/wyłącz.
Latent matching: 0.1·MSE + 0.9·cosine
Ten fragment podoba mi się najbardziej. Orca nigdy nie rekonstruuje pikseli — targetem obu strat przejścia jest latent docelowej klatki, wyprodukowany przez zamrożony ViT. Przewidziany latent $\hat{v}^l$ (hidden state query przepuszczony przez 2-warstwowy MLP; dla 4B: 2560 → 20480 → 2560) porównujemy z ground truth $v^l$ tak:
$$ \ell_{\mathrm{lat}}\left(\hat{v}^{l}, v^{l}\right) = 0.1\,\left\| \hat{v}^{l} - v^{l} \right\|_2^2 \;+\; 0.9\left(1 - \frac{\left\langle \hat{v}^{l}, v^{l} \right\rangle}{\left\| \hat{v}^{l} \right\|_2 \left\| v^{l} \right\|_2}\right) \tag{5} $$gdzie:
- $\hat{v}^{l}$ — latent PRZEWIDZIANY przez Orcę na pozycjach tokenów wizualnych
- $v^{l}$ — latent GROUND TRUTH: docelowa klatka przepuszczona przez zamrożony vision encoder
- $\|\cdot\|_2^2$ — kwadrat normy euklidesowej, człon MSE — pilnuje zgodności skali
- $\langle \cdot, \cdot \rangle$ — iloczyn skalarny; drugi człon to jedynka minus podobieństwo kosinusowe, pilnuje zgodności KIERUNKU wektora
- $0.1 / 0.9$ — dominuje cosine, MSE tylko stabilizuje
Innymi słowy: w przestrzeni embeddingów semantyka mieszka głównie w kierunku wektora, nie w jego długości — stąd 90% wagi na cosine. Czysty MSE karałby model za nieistotne różnice amplitudy; czysty cosine pozwoliłby latentom eksplodować albo skolapsować co do skali. Mieszanka 0.1/0.9 zabezpiecza przed oboma patologiami. To trochę jak porównywanie hashy zamiast diffowania całych plików binarnych: tanio i odpornie na szum, który nie ma znaczenia.
Jest tu też ukryta obrona przed representation collapse — klasyczną zmorą metod joint-embedding, w których wszystko mapuje się w jeden punkt. Kotwicą jest zamrożony ViT, więc trywialne rozwiązanie nie minimalizuje straty: target się nie rusza.
Dwie straty przejścia to $\ell_{\mathrm{lat}}$ w dwóch skalach czasowych:
$$ \mathcal{L}_{\mathrm{obs}} = \mathbb{E}\left[\, \ell_{\mathrm{lat}}\left(\hat{v}^{l}_{t+1},\; v^{l}_{t+1}\right) \right] \tag{6} $$gdzie:
- $\hat{v}^{l}_{t+1}$ — predykcja latentu następnej sąsiedniej klatki, odczytana z Query 1
- $v^{l}_{t+1}$ — latent prawdziwej następnej klatki z zamrożonego encodera
- $\mathbb{E}[\cdot]$ — wartość oczekiwana po klatkach próbkowanych z korpusu wideo
Innymi słowy: gęsta, darmowa supervisja — każda para sąsiednich klatek to jeden przykład.
$$ \mathcal{L}_{\mathrm{evt}} = \frac{1}{2}\,\mathbb{E}\left[\, \ell_{\mathrm{lat}}\left(\hat{v}^{l}_{\mathrm{prev}},\; v^{l}_{\mathrm{prev}}\right) + \ell_{\mathrm{lat}}\left(\hat{v}^{l}_{\mathrm{next}},\; v^{l}_{\mathrm{next}}\right) \right] \tag{7} $$gdzie:
- $\hat{v}^{l}_{\mathrm{next}}$ — predykcja latentu losowej klatki NASTĘPNEGO eventu, gdy instrukcja opisuje przyszłość ($\Delta > 0$); odczyt z Query 2
- $\hat{v}^{l}_{\mathrm{prev}}$ — to samo dla eventu POPRZEDNIEGO ($\Delta < 0$) — jedyne miejsce, gdzie backtracking z równania (1) staje się konkretem
- $v^{l}_{\mathrm{prev}}, v^{l}_{\mathrm{next}}$ — ground-truth latenty z zamrożonego encodera
- $\tfrac{1}{2}$ — oba kierunki czasu ważone równo
Innymi słowy: model uczy się zarówno “co będzie po”, jak i “co musiało być przed” eventem opisanym słowami. Wnioskowanie wstecz wymusza strukturę bliższą przyczynowości niż zwykła ekstrapolacja do przodu. (Szkoda tylko, że paper nie sprawdza kierunku wstecznego w osobnej ablacji — nie wiemy, ile naprawdę wnosi.)
Trzy readouty: LM head, SD3.5 + LoRA, Action Expert z flow matchingiem
Po pre-trainingu backbone jest nietykalny. I to jest moim zdaniem najlepszy pomysł w całym paperze — czystość protokołu. Jeśli zamrożony rdzeń plus cienki dekoder działają, zasługa należy do reprezentacji, nie do dekodera. Dla programisty: to test integracyjny przez publiczne API. Nie wolno ci grzebać w serwerze; jeśli wszystkie klienty mimo to działają, model danych jest zdrowy.
- Tekst: zero nowych parametrów — reużyty LM head samego VLM-a (VQA, interpretacja eventów, wyjaśnienia przyczynowe).
- Obraz: MLP-adaptor (556.9M parametrów) + LoRA (rank 32) na projekcjach attention zamrożonego Stable Diffusion 3.5; 200K kroków, batch 512, obrazy 768×768.
- Akcje: DiT (Diffusion Transformer) — Action Expert trenowany od zera: 8 bloków, hidden 1024, 12 głów, naprzemienne self- i cross-attention; przewiduje chunki 30 kroków akcji 16-wymiarowych, inferencja w 4 krokach odszumiania. Trening: 200 trajektorii na zadanie, 20K kroków, batch 128.
Action Expert uczy się przez conditional flow matching. Ważne zastrzeżenie: paper tego równania nie wypisuje — odsyła do Lipmana et al. (2022) i opisuje procedurę słownie (ground-truth chunk akcji zaburzany szumem gaussowskim, ekspert przewiduje odpowiadającą prędkość). Poniższa postać to standardowy conditional flow matching zrekonstruowany z tego opisu:
$$ \mathcal{L}_{\mathrm{FM}} = \mathbb{E}_{\tau,\, a_0,\, \epsilon}\left[\, \left\| u_{\phi}\left(a_{\tau}, \tau \mid q_1,\, s_{\mathrm{proprio}}\right) - \left(\epsilon - a_0\right) \right\|^2 \right] \tag{8} $$gdzie:
- $a_0$ — ground-truth action chunk (horyzont 30 kroków, akcje 16-wymiarowe)
- $a_{\tau}$ — zaszumiona interpolacja akcji w “czasie dyfuzji” $\tau$
- $u_{\phi}$ — pole prędkości przewidywane przez DiT Action Expert
- $q_1$ — warunek: latent Query 1 z zamrożonej Orki po MLP-adaptorze — dosłownie “prognoza ewolucji stanu świata”
- $s_{\mathrm{proprio}}$ — propriocepcja robota (stany stawów i end-effectora, 16 wymiarów)
- $\epsilon$ — szum gaussowski; inferencja to 4 kroki odszumiania → chunk akcji sterujący robotem
Innymi słowy: robot nie dostaje ani pikseli, ani tekstu. Dostaje skompresowaną prognozę “jak świat zaraz się zmieni” plus stan własnego ciała — i z tego odszumia trajektorię. Jeśli latent naprawdę koduje przyszły stan świata, malutki, trenowany od zera ekspert powinien wystarczyć do sterowania. Teza papera zamieniona w falsyfikowalny eksperyment.
Dane: 125K godzin świata (i dlaczego użyto tylko 1/10)
“World-learning inventory” to osobne osiągnięcie inżynierskie: 125K godzin wideo (ego-centric interaction, exo-centric manipulation, action-free robot execution, natural dynamics), 160M anotacji eventów z wielopoziomowej segmentacji — grube kroki procesu plus drobne przejścia wewnątrz nich, każdy segment z captionem — i 11.5M par VQA.
Orca zużyła jedną dziesiątą wideo. Nie z braku compute — autorzy piszą wprost, że przy 4B parametrów wąskim gardłem jest pojemność modelu, nie dane. Świat się nie mieści. Pre-training: 256×H100 (32 nody), 10 844 kroki, AdamW (LR 3.5e-5 dla backbone’u, 1.2e-4 dla głów wizualnych), sekwencje do 1024 tokenów.
Liczby, które przekonują
Tekst: +5.1 średnio nad własnym backbone’em (i gdzie V-JEPA 2.1 wciąż wygrywa)
Najczystsze porównanie to Orca kontra backbone, z którego wystartowała — różnica jest w całości zasługą world-learningowego pre-trainingu:
| Model | MVBench | TemporalBench (MBA) | SWITCH | Avg (4 benchmarki) |
|---|---|---|---|---|
| Orca-4B | 65.3 | 34.2 | 55.6 | 51.8 |
| Qwen3.5-4B (backbone) | 67.1 | 25.2 | 42.8 | 46.7 |
| V-JEPA 2.1 + LLaMA3-8B | 75.4 | 28.5 | — | — |
| MiniCPM-V-4.6 | — | — | — | 37.9 |
| Emu3.5 | — | — | — | 29.8 |
Avg obejmuje MVBench + TemporalBench + 3DSRBench + SWITCH.
W małej skali ta sama historia, tylko mocniej: Orca-0.8B średnio 40.8 vs 33.1 Qwen3.5-0.8B — plus 7.7 punktu z remiksu tego samego backbone’u.
Uczciwie o porażkach: V-JEPA 2.1 z LLM-em 8B wygrywa MVBench w cuglach (75.4 vs 65.3), a nawet goły Qwen3.5-4B jest tam minimalnie lepszy od Orki (67.1 vs 65.3). Za to zyski Orki lądują dokładnie tam, gdzie celuje metoda. Rozbicie na wymiary zdolności (Table 2, Orca-4B vs Qwen3.5-4B):
| Wymiar zdolności | Orca-4B | Δ vs Qwen3.5-4B |
|---|---|---|
| State Transition | 64.13 | +12.27 |
| Dynamic Motion | 65.55 | +8.52 |
| Commonsense | 62.95 | +5.19 |
| Spatial Relations | 55.25 | +0.57 |
Przejścia stanów i ruch rosną, relacje przestrzenne stoją w miejscu. Sygnał treningowy kształtuje dokładnie to, czego dotyka — to bardziej potwierdzenie mechanizmu niż przypadek.
Obraz: PRICE-V0.1 i sędziowie-LLM
Predykcję obrazu (“pokaż klatkę po wykonaniu tej instrukcji”) oceniono na PRICE-V0.1 — własnym benchmarku autorów, punktowanym przez czterech sędziów-LLM:
| Model | Avg score (%) |
|---|---|
| Orca-4B (+2B SD3.5) | 59.8 ± 10.9 |
| FLUX.2 [klein] (4+4B) | 56.1 ± 18.1 |
| FLUX.1-Kontext (12B) | 40.9 ± 13.5 |
| OmniGen2 (3+4B) | 39.6 ± 10.2 |
| Orca-0.8B (+2B SD3.5) | 34.5 ± 15.3 |
Orca-4B ogrywa 12-miliardowy model edycyjny zamrożonym 2B dekoderem i cienkim adaptorem. Tylko spójrz na kolumnę ±: rozrzut sędziów jest kuriozalny. Za te same obrazki Orki-4B Gemini 3.1 Pro daje 44.0, a GPT 5.4 — 67.9. Dwadzieścia cztery punkty różnicy za identyczne wyjścia. Open-source’owy Gemma 4-31B dodano do składu sędziowskiego wyłącznie po to, żeby wyniki dało się zreprodukować. No i Orca-0.8B zajmuje na tym benchmarku ostatnie miejsce — o czym narracja o skalowaniu wolałaby zapomnieć.
Robot: 200 trajektorii vs wielkoskalowy pre-training π0.5
Dla tej tabeli ten paper istnieje. Pięć zadań na prawdziwym robocie (książka na półkę, stackowanie misek, chusteczka z pudełka, pieczątka, cukier łyżeczką), każde uczone z 200 trajektorii, testowane out-of-distribution: niewidziane obrusy (Environment OOD) i podmienione obiekty — chusteczki zastąpione chlebem z tostera, miski pudełkami (Object OOD).
| Model (rule-based score) | Overall | Environment OOD | Object OOD |
|---|---|---|---|
| Orca-4B | 32.4 | 36.6 | 28.2 |
| π0.5 (wielkoskalowy pre-training robotyczny) | 29.4 | 27.6 | 31.2 |
| V-JEPA 2.1 w/ Action Expert | 17.0 | — | — |
| Qwen3.5 w/ Action Expert | 10.5 | — | — |
Trzy obserwacje, od najprzyjemniejszej do najmniej wygodnej:
- W pre-trainingu Orki nie było ani jednej etykiety akcji, a mimo to overall wygrywa z π0.5 — modelem, którego całą racją bytu jest wielkoskalowy pre-training na akcjach. W Environment OOD przewaga to +9.0. Przyznam, że ten wynik mnie zaskoczył — wiedza motoryczna wyłoniła się z samego oglądania wideo.
- Object OOD wygrywa π0.5 (31.2 vs 28.2, do tego prowadzi tam w milestone’ach M25: 25.1 vs 21.8 i M50: 12.9 vs 10.8). Patrzenie na wideo uczy, jak ewoluują sceny; generalizacji chwytu na nowy obiekt najwyraźniej lepiej uczy fizyczne obcowanie z obiektami.
- Ten sam Action Expert doklejony do V-JEPA 2.1 daje 17.0, a do gołego Qwen3.5 — 10.5. Ta ostatnia liczba mówi najwięcej: wynik niosą dedykowane query i pre-training przejść, a nie backbone Qwena ani architektura eksperta (10.5 → 32.4 przy tym samym budżecie dekodera).
I liczba, o której paper pisze uczciwie, ale nagłówki już nie: binarny success rate jest u wszystkich bliski zera (0–3%). Żaden model nie kończy tych zadań niezawodnie. Zwycięstwo mierzy się częściowym postępem — osiągniętymi milestone’ami — nie dowiezioną manipulacją.
Ablacja: który loss naprawdę robi robotę?
Ablacja włącz/wyłącz trzech strat to moim zdaniem najciekawsza tabela w paperze — między innymi dlatego, że podważa jego własną narrację:
| Konfiguracja | Tekst | Obraz | Akcje |
|---|---|---|---|
| obs + evt + vqa (pełny model) | 51.8 | 59.8 | 32.4 |
| tylko vqa | 48.4 | — | 10.2 |
| obs + vqa | — | — | 32.6 |
| evt + vqa | — | — | 23.0 |
("—" przy obrazie: bez $\mathcal{L}_{\mathrm{evt}}$ readout obrazu w ogóle nie działa.)
Co z tego wynika:
- $\mathcal{L}_{\mathrm{evt}}$ to warunek konieczny predykcji obrazu — bez event-conditioningu nie ma jak wskazać językiem stanu docelowego i readout po prostu pada.
- $\mathcal{L}_{\mathrm{vqa}}$ utrzymuje interfejs językowy przy życiu — wyrzuć go, a readout tekstu umiera.
- $\mathcal{L}_{\mathrm{obs}}$ karmi robota. Sama VQA daje akcje 10.2; dołożenie gęstej dynamiki klatka-po-klatce skacze do 32.6; eventy plus VQA bez obs wyciągają ledwie 23.0. Polityka manipulacji konsumuje krótkoskalowy, naturalny ruch — nie semantykę eventów.
I niespodzianka: obs + vqa daje na akcjach 32.6 — odrobinę WIĘCEJ niż pełny model (32.4). Sztandarowy “conscious learning” eventów nie dodaje akcjom nic; pełna trójka wygrywa tylko zbalansowaną średnią (48.0 po trzech readoutach). Sama VQA jest z kolei tylko 3.4 punktu za pełnym modelem na tekście. Ściśle rzecz biorąc, event-conditioning jest niezbędny dla dokładnie jednego readoutu z trzech: obrazu. Chętnie przeczytałbym, co autorzy o tym sądzą — paper przechodzi nad tym dość szybko.
Drugą stroną medalu jest probing checkpointów (Figure 6) — i to jemu ufam najbardziej: zamroź backbone na kolejnych checkpointach pre-trainingu, przetrenuj readouty od nowa, a wszystkie trzy krzywe rosną monotonicznie z ilością danych, przy czym 4B > 0.8B wszędzie. Jakość latentu przekłada się na wszystkie trzy readouty naraz. To jest teza o “jednej kanonicznej bazie”, przetestowana tak, jak należy.
Sceptyczne okulary: co paper przemilcza
Czas zdjąć czapkę kibica.
- “World latent” jest odziedziczony, nie nauczony. W tej wersji przestrzeń stanów to przestrzeń embeddingów zamrożonego ViT z Qwen3.5 — semantycznego enkodera wytrenowanego przez kogoś innego. Orca uczy się przejść wewnątrz niej. Autorzy przyznają to w Limitation 2, ale tytuł i abstract sugerują coś bardziej natywnego, niż faktycznie zbudowano.
- Porównania są starannie dobrane. “Przewaga nad wyspecjalizowanymi baselinami porównywalnej skali” dyskretnie omija MVBench, gdzie V-JEPA 2.1 wygrywa o 10 punktów, a nawet goły backbone o 1.8 — oraz Object OOD, gdzie wygrywa π0.5.
- PRICE-V0.1 to własne boisko. Mały, o ograniczonej różnorodności (Limitation 4), oceniany przez LLM-y z promptem nakazującym łagodne kryteria zaliczenia, z 24-punktowym rozrzutem między sędziami. A wariant 0.8B zajmuje na nim ostatnie miejsce.
- Binarny sukces bliski zera. Robot właściwie nie kończy zadań; zwycięstwo żyje w metrykach częściowego postępu. Metryki uczciwe i raportowane wprost — ale “wygrywa z π0.5” zasługuje na tę gwiazdkę.
- Brak kontroli compute-matched. Porównanie, którego brakuje mi najbardziej: dotrenuj gołego Qwen3.5 na tych samych 12.5K godzin wideo samą VQA, ten sam budżet, zero strat przejścia. Ablacja “tylko vqa” jest tego przybliżeniem i na tekście traci ledwie 3.4 punktu. Ile zysku daje “modelowanie świata”, a ile “po prostu więcej wideo” — pozostaje otwarte.
Nic z tego papera nie zatapia. Ale wielka rama (“zunifikowany model świata”) wyprzedza materiał dowodowy, który na dziś brzmi: pre-training przejść w latencie to mocny, bezetykietowy prior dla sterowania, przydatny dla rozumowania czasowego i niezbędny dla predykcji obrazu warunkowanej instrukcją. To prawdziwy wynik. Tylko krótsze zdanie.
Dla kogo to jest?
Dla praktyków
Jeśli robisz robotykę, najważniejsza jest tu ekonomia danych. Teleoperacja kosztuje i się nie skaluje; wideo jest darmowe. Orca sugeruje pipeline, w którym fizyka pochodzi z biernego oglądania, a demonstracje pokrywają tylko ostatnią motoryczną milę — tutaj 200 na zadanie. Warto wypatrywać checkpointów: zamrożony backbone plus trenowany od zera DiT (8 bloków, hidden 1024) to setup, na którego replikację stać małe laboratorium, a najdroższy z dekoderów to 556.9M adaptor obrazu.
Jeśli budujesz produkty multimodalne, a nie roboty, zabierz ze sobą sam protokół: zamroź swój foundation model i mierz jakość reprezentacji tym, jak radzą sobie cienkie readouty. To czystszy test regresji na pytanie “czy nasz pre-training coś poprawił” niż fine-tuning end-to-end, w którym dekoder potrafi zamaskować stojący w miejscu rdzeń.
Dla badaczy
Orca to pierwsza poważna próba sklejenia programu JEPA z warunkowaniem językowym na taką skalę, a jej najtrwalsze artefakty są metodologiczne: protokół probingu z zamrożonym backbone’em, taksonomia unconscious/conscious dla danych i obserwacja, że ogranicza pojemność, nie dane — zużyto 10% własnego korpusu. Otwarte wątki, częściowo podarowane przez ablacje: dlaczego event-conditioning pomaga obrazom, a akcjom nie? Czy predykcja wsteczna ($\Delta < 0$) w ogóle coś wnosi, skoro nigdy nie zbadano jej w osobnej ablacji? Da się zastąpić trzy straty jedną, wierną równaniu (1)? (Autorzy sami tego chcą — Limitation 7.) I pytanie największe: podmień odziedziczony ViT na natywnie uczoną przestrzeń stanów i sprawdź, czy historia przetrwa.
Techniczne szczegóły
Dla zaawansowanego czytelnika — trzy rzeczy, które trzeba wiedzieć przed replikacją.
Inżynieria treningu na poziomie startupu infrastrukturalnego. Migracja z DeepSpeed na FlagScale + FSDP2, chunked cross-entropy (bez materializacji pełnych logitów), activation recompute i pre-fetching all-gather w forward/backward podniosły przepustowość z 0.66 do 2.91 samples/sec/GPU na H100 — 4.4× względem standardowego stacku społeczności embodied (StarVLA) i 3.0× względem gołego FSDP2. Rozbicie: chunked CE 0.97 → 1.35, recompute → 2.86, pre-fetching → 2.91.
Okablowanie readoutów, dokładnie. Obraz: 64 tokeny latentu × 2560 → LayerNorm + Linear 2560→4096 → 4 bloki rezydualne 4096→16384→4096 → mean-pool do 2048 wymiarów jako pooled condition, wpięty w jedną ścieżkę MMDiT zamrożonego SD3.5; trenują się tylko adaptor (556.9M) i LoRA rank 32 na projekcjach attention. Akcje: hidden state Query 1 idzie przez MLP-adaptor do cross-attention DiT-eksperta; warunkami są zaszumiony chunk akcji + time embedding + 16-wymiarowa propriocepcja.
Query nie są ozdobą. Baseline “Qwen3.5 w/ Action Expert” czyta ten sam dekoder z last hidden state VLM-a zamiast z dedykowanych query — i dostaje 10.5 wobec 32.4 Orki. Dedykowane, uczone od zera porty odczytu, które nie zaburzają oryginalnego strumienia tokenów, są warte na tej metryce jakieś 3×. Najtańsze 2×256 wektorów, jakie zaalokujesz w tym roku.
Ograniczenia
Paper wylicza własne słabości z rzadką szczerością — jest ich osiem:
- Tylko dwie modalności. Brak audio (wrzącą wodę słychać, zanim ją widać), dotyku, siły i propriocepcji w pre-trainingu.
- Odziedziczona przestrzeń stanów. Latent zakotwiczony w zamrożonym ViT cudzego VLM-a, nie uczony natywnie z sygnałów świata.
- Mała skala i widoczny trade-off. Przy 0.8B, a nawet 4B, readouty konkurują o pojemność w trakcie pre-trainingu; zmieściła się 1/10 wideo — gardłem jest model, nie dane.
- PRICE-V0.1 jest mały i mało różnorodny.
- Eventy krótko-horyzontowe. Anotacje obejmują minuty; ewolucji stanu w godzinach i dniach nikt nie modeluje.
- Trzy przetestowane readouty. Audio, obwody kwantowe, białka — zadeklarowane, niesprawdzone.
- Trzy osobne straty zamiast jednej, spójnej z duchem Next-State-Prediction.
- Proste zadania robotyczne, niski sukces bezwzględny. Krótkie manipulacje, a binarny success rate bliski zera u wszystkich metod.
Podsumowanie
- Jeden cel, trzy paradygmaty. Next-State-Prediction (równanie 1) obejmuje next-token, next-frame i next-action jako rzuty latentnego stanu świata, ewoluującego w przód i w tył w czasie, napędzanego ukrytą dynamiką $z_t$ i sterowanego jawnymi warunkami $c_t$.
- Nadzór w latencie zamiast malowania pikseli. Predykcja embeddingów zamrożonego ViT ze stratą 0.1·MSE + 0.9·cosine kupuje fizykę bez płacenia za teksturę — a zamrożona kotwica przy okazji chroni przed representation collapse.
- Protokół frozen backbone to właściwy wkład papera. Cienkie readouty na nietkniętym rdzeniu zamieniają pytanie “czy reprezentacja jest dobra?” w mierzalne, a wszystkie trzy readouty rosną monotonicznie z danymi pre-trainingu (4B > 0.8B wszędzie).
- Emergentna motoryka to nagłówek. Zero etykiet akcji w pre-trainingu, 200 trajektorii na zadanie — i readout akcji wygrywa overall z π0.5 (32.4 vs 29.4). Ale π0.5 trzyma Object OOD, V-JEPA 2.1 trzyma MVBench, a binarny sukces nikogo nie przekracza 3%.
- Ablacja to drobny druk. obs+vqa minimalnie bije pełny model na akcjach (32.6 vs 32.4), a sama VQA traci na tekście tylko 3.4 punktu — event-conditioning jest naprawdę niezbędny wyłącznie dla obrazu. Zunifikowana opowieść ma widoczne szwy.
Model, który świat wyłącznie oglądał, prawie dogonił model, który całe życie w nim działał — więc może większość tego, czego robot potrzebuje, nigdy nie siedziała w etykietach akcji.
📎 Linki
- Na podstawie publikacji 📄 arXiv:2606.30534