La technologie qui a rendu possible la compréhension des conversations humaines est maintenant appliquée à la robotique, afin de développer des algorithmes qui contrôlent mieux les mouvements et déclenchent des séries de règles pour l’exécution de tâches essentielles.
À présent, les robots interagissent non seulement avec leurs opérateurs, mais aussi avec le public. L’IA générative a le potentiel de révolutionner la simplicité d’utilisation, car elle crée les conditions du contrôle vocal et d’un feedback en langage naturel. Par exemple, un concierge mobile dans un hôtel ou un hôpital peut guider les gens ou livrer des repas. La communication vocale embarquée permet aux clients de poser des questions et d’obtenir des réponses précises. De même, dans les grandes infrastructures de transport, des robots peuvent guider des malvoyants.
Dans les applications industrielles, telles que le soudage et la fixation, le robot peut obéir à des commandes vocales et indiquer clairement s’il les a comprises. Ces commandes peuvent demander au robot de déplacer une plaque lourde, de procéder au soudage et à la pose de fixations, puis de l’installer à l’endroit voulu. Dans un environnement médical, un robot peut fournir à un docteur les instruments voulus sans rompre le champ stérile, car il évite de toucher un écran ou un clavier.
La plupart des systèmes modernes de communication vocale à des fins commerciales utilisent le cloud pour fournir leurs services. Très souvent, les applications robotisées ne tolèrent pas la latence propre à ces services. De plus, certaines opérations industrielles et agricoles peuvent être éloignées d’un point de connexion haut débit. Ces situations exigent l’implémentation de modèles d’IA très performants qui s’exécutent sur des cibles embarquées.
Jusqu’à présent, l’exécution locale de modèles d’IA était considérée comme onéreuse et gourmande en énergie. Mais tout a changé. En utilisant le processeur d’applications NXP i.MX95, Tria a développé des systèmes pour démontrer comment l’IA générative conversationnelle peut être portée sur une plateforme matérielle basse puissance et éviter les coûts élevés, tant en termes d’énergie que financiers, d’un GPU dédié. Le processeur d’applications i.MX95 utilise un module intégrant un processeur multi-cœurs ARM, un processeur graphique (GPU) et l’accélération d’IA basée sur l’unité NXP eIQ Neutron, ainsi que plusieurs contrôleurs hautes performances d’E/S et de mémoire.
Lors de l’implémentation de l’IA dans une application intégrée, il est important de sélectionner des modèles qui offrent le meilleur équilibre en termes de puissance, d’utilisation de la mémoire et de précision. En principe, les modèles d’IA générative sont utilisables de bout en bout. Mais dans de nombreux cas, cela est superflu. Les ingénieurs de Tria ont essayé de multiples possibilités pour les différentes parties du pipeline de communication vocale.
Ce pipeline commence par la détection des commandes humaines. Cette partie doit être confiée à un algorithme ou modèle optimisé pour une faible consommation, car il s’exécute fréquemment, afin que le robot ne manque pas de commandes importantes. La solution la plus simple pour ce faire consiste à utiliser un algorithme de détection de puissance audio. Cette approche compare le signal du microphone aux niveaux de bruit de fond. Si cette méthode est relativement basique, le nombre de faux positifs reste néanmoins gérable. Toutefois, le modèle Silero de détection d’activité vocale, dont l’architecture est basée sur un réseau de neurones convolutifs (CNN), offre une qualité exceptionnelle et ne nécessite pas beaucoup de traitements.
Concernant la sortie, l’équipe a réalisé que le modèle de synthèse vocale Piper offrait également d’excellentes performances vocales compte tenu de sa taille, de son processeur et de l’utilisation de la mémoire. L’IA générative produit les meilleurs résultats entre ces deux phases. La technologie qui est derrière la plupart des outils d’IA générative a été développée pour traiter le langage naturel. Les LLM (grands modèles de langue) exploitent la nature statistique du langage humain, ainsi que ses aspects répétitifs et prévisibles. Les mots et les phrases sont convertis en jetons qui sont ensuite mis en correspondance avec un espace vectoriel multidimensionnel de façon à rapprocher les éléments similaires. Cela explique en partie pourquoi ces modèles sont si efficaces pour la traduction.
Un LLM combine l’embedding vectoriel en utilisant un réseau neuronal basé sur des structures de type Transformer. Cela fait appel au concept d’attention pour identifier les connexions apparentes entre les jetons, afin d’aider l’IA à générer des résultats cohérents. L’un des grands avantages du processus d’entraînement est que la phase de calcul et consommation intensifs des données, appelée pré-entraînement, ne nécessite pas d’étiquetage des données. Le processus d’entraînement laisse le modèle identifier librement les connexions entre les mots. Une deuxième phase, dite d’ajustement fin, est tout aussi importante. Elle a recours à des données étiquetées pour optimiser le modèle pré-entraîné d’une tâche donnée. Avec le modèle Whisper d’OpenAI, cette tâche est comparable à une dictée réalisée en langage naturel. Entraîné à partir de plus d’un demi-million d’heures d’énoncés multilingues, avec un corpus représentant de nombreux types de tâches, le modèle open source Whisper gère efficacement le bruit et les accents, et peut traiter de nombreuses formes d’énoncés techniques. La taille relativement modeste de Whisper, associée à des optimisations de la performance et de la mémoire, permet de l’utiliser dans des appareils embarqués.
Pour les applications conversationnelles, l’équipe de Tria a opté pour le traitement quantifié, afin de réduire la surcharge de calcul du modèle. Les développeurs entraînent et implémentent généralement les modèles d’IA cloud en utilisant l’arithmétique à virgule flottante. Mais des processeurs tels que l’i.MX95 prennent en charge les pipelines d’arithmétique parallélisée qui reposent sur des entiers courts.
En convertissant les paramètres à virgule flottante en entiers de 8 bits, il devient possible d’accélérer radicalement les opérations et d’économiser la mémoire et la bande passante, ce qui se traduit également par une faible consommation. La quantification en entiers 8 bits ramène le temps de traitement de 10 secondes à 1,2 secondes. Afin de s’adapter aux commandes courtes propres aux applications de robotique, l’équipe a également réduit la longueur du contexte audio en le faisant passer de 30 secondes à moins de 2 secondes.
L’interprétation du texte produit par Whisper pose un problème plus complexe et nécessite un modèle plus grand et adapté à l’application. Les LLM capables de comprendre le texte suffisamment bien pour le convertir en commande de robot peuvent exiger un nombre de paramètres de l’ordre du milliard, même s’il est possible d’en réduire la taille avec un réglage fin minutieux. Pour ce projet conversationnel, Tria a évalué les modèles open source Qwen et Llama3, en commençant par leur version à plusieurs milliards de paramètres. L’un des facteurs clés est le nombre de jetons que ce type de modèle peut générer par seconde. Par exemple, la version à 500 millions de paramètres de Qwen fonctionne deux fois plus vite que la version à un milliard sur une plateforme de type i.MX.
Un modèle de 500 millions de paramètres peut fournir une fonctionnalité raisonnable lorsqu’il est associé à un réglage fin bien ciblé. Ce processus peut, par exemple, optimiser le modèle en fonction des types de paires commandes/réponses prévisibles pour un robot. Les développeurs peuvent utiliser un LLM basé sur un serveur pour générer de façon synthétique la plupart des données étiquetées. Cela permet d’économiser beaucoup de temps par rapport à la génération et l’étiquetage manuel.
Afin de faciliter l’intégration sur la cible basée sur Yocto, l’équipe a opté pour une architecture conçue autour d’une machine à état avec un courtier MQTT servant à transférer les messages entre les différents modèles et les autres composants du système, tels que l’entrée de la caméra et un avatar 3D implémenté à l’aide du GPU intégré. Afin d’assurer un fonctionnement fiable, un thread de surveillance s’exécutant sur le processeur vérifie si la dictée s’est terminée pendant le temps imparti et génère la phrase « Pouvez-vous répéter ? » si ce n’est pas le cas.
L’IA générative conversationnelle n’est qu’un début. Des LLM multimodaux plus avancés sont actuellement utilisés dans le cadre de projets de recherche, afin d’entraîner des robots qui déplacent et manipulent plus finement des objets. Les équipes de R/D expérimentent l’apprentissage renforcé associé à des modèles multimodaux pour surmonter les limitations des algorithmes de contrôle prédictif des modèles traditionnels. D’autres modèles fondamentaux portant sur les compétences de raisonnement permettront aux robots de se déplacer sans dépendre de cartes, de prendre des décisions autonomes et de mettre en place des stratégies cohérentes pour réaliser des tâches à partir de politiques de bas niveau existantes.
L’optimisation de ces modèles permettra de les exécuter sur les plateformes basse consommation du futur. Mais en attendant, les concepteurs de robots ont accès à des méthodes qui permettent de simplement dire à un robot ce qu’il doit faire et de voir immédiatement s’il a compris la tâche qui lui est demandée