Contents — find the section you need

De nombreux modèles Vision-Langage-Action (VLA) représentent les images, le langage et les actions sous forme de séquences de jetons et prédisent le jeton suivant un à un. Annoncé par Physical Intelligence en 2024, π0 (pi-zéro) modifie le mécanisme de génération d'actions lui-même : au lieu de tokeniser les actions de manière autorégressive, il génère un bloc d'actions continu grâce à une correspondance de flux conditionnelle. Cet article examine en détail la conception décrite dans l'article « π0 : Un modèle de flux Vision-Langage-Action pour le contrôle général de robots » (Black, Brown, Driess et al., Physical Intelligence, arXiv:2410.24164).

Cet article s'appuie sur les descriptions de l'article original (arXiv:2410.24164) et de l'article PaliGemma (arXiv:2407.07726).

0. Ce que vous apprendrez

  • Les différences entre π0 et les modèles VLA autorégressifs tels que RT-2 et OpenVLA

  • Le fonctionnement conjoint de l'architecture VLM de PaliGemma et de l'« Expert en actions » dédié

  • La génération d'actions par correspondance de flux conditionnel, incluant l'intégration d'Euler lors de l'inférence

  • La gestion de l'entraînement hétérogène inter-incarnations pour sept types de robots

  • La séparation du pré-entraînement et du post-entraînement en deux étapes

1. Conclusion : qu'est-ce que π0 ?

π0 est un modèle de contrôle robotique générique qui combine un modèle vision-langage pré-entraîné (PaliGemma) avec un expert en actions dédié. Ce dernier génère des séquences d'actions continues par correspondance de flux conditionnelle. Un seul modèle reçoit les images de la caméra, une instruction en langage naturel et l'état des articulations du robot, puis produit une séquence d'actions couvrant jusqu'à 50 étapes futures simultanément. Pré-entraîné sur des données provenant de sept plateformes robotiques différentes, il peut réaliser certaines tâches sans aucun exemple et est conçu pour s'adapter à de nouvelles tâches grâce à un ajustement fin avec relativement peu de données.

2. Pourquoi générer des actions par correspondance de flux ?

Les premiers systèmes de vision-langage (SVL) tels que RT-2 et OpenVLA discrétisent les valeurs d'actions continues (angles articulaires, vitesses, etc.) en catégories prédéfinies et les assignent à des jetons de vocabulaire du modèle de langage autrement inutilisés. Cela permet de traiter les images, le langage et les actions comme une seule séquence de jetons. Cette approche est simple à mettre en œuvre, mais présente deux limitations. Premièrement, la génération des actions jeton par jeton peut ralentir la production de séquences d'actions complexes et à haute fréquence. Deuxièmement, la discrétisation, en tant qu'approximation grossière de l'espace des actions, complique la représentation de mouvements fluides et précis, tels que plier du tissu ou verser un liquide, où la déformation et le contact sont essentiels.

π0 résout ces deux problèmes en évitant la tokenisation des actions et en utilisant la correspondance de flux, une famille de modèles de diffusion, pour générer un segment d'action continu de 50 étapes en une seule passe à travers la représentation des actions. L'article présente explicitement cette conception comme une solution pour gérer des tâches complexes et des segments d'actions à des fréquences allant jusqu'à 50 Hz.

3. Quelles sont les données d'entrée ?

π0 reçoit trois types d'entrées :

  • Images o_t : images RVB provenant de plusieurs vues de caméra (jusqu'à trois vues, selon la configuration)

  • Instruction en langage naturel : une description de tâche en langage naturel, par exemple « plier la chemise »

  • Proprioception q_t : un vecteur d'état, par exemple les angles des articulations du robot

Ces éléments sont traités ensemble comme une observation o_t = [I_t^1, \dots, I_t^n, \ell_t, q_t]. Le nombre de caméras et les degrés de liberté des articulations variant selon les configurations du robot, un remplissage et un masquage sont nécessaires pour aligner les dimensions, comme décrit ci-dessous.

4. Que prédit-on ?

La sortie est un bloc d'actions A_t = [a_t, a_{t+1}, \dots, a_{t+H-1}] contenant les actions H=50 à partir de l'instant présent. Contrairement à un modèle autorégressif qui produit un jeton d'action à la fois, π0 génère le bloc entier d'un seul coup. La génération de ce bloc par correspondance de flux est l'idée centrale de π0.

5. Architecture de base

π0 utilise un VLM pré-entraîné (PaliGemma) associé à un petit « Expert en actions » spécialisé dans la génération d'actions. Les deux Transformers fonctionnent en parallèle au sein des mêmes couches.

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

Figure 1 — PaliGemma (image et langage) et Action Expert (état et action bruitée) utilisent des ensembles de paramètres distincts tout en partageant les mêmes couches Transformer grâce à une attention causale par blocs. Le champ vectoriel d'Action Expert est accumulé avec 10 étapes d'intégration d'Euler pour générer un segment d'action de 50 étapes.

6. Détails techniques des composants

Architecture PaliGemma et Action Expert

L'architecture VLM est initialisée à partir de PaliGemma, annoncé par Google en 2024. PaliGemma combine un encodeur de vision SigLIP-So400m avec un modèle de langage Gemma-2B dans un VLM à 3 milliards de paramètres. L'objectif est de transférer les connaissances visuelles et linguistiques acquises lors d'un pré-entraînement à grande échelle vers la génération d'actions robotiques.

Outre PaliGemma (environ 3 milliards de paramètres), π0 ajoute un Expert en Actions d'environ 300 millions de paramètres : un Transformer plus petit, d'une largeur de 1 024 couches et d'une dimension MLP de 4 096. Du côté de PaliGemma, les valeurs correspondantes sont : largeur de 2 048 couches, profondeur de 18 couches et dimension MLP de 16 384. Le modèle π0 complet compte donc environ 3,3 milliards de paramètres.

Il est important de noter qu'il ne s'agit pas de deux réseaux totalement indépendants fonctionnant en parallèle. Ils utilisent des ensembles de paramètres différents pour différents types de jetons, tout en partageant les mêmes couches Transformer. PaliGemma gère les jetons d'image et de langage, tandis qu'Action Expert gère les jetons d'état et d'action bruitée ; l'information circule entre eux grâce à une attention causale par blocs dans les couches partagées. Les jetons d'action peuvent interagir de manière bidirectionnelle au sein de leur bloc, mais la contrainte d'entraînement les empêche d'anticiper les informations futures. Ce concept s'apparente à celui de modèle de mélange d'experts et permet à un modèle de combiner une sortie linguistique discrète (entraînée avec l'entropie croisée) et une sortie d'action continue (entraînée avec une fonction de perte de correspondance de flux).

Génération d'actions avec correspondance de flux conditionnelle

π0 génère des actions avec correspondance de flux conditionnelle, une méthode appartenant à la famille des méthodes génératives basées sur la diffusion. Lors de l'entraînement, le segment d'action réel A_t et un bruit gaussien \epsilon \sim \mathcal{N}(0, I) sont mélangés linéairement selon un paramètre temporel \tau \in [0,1] pour créer l'action bruitée A_t^\tau.

A_t^\tau = \tau A_t + (1-\tau)\epsilon

La direction cible à suivre pour déplacer A_t^\tau vers l'action réelle A_t est définie comme suit.

u(A_t^\tau \mid A_t) = \epsilon - A_t

L'expert en actions est entraîné comme un réseau v_\theta(A_t^\tau, o_t) qui prédit le champ vectoriel cible à partir de l'observation o_t et de l'action bruitée A_t^\tau. La fonction de perte correspond à l'erreur quadratique entre les champs vectoriels prédit et cible.

\mathcal{L}^\tau(\theta) = \mathbb{E}_{p(A_t \mid o_t),\, q(A_t^\tau \mid A_t)} \left\| v_\theta(A_t^\tau, o_t) - u(A_t^\tau \mid A_t) \right\|^2

Lors de l'inférence, l'échantillonnage débute à partir d'un bruit pur A_t^{\tau=0} = \epsilon. Une méthode d'Euler explicite intègre le champ vectoriel prédit de \tau=0 à \tau=1, assemblant ainsi le segment d'action final.

A_t^{\tau+\delta} = A_t^{\tau} + \delta\, v_\theta(A_t^{\tau}, o_t)

L'article utilise \delta = 0.1, soit 10 étapes d'intégration, pour passer de \tau=0 à \tau=1. Alors que la génération de jetons autorégressive dans RT-2/OpenVLA répète le décodage séquentiel sur toute la longueur du segment d'action, π0 affine l'intégralité du segment en 10 étapes de mise à jour. Le nombre de mises à jour ne croît donc pas avec la longueur du segment, ce qui explique son gain de vitesse.

Apprentissage inter-robots — entraînement d'un modèle sur différents robots

Les données d'entraînement de π0 couvrent sept plateformes robotiques différentes : UR5e, UR5e bimanuel, Franka, Trossen bimanuel, ARX et AgileX bimanuels, Trossen et ARX mobiles, et Fibocom mobile. Le nombre de caméras est de 2 à 3, tandis que le nombre de degrés de liberté varie de 7 à 17 selon le robot.

Pour représenter ces données hétérogènes dans un seul modèle, π0 applique la normalisation suivante :

  • Les vecteurs d'état q_t et d'action a_t sont complétés jusqu'au nombre maximal de degrés de liberté des données d'entraînement (18 dimensions). Les robots disposant de moins de degrés de liberté utilisent un remplissage par zéros pour les entrées inutilisées.

  • Pour les robots équipés de moins de trois caméras, les emplacements d'images manquants sont masqués afin que le mécanisme d'attention ignore ces positions.

  • Étant donné que le nombre d'échantillons varie considérablement selon la tâche et la combinaison robot-tâche, l'échantillonnage est pondéré par n^{0.43} pour une combinaison comportant n échantillons. Ceci réduit la prédominance des tâches riches en données.

L'ensemble d'entraînement complet contient environ 900 millions d'itérations, soit approximativement 10 000 heures : les données propres à Physical Intelligence issues de 68 tâches et de sept robots, combinées à des ensembles de données publics tels que Open X-Embodiment (OXE), Bridge v2 et DROID.

Protocole d'entraînement en deux étapes — pré-entraînement et post-entraînement

L'entraînement de π0 se divise en deux grandes étapes. Le pré-entraînement utilise l'ensemble de données complet, vaste et diversifié. Il exploite les noms des tâches et les annotations de segments qui divisent les exécutions en unités de quelques secondes afin d'établir une base de connaissances générale. Le post-entraînement utilise des données de haute qualité, soigneusement sélectionnées et axées sur une tâche spécifique, pour transformer cette base en comportement souhaité.

L'article justifie cette division : « Si nous n'entraînions le modèle que sur des données de haute qualité, il n'apprendrait pas à se remettre des erreurs. » La variété des données d'exécution du pré-entraînement, qui ne sont pas toujours parfaites, permet au modèle d'acquérir de l'expérience et de savoir se corriger en cas de problème. Les données de haute qualité obtenues après l'entraînement permettent d'affiner la capacité à réaliser la tâche cible avec la précision souhaitée.

Pourquoi utiliser la correspondance de flux plutôt qu'un modèle de diffusion conventionnel ?

Les modèles de diffusion standard, tels que DDPM (Denoising Diffusion Probabilistic Models), supposent un chemin non linéaire qui ajoute et supprime progressivement du bruit, et nécessitent souvent des dizaines, voire des centaines d'itérations. La correspondance de flux conditionnelle dans π0 utilise quant à elle un chemin de probabilité linéaire-gaussien qui relie le bruit \epsilon et l'action réelle A_t par une ligne droite (A_t^\tau = \tau A_t + (1-\tau)\epsilon). Ce chemin étant rectiligne, le champ vectoriel à apprendre est plus simple, et un petit nombre d'itérations d'intégration (10 dans π0) suffit pour atteindre l'action cible avec une précision acceptable. L'article présente cette approche comme un choix pratique pour générer des segments d'actions haute fréquence et haute dimension à une vitesse quasi temps réel.

7. En quoi π0 diffère-t-il des autres méthodes de génération d'actions VLA ?

La génération d'actions VLA peut être regroupée en trois grandes familles :

Aspect Tokenisation autorégressive (RT-2, OpenVLA) Tête de diffusion (comme Octo) Appariement de flux (π0)
Représentation de l'action Valeurs d'action discrétisées prédites comme des jetons un par un Valeurs continues générées par un processus de diffusion, conditionnées par la sortie du Transformer Valeurs continues générées par appariement de flux
Nombre d'itérations de génération Proportionnel à la longueur des segments ; les segments plus longs sont plus lents Dépend du nombre d'étapes de diffusion Un petit nombre d'étapes d'intégration ; π0 en utilise 10
Adaptabilité aux mouvements rapides et précis La discrétisation peut devenir un goulot d'étranglement Une sortie fluide est possible, mais plusieurs étapes ajoutent de la latence Génère des segments haute fréquence (jusqu'à 50 Hz) relativement rapidement
Simplicité d'implémentation Simple : étendre le vocabulaire du modèle de langage Nécessite une tête de diffusion dédiée Nécessite un expert d'actions dédié et une conception de champ vectoriel
Coût de calcul Surcharge importante liée au décodage séquentiel Modéré à élevé selon le nombre d'étapes de diffusion Relativement léger car peu d'étapes sont utilisées
Difficulté d'implémentation Relativement faible ; l'infrastructure LLM existante est réutilisable Modérée Élevée ; le partage des paramètres et la conception de la fonction de perte concernent deux types de sortie

La tokenisation autorégressive est simple à implémenter, mais le décodage séquentiel augmente la latence à mesure que le segment d'action s'agrandit. Une tête de diffusion produit des valeurs continues et lisses, mais nécessite un processus de génération en plusieurs étapes. π0 se situe entre ces deux approches : il gère les valeurs continues tout en générant l'intégralité du segment d'action en un nombre fixe et réduit d'étapes d'intégration. Du point de vue de l'apprentissage par imitation, BC (Behavior Cloning) et DAgger décrivent comment apprendre une correspondance entre l'observation et l'action, tandis que π0 est une implémentation de cette correspondance utilisant un VLM de grande taille et une tête générative dédiée. Voir « Apprentissage par imitation et apprentissage par renforcement inverse » pour les bases.

8. Difficultés rencontrées / environnements complexes

Les évaluations présentées dans l'article révèlent des tendances générales plutôt qu'une garantie universelle. Sur plusieurs tâches réelles (plier des chemises, débarrasser une table, emballer des courses et sortir du pain du grille-pain), le modèle de base pré-entraîné, sans ajustement fin, affiche des taux de réussite nettement supérieurs aux modèles de référence existants tels qu'OpenVLA et Octo. π0 est particulièrement performant sur des tâches comme le pliage de chemises, où OpenVLA et Octo sont nettement moins performants. Cependant, cette différence reflète également l'échelle et la diversité des données de pré-entraînement ; il est donc difficile d'isoler un avantage propre à la seule correspondance de flux.

L'article identifie également une limitation directe : plus une tâche est proche de celles représentées dans le pré-entraînement, plus le bénéfice est important. Les tâches très éloignées de cette distribution dépendent davantage de la qualité et de la quantité des données post-entraînement**. Pour les tâches longues et complexes, comme l'assemblage d'une boîte ou l'emballage d'œufs, le taux de réussite peut être relativement élevé, mais certains domaines restent en deçà des performances quasi parfaites observées pour les tâches plus simples à action unique.

Plus généralement, le remplissage par zéros pour l'apprentissage inter-incarnations ne s'étend pas automatiquement à un robot doté d'une configuration de degrés de liberté totalement nouvelle, absente de l'entraînement. De plus, le nombre d'étapes d'intégration pour la correspondance de flux (10) est fixe, ce qui limite la précision avec laquelle les utilisateurs peuvent optimiser le compromis vitesse-précision lors de l'inférence.

9. Comment le choisir en pratique

Pour un robot de manipulation polyvalent devant gérer de nombreuses tâches avec un seul modèle, π0 constitue un excellent point de départ : sa conception permet un comportement sans exemple et un réglage fin avec une quantité de données relativement faible. Physical Intelligence a rendu publics les poids et le code via le dépôt openpi, facilitant ainsi l'expérimentation avec un robot personnalisé.

Pour des tâches telles que plier du tissu ou verser un liquide, où le contact et la fluidité des trajectoires sont essentiels, un modèle de correspondance de flux (ou un modèle à tête de diffusion comme Octo) peut s'avérer plus adapté qu'un VLA autorégressif reposant sur des jetons d'action discrets.

Si l'objectif est uniquement d'exécuter des tâches simples de prise et de placement à faible latence, les 3,3 milliards de paramètres de π0 peuvent être excessifs. Un modèle d'imitation léger et spécifique à la tâche, tel qu'un petit réseau basé sur BC, peut offrir un meilleur compromis entre coût d'implémentation et coût d'exploitation.

Si un robot spécifique doit exécuter un ensemble fixe de tâches, l'entraînement d'un modèle plus spécialisé sur des données spécifiques à la tâche peut être plus efficace que l'utilisation d'un grand modèle pré-entraîné comme π0. Le choix entre un modèle général et un modèle spécialisé dépend de la diversité des tâches cibles et de la quantité de données pouvant être collectées.

Pour les versions plus récentes telles que π0.5, π0.6 et π0.7, le panorama plus large de l'apprentissage par imitation (VLA) et la concurrence sur le benchmark LIBERO, consultez « VLA Technology Trends ». Pour les fondements de l'apprentissage par imitation, de l'apprentissage par renforcement inverse et du problème de décalage de covariables dans BC/DAgger, consultez « Imitation Learning and Inverse Reinforcement Learning ».

10. Résumé en trois lignes

  • π0 exécute un VLM PaliGemma (3 octets) et un Action Expert dédié (300 Mo) dans les mêmes couches Transformer, générant des segments d'actions continus avec correspondance de flux conditionnelle.

Il prédit le champ vectoriel cible u = \epsilon - A_t à partir de A_t^\tau = \tau A_t + (1-\tau)\epsilon, puis utilise 10 étapes d'intégration d'Euler pour générer un segment d'action de 50 étapes lors de l'inférence. C'est la principale différence avec la tokenisation autorégressive, dont le décodage devient plus lent à mesure que le segment s'allonge.

Il est entraîné sur sept types de robots avec un remplissage de zéros et un échantillonnage pondéré, puis sépare les données de pré-entraînement diversifiées des données de post-entraînement de haute qualité afin d'équilibrer la généralité et les performances spécifiques à la tâche.

Références

Vérifiez votre compréhension
Un modèle générant des actions peut-il piloter un robot inconnu sans adaptation ?

La configuration des articulations, la représentation des actions, les observations et l'interface des données d'entraînement doivent correspondre. Le fait qu'il s'agisse d'un modèle de base n'implique pas une compatibilité sans ajustement.

What to read next

Review the backgroundIntroduction à l'apprentissage par renforcement : apprentissage par imitation et apprentissage par renforcement inverseContinue the seriesIntroduction à l'apprentissage par renforcement multi-agents — Optimisation dans un monde où l'autre camp apprend aussiExplore another aspect of this fieldIntroduction à la conception des récompenses — Pourquoi « Que maximiser » est la partie la plus difficile de l'apprentissage par renforcement