Exécuter un VLA en temps réel : le problème de la latence d’inférence

Une politique de contrôle doit agir plus vite que le monde ne change, or un grand VLA a besoin de plus de 100 ms par passe avant. Les techniques qui comblent l’écart en temps réel.

10 min de lecture

Un humanoïde qui tend la main vers une tasse en train de tomber n’a pas droit à un cinquième de seconde de réflexion. La tasse bouge, le contact approche, et la main doit arriver avant que la physique ne se conclue sans elle. Le contrôleur d’un robot vit au rythme d’une horloge : il doit émettre une nouvelle commande toutes les quelques dizaines de millisecondes, sans fin, sinon le mouvement se déchire. Cette contrainte n’apparaît presque jamais dans une vidéo de démonstration, et c’est pourtant elle qui décide si une politique passe en production.

Voici la tension. Les politiques de manipulation les plus performantes d’aujourd’hui sont de grands modèles vision-language-action : des transformers de plusieurs milliards de paramètres qui lisent des images de caméra et une instruction en langage naturel, puis renvoient des commandes moteur. Une seule passe avant à travers l’un d’eux prend un temps réel et mesurable, souvent de l’ordre de 100 millisecondes sur le matériel de déploiement. Le monde, pendant ce temps, continue de changer à des dizaines de hertz. Faites tourner le modèle naïvement, une fois par pas de contrôle, et le robot bégaie : il attend, agit sur une perception périmée, attend de nouveau.

Combler cet écart n’est pas une astuce unique mais tout un empilement d’astuces, et chacune laisse une empreinte sur les données qu’il faut collecter. La latence est habituellement classée sous l’ingénierie système, mais ses correctifs remontent jusqu’à la manière dont une démonstration doit être enregistrée dès le départ.

L’horloge que le robot ne peut pas manquer

Commençons par les chiffres, en gros. Un contrôleur de manipulation dextre veut se mettre à jour quelque part entre 30 et 200 Hz, selon la tâche et le matériel. Disons 50 Hz pour un système de bureau à deux bras : une nouvelle cible toutes les 20 millisecondes. Une passe avant d’un grand VLA sur un GPU embarqué est bien plus lente, couramment 50 à 200 millisecondes une fois qu’on compte l’encodeur visuel, le backbone langagier et le décodeur d’actions. Même dans l’hypothèse optimiste, le modèle prend une décision dans le temps où le contrôleur en voulait cinq.

On ne peut pas simplement faire tourner le contrôleur plus lentement. Ramenez une boucle de manipulation à 5 Hz et le mouvement riche en contacts s’effondre : la pince dépasse sa cible, les pics de force restent non corrigés, tout ce qui est dynamique devient sans espoir. La vraie question n’est donc jamais de rendre une passe avant instantanée. C’est de savoir comment garder une boucle de contrôle rapide alimentée par un modèle lent, sans que l’un attende l’autre. Chaque technique ci-dessous est une réponse à cela.

Le découpage en blocs d’actions fait gagner du temps

Le premier geste, et le plus important, consiste à cesser de demander une seule action au modèle. La politique prédit plutôt un court horizon d’actions futures en une seule passe, un bloc, et le contrôleur déroule ce bloc pas à pas pendant que l’inférence suivante s’exécute. Si une passe avant produit une demi-seconde de mouvement à 50 Hz, cela fait vingt-cinq commandes pour une seule réflexion. La latence du modèle est amortie sur tout le bloc au lieu de bloquer chaque pas. C’est pourquoi presque tous les VLA sérieux, dont la lignée π0 de Physical Intelligence, prédisent des blocs plutôt que des pas.

Un bloc reste toutefois un pari sur l’avenir. Plus l’horizon est long, plus le robot agit en boucle ouverte, exécutant un plan tiré d’une perception désormais périmée. Engagez-vous sur un bloc trop long et la politique cesse de réagir : elle ira au bout d’une préhension sur une tasse qui a déjà bougé. Trop court, et vous revoilà à payer le péage de la latence tous les quelques pas. La longueur du bloc est un arbitrage direct entre réactivité et calcul, ajusté selon la tâche.

Une politique qui pense par à-coups et agit en boucle ouverte entre deux ne peut valoir mieux que les données enregistrées assez vite, et horodatées assez précisément, pour superviser chacun des pas qu’elle franchira seule.

L’inférence asynchrone et la couche réflexe

Le découpage en blocs, à lui seul, laisse encore une couture. Quand un bloc se termine, le suivant doit être prêt, et si l’inférence est lente, le robot soit s’arrête, soit tressaute au moment où un nouveau plan écrase l’ancien. L’inférence asynchrone masque cette couture : le bloc suivant est calculé en arrière-plan pendant que le bloc courant s’exécute, et les deux sont fondus à la frontière pour que le basculement soit continu plutôt qu’un saut. Physical Intelligence a décrit exactement ce type de découpage en temps réel, générant la séquence d’actions suivante avant que la courante ne s’épuise, afin que le robot ne cale jamais en attendant le cerveau.

Une deuxième réponse structurelle consiste à scinder le modèle selon la vitesse. L’Isaac GR00T de NVIDIA s’articule autour d’une conception à deux systèmes vaguement empruntée à la cognition humaine : un System 2 plus lent, un modèle vision-langage qui raisonne sur la scène et l’objectif, et un System 1 plus rapide qui transforme cette intention en mouvement à haute fréquence. La moitié lente tourne à quelques hertz ; la moitié rapide tourne à la fréquence de contrôle. Google DeepMind a poussé le même instinct jusqu’à la périphérie avec une version embarquée de Gemini Robotics, un modèle plus petit qui s’exécute localement pour que la chaîne perception-action ne fasse jamais l’aller-retour vers un serveur. Le schéma se répète d’un laboratoire à l’autre : laisser un modèle lourd fixer la direction de temps en temps, et un modèle léger gérer les réflexes de milliseconde en milliseconde.

Réduire le modèle : distillation et quantification

L’autre moitié de la boîte à outils s’attaque à la passe avant elle-même, et deux techniques dominent.

La distillation entraîne une petite politique élève à imiter un grand VLA enseignant. Le gros modèle génère ou note des comportements ; le modèle compact apprend à les reproduire pour une fraction des paramètres et de la latence. On cède une part de la généralité de l’enseignant contre une politique qui tient dans le budget de calcul du robot et atteint la fréquence de contrôle. La quantification conserve le même réseau mais rétrécit ses nombres, des flottants 16-bit vers des entiers 8-bit voire 4-bit, réduisant le trafic mémoire et accélérant les multiplications de matrices qui dominent l’inférence. Faite avec soin, elle ne coûte guère de précision ; faite sans soin, elle érode précisément la finesse motrice dont une politique de manipulation a le plus besoin.

Ni l’une ni l’autre n’est gratuite, et toutes deux interagissent avec tout ce qui précède. Une politique réflexe distillée est plus facile à exécuter de façon asynchrone, mais ne planifie de façon fiable qu’un horizon plus court. Un modèle quantifié est plus rapide mais plus bruité, ce qui relève l’exigence de propreté de ses données d’entraînement. L’essentiel de ce qui est publié sur ces compromis se trouve dans la littérature robotique plutôt que sur des pages produit, et cela évolue vite.

Techniques pour exécuter un grand VLA dans un budget de contrôle en temps réel, et ce que chacune coûte
TechniqueGain de latenceCoût principal
Découpage en blocs d’actionsAmortit une passe avant sur de nombreux pas de contrôlePéremption en boucle ouverte ; moins réactif à mesure que l’horizon s’allonge
Inférence asynchroneSupprime la pause entre les blocsLogique de fusion ; le cadencement doit être serré
Cerveau lent plus réflexe rapideLa boucle rapide n’attend jamais le VLMDeux modèles à entraîner et à garder synchronisés
DistillationL’élève, plus petit, tourne à la fréquence de contrôlePerd une part de la généralité de l’enseignant
Quantification (int8 ou int4)Calcul matriciel moins coûteux et plus rapideLa perte de précision peut nuire à la manipulation fine

La latence est aussi un problème de données

Vient maintenant le fil conducteur. Chacun de ces correctifs présuppose quelque chose des données qui le sous-tendent, et le plus souvent la même chose : les démonstrations ont été enregistrées vite, densément, et avec un cadencement exact.

Le découpage en blocs en est le cas le plus net. Pour entraîner une politique à émettre une demi-seconde d’action à 50 Hz, la démonstration doit contenir cette demi-seconde à 50 Hz. Les actions sont supervisées pas à pas, si bien qu’un bloc de vingt-cinq commandes exige vingt-cinq cibles de vérité terrain échantillonnées à la fréquence à laquelle le robot tournera. Capturez la même tâche à 10 Hz et il n’y a aucun signal à 50 Hz à apprendre : la correction fine entre deux échantillons n’a jamais été enregistrée, et aucune interpolation ne l’invente. La fréquence de contrôle que vous visez au déploiement fixe un plancher à la fréquence de capture qu’il vous fallait à la collecte.

La fusion asynchrone ajoute une exigence de cadencement. Si les données portent une latence instable ou inconnue entre une image de caméra et l’action consignée en regard, la politique apprend une correspondance floue, et l’assemblage des blocs en temps réel amplifie ce flou. La distillation et la quantification ajoutent une exigence de qualité : un élève plus petit ou de précision moindre a moins de marge pour moyenner le bruit, il lui faut donc des démonstrations plus propres et plus cohérentes pour atteindre la même fiabilité. Des données plus rapides, plus serrées et mieux cadencées ne sont pas un luxe pour le contrôle en temps réel. Elles en sont la condition préalable.

La latence, au bout du compte, n’est pas une note de bas de page au modèle. C’est la discipline que le monde physique lui impose. Un VLA qui éblouit hors ligne ne vaut rien s’il ne sait pas répondre dans la fenêtre que la tâche autorise, et chaque méthode qui lui gagne cette fenêtre, des horizons découpés en blocs aux réflexes distillés, revient exiger des données enregistrées plus vite et cadencées plus serré que le robot ne bougera jamais. Les modèles ne cesseront d’accélérer. La question plus difficile, et plus discrète, est de savoir si l’enregistrement dont ils ont appris était assez rapide au départ.

vlareal-time-controlinferenceaction-chunkingdeployment

Sources