Contents — find the section you need

Molti modelli Vision-Language-Action (VLA) rappresentano immagini, linguaggio e azioni come una sequenza di token e prevedono il token successivo uno alla volta. Annunciato da Physical Intelligence nel 2024, π0 (pi-zero) cambia il meccanismo stesso di generazione delle azioni: invece di tokenizzare le azioni in modo autoregressivo, genera un blocco continuo di azioni con corrispondenza di flusso condizionale. Questo articolo esamina passo passo il design descritto nel paper "π0: A Vision-Language-Action Flow Model for General Robot Control" (Black, Brown, Driess et al., Physical Intelligence, arXiv:2410.24164).

Questo articolo si basa sulle descrizioni contenute nel documento originale (arXiv:2410.24164) e nel documento PaliGemma (arXiv:2407.07726).

0. Cosa imparerai

  • Quali sono le differenze tra π0 e i modelli VLA autoregressivi come RT-2 e OpenVLA
  • Come funzionano insieme l'architettura VLM di PaliGemma e l'“Action Expert” dedicato
  • Come la corrispondenza del flusso condizionale genera le azioni, inclusa l'integrazione di Eulero in fase di inferenza
  • Come viene gestito l'addestramento eterogeneo tra sette tipi di robot
  • Perché il pre-addestramento e il post-addestramento sono separati in una procedura a due fasi

1. Prima le conclusioni: cos'è π0?

π0 è un modello di controllo robotico generico che combina un modello di visione-linguaggio pre-addestrato (PaliGemma) con un esperto di azioni dedicato, il quale genera sequenze di azioni continue tramite corrispondenza di flusso condizionale. Un singolo modello riceve immagini dalla telecamera, un'istruzione in linguaggio naturale e lo stato delle articolazioni del robot, quindi genera una sequenza di azioni che copre fino a 50 passi futuri contemporaneamente. È stato pre-addestrato su dati provenienti da sette diverse piattaforme robotiche, può eseguire alcune attività zero-shot ed è progettato per adattarsi a nuove attività tramite fine-tuning con una quantità di dati relativamente ridotta.

2. Perché generare azioni con la corrispondenza di flusso?

I primi VLA, come RT-2 e OpenVLA, discretizzano i valori continui delle azioni (angoli delle articolazioni, velocità e così via) in intervalli predefiniti e li assegnano a token del vocabolario del modello linguistico altrimenti inutilizzati. Ciò consente di gestire immagini, linguaggio e azioni come un'unica sequenza di token. L'approccio è semplice da implementare, ma presenta due limitazioni. Innanzitutto, poiché le azioni vengono generate un token alla volta, le sequenze di azioni ad alta frequenza e ad alta dimensionalità possono risultare lente da produrre. In secondo luogo, la discretizzazione rappresenta un'approssimazione grossolana dello spazio delle azioni, rendendo più difficile rappresentare movimenti fluidi e precisi come piegare un tessuto o versare un liquido, dove la deformazione e il contatto sono importanti.

π0 affronta entrambi i problemi evitando la tokenizzazione delle azioni e utilizzando il flow matching, una famiglia di modelli di diffusione, per generare un blocco di azioni continuo di 50 passi in un singolo passaggio attraverso la rappresentazione dell'azione. L'articolo presenta esplicitamente questa progettazione come un modo per gestire compiti che richiedono grande destrezza e blocchi di azioni a frequenze fino a 50 Hz.

3. Cosa ci vuole?

π0 riceve tre tipi di input:

  • Immagini o_t: immagini RGB provenienti da diverse angolazioni della telecamera (fino a tre, a seconda della configurazione)
  • Istruzioni linguistiche: una descrizione di un'attività in linguaggio naturale, ad esempio "piega la camicia"
  • Propriocezione q_t: un vettore di stato, come ad esempio gli angoli delle articolazioni del robot

Questi dati vengono trattati insieme come un'osservazione o_t = [I_t^1, \dots, I_t^n, \ell_t, q_t]. Il numero di telecamere e i gradi di libertà delle articolazioni variano a seconda della configurazione del robot, pertanto sono necessari padding e masking per allineare le dimensioni, come descritto di seguito.

4. Cosa viene previsto?

L'output è un blocco di azioni A_t = [a_t, a_{t+1}, \dots, a_{t+H-1}] contenente H=50 azioni a partire dal momento corrente. A differenza di un modello autoregressivo che produce un token di azione alla volta, π0 genera l'intero blocco contemporaneamente. La generazione di questo blocco tramite il flow matching è l'idea centrale di π0.

5. Architettura di base

π0 esegue un VLM pre-addestrato (PaliGemma) insieme a un piccolo "Action Expert" specializzato nella generazione di azioni. I due Transformer operano in parallelo all'interno degli stessi layer.

Diagram 1 · Use the button to switch views
π0 basic pipeline Multiple camera views, a language instruction, and joint state are processed by the PaliGemma VLM (SigLIP image encoder plus Gemma-2B language model). A separate Action Expert repeatedly updates the state and noisy action to produce an action chunk. Images (multi-view) Language instruction Joint state q_t Noisy action A_t^τ (iterated over τ) PaliGemma VLM (3B) SigLIP image encoder + Gemma-2B language model Processes image/language tokens Action Expert (300M) Separate parameter set Processes state q_t and noisy action Blocks in the same Transformer layers Shared through causal attention v_θ(A_t^τ, o_t) Outputs a vector field 10 Euler integration steps (τ: 0→1) Action chunk A_t (H=50) Up to 50 Hz
x="830" y="155" class="node-text" text-anchor="middle" font-size="13">A_t (H=50)
x="830" y="173" class="node-text" text-anchor="middle" font-size="11">Fino a 50 Hz