Robot, który jednym modelem składa pranie, pakuje leki i nalewa herbatę - brzmi jak science fiction, ale dokładnie tego potrzebuje przemysł. Problem? Najlepsze kontrolery robotów są albo zamknięte (π0.5 od Physical Intelligence), albo za wolne (modele rozumujące generują setki tokenów zanim ruszą ramieniem), albo wymagają sprzętu za dziesiątki tysięcy dolarów. MolmoAct2 (Fang, Duan et al., Allen AI / UW / Stanford / NVIDIA / MIT, maj 2026) rozwiązuje te problemy jednocześnie: jest w pełni otwarty (wagi, kod, dane), działa z prędkością 55.79 Hz, i osiąga 97.2% sukcesu na LIBERO - bijąc każdy otwarty i zamknięty baseline. Kluczowa innowacja? Generator akcji robota “zagląda” do modelu językowego na każdej warstwie transformera, nie tylko na końcu.


Problem: dlaczego obecne kontrolery robotów nie wystarczają

Modele Vision-Language-Action (VLA) to marzenie robotyki: jeden model mapujący piksele i język na komendy motoryczne. Ale w 2026 roku pole boryka się z czterema problemami:

Zamknięte modele frontier. π0.5, Gemini Robotics i inne udostępniają co najwyżej wagi. Dane treningowe, recepty i pipeline’y pozostają zamknięte. Nie da się ich odtworzyć ani zaadaptować.

Overhead rozumowania. Modele “myślące” przed działaniem (chain-of-thought, predykcja obrazów, world-model rollouts) generują setki tokenów zanim wyemitują jedną komendę motoryczną. To zabija kontrolę w czasie rzeczywistym.

Lock-in sprzętowy. Nieliczne otwarte VLA wymagają drogich platform - Franka Emika za $30k+, nie wspominając o serwerach GPU do inferencji.

Krucha generalizacja. Zero-shot nadal jest zbyt zawodny do produkcji. Fine-tuning pomaga, ale nie zamyka luki do niezawodnego wdrożenia.


Pięć osi innowacji MolmoAct2

Co nowego
BackboneMolmo2-ER - VLM wyspecjalizowany w rozumowaniu przestrzennym
Dane720h bimanualnych demo + DROID + SO-100/101
TokenizerOpenFAST - otwarty tokenizer akcji, 5 typów robotów
ArchitekturaFlow-matching expert z KV-cache conditioning co warstwę
RozumowanieMolmoAct2-Think - adaptacyjne tokeny głębokości

Przyjrzyjmy się każdemu elementowi.


Molmo2-ER: VLM który rozumie przestrzeń

Ogólne VLM-y (GPT-5, Gemini) świetnie odpowiadają na “co jest na obrazku?”, ale fatalnie radzą sobie z “jak daleko jest obiekt A od B?” czy “jeśli ruszę do przodu, czy uderzę w stół?”. A dokładnie tych pytań potrzebuje polityka robota.

Molmo2-ER specjalizuje Molmo2 w rozumowaniu embodied dwuetapowym przepisem:

Etap 1 - Specjalizacja (20K kroków): Fine-tuning na korpusie 3.3M próbek obejmującym sześć filarów: image embodied QA, video embodied QA, pixel-accurate pointing, detekcja obiektów, korespondencja ego-exo, i abstrakcyjne rozumowanie. 8% danych tekstowych chroni kompetencje językowe.

Etap 2 - Rafinacja (1.5K kroków): Przeplatanie korpusu embodied z oryginalnym treningiem Molmo2. Proporcja p=0.5 daje najlepszy kompromis.

Wynik? Molmo2-ER osiąga 63.8% na 13 benchmarkach embodied reasoning - przewyższając GPT-5 (57.9%), Gemini Robotics ER-1.5 Thinking (61.3%), i sam Molmo2 o +17 punktów.


Architektura: od dyskretnych tokenów do ciągłej kontroli

Pipeline treningowy MolmoAct2 ma trzy etapy: pre-training → post-training → fine-tuning. Kluczowa idea to pomost między dyskretnym modelowaniem języka a ciągłą kontrolą robota.

OpenFAST: zamiana ruchów robota na tokeny

Akcje robota to ciągłe wektory (kąty stawów, pozycje chwytaka) specyficzne dla każdego typu robota. Jak je włożyć do modelu językowego?

OpenFAST robi to w czterech krokach:

  1. Weź 1-sekundową trajektorię ruchu
  2. Zastosuj transformatę w dziedzinie częstotliwości
  3. Skwantyzuj współczynniki
  4. Zastosuj byte-pair encoding → kompaktowa sekwencja tokenów z 2048-elementowego słownika

Wytrenowany na 1M trajektorii z 5 typów robotów, OpenFAST to pierwszy w pełni otwarty tokenizer akcji z przejrzystymi danymi treningowymi.

W fazie pre-trainingu (200K kroków) MolmoAct2 po prostu przewiduje te dyskretne tokeny akcji obok tekstu - jednolity cel next-token prediction. 90% dane robotyczne, 10% multimodalne.

Per-Layer KV Connection: kluczowa innowacja architekturalna

Tu zaczyna się to, co naprawdę wyróżnia MolmoAct2. Pre-training daje VLM przewidujący dyskretne akcje. Ale do wdrożenia potrzebna jest ciągła kontrola - gładkie, precyzyjne trajektorie. W fazie post-trainingu dołączany jest flow-matching action expert.

Expert to sieć w stylu DiT (ta sama głębokość co VLM: 36 warstw), generująca ciągłe trajektorie przez flow matching. Kluczowe pytanie: jak expert widzi “rozumienie” VLM-a?

Dotychczasowe podejście (GR00T N1.7 i inne): kondycjonuj na finalnych hidden states. Expert widzi tylko “streszczenie” - jakby czytać tylko konkluzję artykułu.

Podejście MolmoAct2: sięgnij do KV-cache VLM-a na każdej warstwie:

$$\tilde{K}\ell = \text{reshape}(P_K K^{\text{vlm}}\ell), \quad \tilde{V}\ell = \text{reshape}(P_V V^{\text{vlm}}\ell) \tag{1}$$

gdzie:

  • $K^{\text{vlm}}\ell, V^{\text{vlm}}\ell$ - klucze i wartości z self-attention VLM-a na warstwie $\ell$
  • $P_K, P_V$ - nauczone projekcje liniowe wyrównujące wymiary VLM z szerokością experta
  • $\tilde{K}\ell, \tilde{V}\ell$ - rzutowane tensory używane przez cross-attention experta

Interpretacja: Wczesne warstwy VLM kodują niskopoziomowe cechy przestrzenne (krawędzie, pozycje, odległości). Późniejsze warstwy - semantykę wysokiego poziomu (tożsamość obiektów, rozumienie zadania). Cross-attention na każdej warstwie daje expertowi pełną hierarchię - od geometrii pikselowej po abstrakcyjne zrozumienie celu.

Cross-attention w każdym bloku experta:

$$\text{CA}(Q_\ell, \tilde{K}\ell, \tilde{V}\ell) = \text{softmax}\left(\frac{Q_\ell \tilde{K}\ell^\top}{\sqrt{d_h}}\right)\tilde{V}\ell \tag{2}$$

gdzie $Q_\ell$ to zapytanie experta na warstwie $\ell$, a $d_h$ to wymiar głowicy.

Istotny detal: podczas post-trainingu KV-cache jest odcięty od gradientów - strata flow-matching trenuje tylko experta i jego projekcje, nie VLM. Ta “izolacja wiedzy” chroni reprezentacje VLM-a przed korupcją przez cel ciągły. Podczas fine-tuningu to ograniczenie jest relaksowane.

Flow Matching: nauka odszumiania akcji

Expert uczy się przez flow matching. Mając docelową akcję $a$ i szum $\epsilon \sim \mathcal{N}(0, I)$:

$$x_t = (1-t)\epsilon + ta, \quad u^\star = a - \epsilon \tag{3}$$

$$\mathcal{L}{\text{flow}} = \mathbb{E}{a,\epsilon,t}\left[|m \odot (f_\theta(x_t, t, c) - u^\star)|_2^2\right] \tag{4}$$

gdzie:

  • $x_t$ - zaszumiona akcja w czasie flow $t \in [0,1]$
  • $u^\star$ - docelowa prędkość (kierunek od szumu do danych)
  • $f_\theta$ - sieć experta akcji
  • $c$ - kontekst VLM (zadanie, obserwacje, stany)
  • $m$ - maska zerująca paddowane wymiary

Interpretacja: Expert widzi częściowo zaszumioną wersję docelowej akcji i uczy się przewidywać kierunek “popychania” w stronę czystej akcji. Przy inferencji startujemy z czystego szumu i całkujemy pole prędkości - wychodzi ciągła trajektoria.

Dla gęstszej superwizji każdy przykład jest ewaluowany w $K$ niezależnych punktach szumu:

$$\mathcal{L}{\text{flow}}(a, c) = \frac{1}{K}\sum{i=1}^{K}|m \odot (f_\theta(x_{t_i}, t_i, c) - (a - \epsilon_i))|_2^2 \tag{5}$$

$K=4$ w post-trainingu, $K=8$ w fine-tuningu. Ablacje pokazują: K=8 daje 95.9% vs K=1 przy 94.15%.


MolmoAct2-Think: adaptacyjne rozumowanie głębokościowe

Manipulacja robotyczna zależy od informacji przestrzennej - odległości obiektów, wolna przestrzeń, okluzja - której standardowe uczenie z imitacji nigdy jawnie nie reprezentuje. MolmoAct2-Think dodaje krok pośredni: zanim zadziałaj, przewiduj kompaktową mapę głębokości.

Reprezentacja głębokości

Każda obserwacja jest kwantyzowana do siatki 10×10 kodów głębokości (128 możliwych wartości na komórkę = 100 tokenów łącznie). Przewidywane autoregresywnie, jak tokeny tekstu, a potem ich KV-cache kondycjonuje experta akcji.

Dlaczego adaptacyjnie?

Trajektorie robotyczne mają ogromną redundancję czasową: większość sceny nie zmienia się między kolejnymi klatkami przy 30Hz. Po co przewidywać 100 tokenów głębokości co krok?

MolmoAct2-Think utrzymuje bufor głębokości i ponownie przewiduje tylko komórki, gdzie zawartość RGB się zmieniła:

$$m_{t,i} = \mathbf{1}[\cos(x_{t,i}, x_{t-1,i}) < 0.996] \tag{6}$$

gdzie $x_{t,i}$ to patch RGB w komórce $i$ siatki, w czasie $t$. Tylko komórki z $m_{t,i} = 1$ wymagają nowej predykcji. Statyczne komórki - darmowe.

Efekt: Geometryczne ugruntowanie bez pełnego kosztu latencji. MolmoAct2-Think osiąga 98.1% na LIBERO (vs 97.2% dla bazowego MolmoAct2), a koszt głębokości skaluje się ze zmianą sceny, nie rozmiarem sceny.

Triki treningowe

Dwie innowacje sprawiają, że adaptacyjna głębokość działa w praktyce:

  1. Iniekcja szumu (10%): Podczas fine-tuningu losowo korrumpuj 10% wejściowych kodów głębokości, zachowując czyste targety. Czyni experta odpornym na niedoskonałe predykcje głębokości przy inferencji.

  2. Nauczona bramka głębokości: Skalarny gate $g_\ell = \sigma(w_\ell^\top c_\ell + b_\ell)$ na każdej warstwie experta kontroluje przepływ informacji głębokościowej, inicjalizowany przy $b = -4$ (prawie zamknięty). Model uczy się, jak silnie każda warstwa powinna wykorzystywać głębokość.


Eksperymenty i wyniki

Ewaluacja jest najobszerniejsza dla jakiegokolwiek otwartego VLA: 7 benchmarków w symulacji i rzeczywistym świecie, 3 typy robotów.

Embodied Reasoning (Molmo2-ER)

ModelŚrednia (13 benchmarków)
Molmo2 (baza)46.8%
GPT-557.9%
Gemini-ER 1.5 Thinking61.3%
Molmo2-ER63.8%

Wdrożenie out-of-the-box

Benchmarkπ0.5-DROIDMolmoAct2
MolmoSpaces (sym.)34.5%37.7%
MolmoBot (real, DROID)48.4%87.1%
SO-100/101 (real)45.3% (π0)56.7%

Fine-tuning (LIBERO)

ModelSpatialObjectGoalLongŚrednia
π0.597.5%98.2%98.0%92.4%96.9%
MolmoAct297.8%100%97.8%93.2%97.2%
MolmoAct2-Think98.5%99.8%98.8%95.4%98.1%

Bimanualny YAM w rzeczywistym świecie (8 zadań, 50 prób każde)

MolmoAct2 osiąga 50.1% średniego sukcesu - +15% nad runner-up (OpenVLA-OFT). Zadania obejmują wdrożenie “in-the-wild”: store_candy, hang_tools, prepare_pipette, make_popcorn.

Prędkość inferencji

Z optymalizacją CUDA Graphs MolmoAct2 osiąga 55.79 Hz (2.42x przyspieszenie), a MolmoAct2-Think 12.71 Hz (1.58x). Różnica wynika z tego, że adaptacyjne dekodowanie głębokości ma zmienną długość i jest mniej podatne na graph capture.

Kluczowe ablacje

  • Backbone: Molmo2-ER daje +6% nad Molmo2 na LIBERO Long
  • KV connection: Per-layer KV (95.9%) > per-head KV (94.8%) > hidden states (94.0%)
  • Próbki flow: K=8 (95.9%) > K=4 (95.15%) > K=1 (94.15%)
  • Fine-tuning: Full model + dyskretne co-training (97.2%) » action expert only (93.05%)

Ograniczenia

  • Wymogi sprzętowe: Inferencja wymaga H100. Nie nadaje się na urządzenia brzegowe.
  • Fine-tuning per embodiment: Model generalizuje między zadaniami na danej platformie, ale nowe platformy wymagają dostrajania.
  • Tylko głębokość monokularna: MolmoAct2-Think używa estymacji z Depth Anything V2, nie stereo/LIDAR.
  • 4B parametrów: Duży model nawet przy 55 Hz.
  • Think ograniczone CUDA Graphs: Adaptacyjne dekodowanie (1.58x) zyskuje mniej niż stały flow (2.42x).

Podsumowanie

Co zapamiętać:

  • MolmoAct2 to pierwszy w pełni otwarty VLA (wagi + kod + dane) przewyższający zamknięte konkurenty na benchmarkach symulacyjnych i real-world
  • Per-layer KV-cache connection między VLM a action expert to kluczowa innowacja architekturalna - daje robotowi hierarchiczny dostęp do przestrzennych i semantycznych reprezentacji modelu językowego
  • Adaptacyjne rozumowanie głębokościowe (MolmoAct2-Think) zapewnia geometryczne ugruntowanie przy koszcie skalującym się ze zmianą sceny
  • Release obejmuje największy otwarty dataset bimanualny (720h, 34.5k demo na platformie za $6k)
  • Z optymalizacją CUDA Graphs model działa z 55.79 Hz - wystarczająco do zamkniętopętlowej kontroli w czasie rzeczywistym

To właśnie powinno oznaczać “fully open” w robotyce: nie same wagi modelu, ale cały pipeline od zbierania danych po wdrożenie.


Źródła i materiały: