La tokenisation d’actions dans un VLA, expliquée
Comment les modèles vision-language-action convertissent le mouvement continu en tokens d’action discrets qu’un transformer peut prédire, et pourquoi ce choix plafonne la résolution.
RT-2 a appris à un modèle de langage à déplacer un bras robotique en confiant au mouvement la même machinerie que celle qu’il employait pour les mots. Chaque dimension d’action, la variation de position de la pince, la rotation, ainsi que la commande d’ouverture ou de fermeture, était normalisée puis découpée en 256 intervalles (bins). Ces bins étaient mis en correspondance avec 256 identifiants de token empruntés au vocabulaire propre du modèle. Le bras bougeait parce que le transformer prédisait le token suivant, exactement comme il terminerait une phrase.
Ce tour de passe-passe se trouve sous la plupart des modèles vision-language-action (VLA) actuels. Un transformer s’exprime en tokens discrets tirés d’un vocabulaire fixe. Un robot s’exprime en nombres continus : angles articulaires, vitesses de l’effecteur terminal, forces de la pince, qui arrivent des dizaines à des centaines de fois par seconde. Quelque chose doit traduire entre les deux, et ce quelque chose, c’est le tokenizer d’actions. On le prend volontiers pour de la simple tuyauterie. Il n’en est rien.
Le tokenizer fixe le plafond de résolution de tout ce qui se trouve en aval. Il détermine quelle part d’une démonstration survit au trajet vers le modèle puis retour vers les moteurs, et il détermine quelles tâches le modèle est seulement capable de représenter. Un schéma qui fonctionne proprement sur des opérations de préhension-dépose lentes sur table peut se déliter en silence sur de la manipulation rapide et riche en contacts. L’ingénierie intéressante est dans le pourquoi.
Le tokenizer est un contrat avec pertes
Retirez l’habillage et chaque tokenizer d’actions répond aux quatre mêmes questions. Comment des valeurs continues deviennent-elles des symboles discrets ? Comment plusieurs degrés de liberté sont-ils empaquetés ensemble ? Comment un flux qui arrive à 50 Hz devient-il une séquence de tokens qu’un transformer tolérera ? Et comment inverser tout cela pour retrouver un mouvement fluide ?
La réponse par défaut est le binning uniforme. Prenez chaque dimension d’action, écrêtez-la à une plage raisonnable, puis quantifiez-la en N bins, couramment 256 pour qu’un bin tienne dans un octet. RT-2 et, plus tard, le modèle open-source OpenVLA ont réutilisé des entrées rarement employées dans la table de tokens du modèle de langage lui-même pour ces bins, ce qui leur a permis d’affiner un VLM préentraîné sans faire grossir le vocabulaire. Un pas de temps d’un bras à 7 DoF devient sept tokens. Une courte trajectoire en devient quelques dizaines. Le modèle s’entraîne avec la même perte d’entropie croisée sur le token suivant qu’il a toujours utilisée.
C’est élégant, et c’est avec pertes à dessein. La quantification jette la précision inférieure au bin. Réutiliser des tokens de langage signifie que la géométrie de l’espace d’action, le fait que le bin 128 se situe entre 127 et 129, n’est encodée nulle part où le modèle puisse la voir ; il doit réapprendre l’ordre à partir des données. Pour des tâches grossières et lentes, rien de tout cela ne fait grand mal. Montez la fréquence de contrôle et cela commence à peser.
Un tokenizer est un contrat avec pertes entre une physique continue et un modèle discret. Tout ce qu’il écarte au moment de la capture, la policy ne pourra jamais apprendre à le reproduire.
Pourquoi le binning se casse quand les mains vont vite
Voici le mode de défaillance qui a surpris bien des gens. Échantillonnez une démonstration de manipulation dextre à haute fréquence et les actions consécutives se ressemblent presque à l’identique, car en dix millisecondes une main bouge à peine. Le binning par pas de temps transforme cela en longues séries de tokens quasi répétés. Un modèle autorégressif entraîné sur ces données découvre la stratégie la moins coûteuse possible : prédire que le token suivant est égal au précédent. L’information marginale par token est minuscule, la perte a l’air correcte, et la policy apprend à caler.
Physical Intelligence s’est heurtée à exactement ce mur en entraînant des policies à haute fréquence, et y a répondu avec FAST, un tokenizer dans l’espace fréquentiel. Au lieu de binner les échantillons bruts, FAST prend un chunk de la trajectoire d’action, applique une transformée en cosinus discrète, conserve les coefficients qui portent un signal réel, puis code le résultat par paires d’octets. Un chunk fluide se réduit à une courte chaîne de tokens dense, avec la redondance essorée. Cela a permis à un VLA autorégressif, leur gamme pi0-FAST, de s’entraîner sur des données dextres que le binning simple ne pouvait pas contenir. La leçon se généralise : le bon token n’est pas un échantillon brut, c’est une description compressée d’un mouvement.
L’autre voie, les têtes d’action continues
Tous les VLA ne tokenisent pas les actions. Une deuxième famille contourne la discrétisation et greffe une tête générative continue sur la sortie du transformer. Le pi0 de Physical Intelligence utilise un expert d’action par flow-matching ; le GR00T N1 de NVIDIA associe un tronc vision-langage à une tête d’action de type diffusion-transformer ; le Gemini Robotics de Google DeepMind fait tourner un VLA qui émet des commandes continues de bas niveau. Dans les trois cas, le transformer produit un latent, et une petite tête échantillonne un chunk d’actions continues conditionné dessus.
Le gain, c’est l’absence d’erreur de quantification et une sortie fluide à haute fréquence de contrôle. Le prix, c’est que vous renoncez à la perte autorégressive propre à vocabulaire unique, et qu’échantillonner une tête de diffusion ou de flow est itératif, ce qui coûte un temps d’inférence qu’il faut ensuite regagner par l’ingénierie. C’est la bifurcation de conception bien vivante dans les VLA en ce moment : compresser le mouvement en tokens discrets que le transformer prédit directement, ou le garder continu et payer pour un échantillonneur séparé. Les deux sont livrés dans des systèmes sérieux, et le choix interagit davantage avec vos données qu’avec votre modèle.
Quatre schémas, côte à côte
Les options sont plus faciles à peser les unes à côté des autres. Le tableau ci-dessous esquisse là où chaque représentation justifie sa place et ce qu’elle coûte.
| Schéma | Comment le mouvement devient sortie | Atout | Coût principal |
|---|---|---|---|
| Binning uniforme par dimension (RT-2, OpenVLA) | Chaque dimension quantifiée en environ 256 bins mis en correspondance avec des identifiants de token de langage réutilisés | Simple ; réutilise le vocabulaire et la perte préentraînés | Erreur de quantification ; se dégrade à haute fréquence de contrôle |
| Tokenisation dans l’espace fréquentiel (pi0-FAST) | DCT sur un chunk d’action, puis codage par paires d’octets des coefficients conservés | S’entraîne de façon autorégressive sur des données rapides et dextres | Étape d’encodage et de décodage supplémentaire ; compression à régler |
| Codebook à quantification vectorielle apprise | Segments d’action mis en correspondance avec des entrées d’un codebook discret appris | Vocabulaire compact et adaptatif aux données | Effondrement du codebook ; nécessite des données représentatives |
| Tête de diffusion ou de flow continue (pi0, GR00T N1) | Une petite tête échantillonne des chunks d’action continus à partir d’un latent de transformer | Aucune erreur de quantification ; sortie fluide à haute fréquence | Échantillonnage itératif ; pas de perte autorégressive unique |
Là où les tokenizers fuient
Deux écueils pratiques décident si tout cela survit au contact d’une vraie flotte. Le premier est la normalisation. Les bornes des bins sont fixées à partir des statistiques des données d’entraînement, si bien qu’une policy entraînée sur les plages d’action d’un robot se décalibrera en silence sur un autre dont la portée ou la course de pince diffère. Des agrégations comme Open X-Embodiment, qui a mis en commun des démonstrations issues de nombreux corps de robots, et de grands ensembles de téléopération comme DROID existent en partie pour forcer les tokenizers à généraliser à travers ces plages plutôt qu’à surapprendre un seul bras.
Le second est le chunking. Prédire un pas à la fois cumule l’erreur et inonde la séquence de cette redondance qui casse le binning. La plupart des systèmes actuels prédisent d’un coup un court chunk d’actions futures, ce qui réduit la dérive cumulative et donne au tokenizer un segment qui vaut la peine d’être compressé. Des boîtes à outils ouvertes comme LeRobot de Hugging Face intègrent désormais directement ces tokenizers et ces têtes d’action par chunk, ce qui transforme ce qui était autrefois une décision de recherche en un choix de configuration. C’est bon pour la vélocité et légèrement dangereux : les valeurs par défaut encodent des hypothèses sur la fréquence et le corps du robot qui peuvent ne pas correspondre au vôtre.
La variable silencieuse
La tokenisation d’actions fait rarement la une quand un nouveau VLA sort, et elle le devrait. C’est la couche où les ambitions d’un modèle rencontrent la résolution de ses données, et c’est le premier endroit où un système cesse de pouvoir faire quelque chose qu’il n’a jamais été capable de représenter. Surveillez-la la prochaine fois qu’un laboratoire rapporte un bond sur des tâches dextres. Le nouveau tour n’est souvent pas un cerveau plus gros. C’est une meilleure façon de consigner ce que les mains ont fait.