← Derniers articles
🤖 machine learning

Pipeline-Native Transformers: Co-Designing Model Architecture and CPU Inference for Bandwidth-Efficient Autoregressive Decode

Cet article présente cflow, un moteur de streaming priorisant le CPU et co-conçu avec des architectures transformer natives en pipeline pour surmonter les goulots d'étranglement de la bande passante mémoire lors du décodage autorégressif à jeton unique, atteignant jusqu'à une réduction de 2,00x de la bande passante des poids sur le chemin critique et 5,94 jetons/s sur un serveur à 32 vCPU en utilisant le titrage de poids de taille L2, la sélection d'experts top-k et le chevauchement d'E/S asynchrone.

Auteurs originaux : Tom Poperszky

Publié 2026-08-26
📖 6 min de lecture🧠 Analyse approfondie

Auteurs originaux : Tom Poperszky

Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète

Dans le monde de l'intelligence artificielle, les programmes informatiques les plus puissants sont souvent décrits comme possédant un « cerveau » composé de milliards de minuscules interrupteurs. Ces interrupteurs, ou poids, sont stockés dans la mémoire principale de l'ordinateur, comme des livres sur l'étagère d'une vaste bibliothèque. Pour faire une prédiction ou générer un seul mot de texte, l'ordinateur doit aller chercher les bons livres sur l'étagère, les lire et effectuer un calcul. Pendant des années, les ingénieurs ont supposé que la vitesse de ces calculs était le facteur limitant, croyant que s'ils parvenaient simplement à faire réfléchir le processeur plus vite, le programme s'exécuterait plus rapidement. Cependant, une nouvelle ligne de recherche suggère que cette supposition est erronée pour la manière la plus courante dont ces programmes sont utilisés : la génération d'un mot à la fois. Dans ce mode spécifique, le processeur n'attend pas que son cerveau réfléchisse ; il attend que la mémoire livre les données. Le processeur est si rapide qu'il passe la majeure partie de son temps à rester inactif, fixant une étagère vide, en attendant l'arrivée du prochain livre. Cela crée un goulot d'étranglement où la vitesse de l'ensemble du système est dictée non pas par la rapidité avec laquelle l'ordinateur peut calculer, mais par la rapidité avec laquelle il peut déplacer les données de l'étagère de la mémoire vers le processeur.

Un chercheur nommé Tom Poperszky a abordé ce problème en réalisant que la façon standard d'organiser ces « livres » sur l'étagère avait été conçue pour un type d'ordinateur totalement différent. La plupart des modèles d'IA modernes ont été construits pour fonctionner sur des puces graphiques spécialisées, qui sont excellentes pour lire de nombreux livres à la fois. Lorsque ces modèles sont exécutés sur des processeurs d'ordinateurs standards, l'ancienne organisation force le processeur à perdre du temps en sautant d'un endroit à l'autre sur l'étagère, récupérant des données dans un ordre chaotique que le matériel ne peut pas prédire. Les travaux de Poperszky proposent une solution radicale : au lieu de forcer les anciens modèles à mieux fonctionner sur le nouveau matériel, il a redessiné à la fois le modèle et le logiciel qui l'exécute pour qu'ils travaillent ensemble dès la conception. Il a créé une nouvelle façon de stocker les données du modèle dans de petits blocs ordonnés qui s'insèrent parfaitement dans l'espace de travail immédiat du processeur, et il a réécrit les instructions internes du modèle pour qu'il puisse lire ces blocs selon une ligne continue et fluide sans jamais s'arrêter pour attendre.

Le cœur de cette nouvelle approche est un système appelé cflow, qui agit comme un bibliothécaire hautement efficace pour l'ordinateur. Dans une configuration standard, lorsqu'un ordinateur a besoin de générer un mot, il doit souvent charger l'ensemble des instructions d'une partie spécifique du modèle, même s'il n'en a besoin que d'une infime fraction. C'est comme ouvrir une encyclopédie entière pour trouver un seul fait. Le système de Poperszky change cela en organisant les données en petits carreaux, de la taille approximative d'une page unique, et en les stockant exactement dans l'ordre dont l'ordinateur aura besoin. Lorsque l'ordinateur demande la pièce d'information suivante, le système fait glisser le carreau suivant en place instantanément, maintenant le processeur occupé. De plus, pour les modèles qui utilisent un « mélange d'experts » — une technique où le modèle choisit quelques sous-programmes spécialisés pour chaque tâche — le nouveau système ne charge que les sous-programmes spécifiques nécessaires à cet instant précis, laissant le reste sur l'étagère. Cela élimine le gaspillage lié au chargement de milliers d'instructions inutilisées pour chaque mot généré.

Pour faire fonctionner ce système, le chercheur a dû modifier l'architecture même du modèle. Les modèles standards sont construits comme une chaîne de montage stricte où une étape doit se terminer complètement avant que la suivante ne commence. Cette structure force l'ordinateur à attendre la fin de toute la ligne avant de pouvoir commencer la lecture de l'ensemble d'instructions suivant. Poperszky a redessiné le modèle pour permettre un « pipeline vertical », où l'ordinateur peut commencer à lire les instructions de l'étape suivante pendant qu'il termine encore l'actuelle. Cela n'est possible que parce que le modèle a été entraîné pour accepter une version légèrement différée de l'information de l'étape précédente, un changement qui causerait des erreurs dans un modèle standard mais qui fonctionne parfaitement dans ce nouveau design. En entraînant cinq versions différentes de ces modèles redessinés, le chercheur a découvert qu'une configuration spécifique pouvait réduire de moitié la quantité de données que l'ordinateur devait déplacer. Cette réduction du mouvement de données se traduit directement par de la vitesse, car l'ordinateur passe moins de temps à attendre et plus de temps à travailler.

Les résultats de cette co-conception ont été mesurés sur du matériel réel, révélant un avantage clair sur les logiciels existants. Sur un serveur informatique standard, le nouveau système générait du texte à un rythme de près de six mots par seconde, surpassant les meilleures alternatives disponibles qui ne parvenaient qu'à environ quatre mots et demi par seconde sur la même machine. Cette amélioration n'était pas seulement un calcul théorique ; c'était un gain de vitesse réel obtenu en réduisant le nombre de fois où la mémoire de l'ordinateur devait être sollicitée. L'étude a également testé plusieurs autres idées, comme l'utilisation d'instructions explicites pour dire à l'ordinateur où chercher les données ensuite. Étonnamment, les tests ont montré que ces instructions n'ont pas aidé et ont même parfois ralenti le système, car le propre matériel de l'ordinateur faisait déjà un meilleur travail pour deviner ce qui était nécessaire ensuite. Cette découverte est cruciale, car elle écarte une technique d'optimisation courante et confirme que le véritable gain provient de la réorganisation fondamentale des données et du modèle.

La recherche a également exploré comment ces changements tiendraient compte de l'augmentation de la taille des modèles. L'analyse suggère que, bien que l'accélération soit significative pour les modèles testés, les bénéfices spécifiques dépendent de la taille du modèle et du type d'ordinateur utilisé. Pour les modèles très larges, le goulot d'étranglement pourrait se déplacer à nouveau, mais le principe demeure : en alignant la structure du modèle avec la manière dont l'ordinateur lit la mémoire, il est possible de débloquer des vitesses auparavant jugées impossibles sur les processeurs standards. Ce travail démontre que les limites de l'intelligence artificielle actuelle sur les ordinateurs ordinaires ne sont pas des lois physiques fixes, mais des choix de conception qui peuvent être modifiés. En traitant le modèle et l'environnement d'exécution comme un système unique et unifié plutôt que comme deux pièces séparées, il est possible de créer un système qui déplace les données avec l'efficacité d'une bibliothèque bien organisée, permettant à l'ordinateur de réfléchir à la vitesse de son propre matériel. Cette approche offre une voie claire pour faire fonctionner une IA puissante sur des appareils sans puces spécialisées, rendant l'intelligence avancée plus accessible et réactive dans le monde réel.

Noyé(e) sous les articles dans votre domaine ?

Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.

Essayer Digest →