← Derniers articles
🤖 apprentissage automatique

Accelerating Offloading-Based MoE Inference by Interleaving Concurrent Requests

Le document présente Bevy, un système d'inférence MoE qui surpasse les méthodes de préchargement traditionnelles en employant un ordonnanceur auto-équilibré pour entrelacer les requêtes concurrentes, permettant ainsi de superposer la récupération des experts avec le calcul sans dépendre de prédictions imprécises.

Auteurs originaux : Hongseung Yu, In Gim, Kyunghan Lee, Lin Zhong

Publié 2026-11-04
📖 7 min de lecture🧠 Analyse approfondie

Auteurs originaux : Hongseung Yu, In Gim, Kyunghan Lee, Lin Zhong

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 bourdonnement discret d'un ordinateur personnel, une nouvelle forme d'intelligence prend racine. Les grands modèles de langage, les moteurs derrière les chatbots modernes et les assistants d'écriture, passent de plus en plus des centres de données massifs aux machines locales comme les ordinateurs de bureau et les stations de travail. Ce passage permet aux utilisateurs d'utiliser ces outils puissants sans dépendre d'Internet, mais il introduit une contrainte physique : la mémoire de l'ordinateur est limitée. Pour faire tenir ces modèles, les chercheurs utilisent une technique appelée « mélange d'experts » (mixture of experts). Imaginez une vaste bibliothèque de connaissances où, pour chaque question posée, seuls quelques livres spécifiques sont retirés de l'étagère pour être lus, tandis que les autres restent intacts. Cela permet de maintenir un travail rapide et efficace. Cependant, sur un appareil personnel, même les « quelques livres » nécessaires pour un instant donné peuvent ne pas tous tenir dans la mémoire active de l'ordinateur à la fois. Quand l'ordinateur a besoin d'un livre qui n'est pas là, il doit interrompre sa réflexion pour aller le chercher sur un lecteur de stockage plus lent, laissant le processeur inactif et en attente.

Pendant des années, la solution standard à ce jeu de l'attente a été la prédiction. Le système essaie de deviner quels livres seront nécessaires ensuite et les récupère à l'avance pendant que le processeur travaille sur la tâche actuelle. C'est comme un bibliothécaire qui, pendant que vous lisez un chapitre, retire discrètement les chapitres suivants les plus probables de l'étagère afin qu'ils soient prêts lorsque vous tournerez la page. Mais une équipe de chercheurs de l'Université Nationale de Séoul et de l'Université de Yale a découvert que cette stratégie échoue souvent lorsque l'ordinateur conserve déjà un petit cache de livres dans sa mémoire active. À mesure que ce cache se remplit avec les livres les plus utiles, les suppositions du bibliothécaire deviennent moins précises, gaspillant du temps et de la bande passante pour récupérer des livres qui ne seront jamais ouverts. Au lieu d'essayer de deviner l'avenir, les chercheurs ont trouvé une meilleure façon : simplement laisser le travail se dérouler dans un ordre différent. En permettant à différentes requêtes d'avancer à leur propre rythme, le système peut révéler exactement ce qui est nécessaire ensuite sans deviner, transformant le temps d'attente improductif en travail productif.

Les chercheurs, dirigés par Hongseung Yu et Kyunghan Lee, ont construit un nouveau système appelé Bevy pour tester cette idée. Ils ont observé que lorsque plusieurs requêtes sont envoyées au modèle en même temps — par exemple, un utilisateur demandant une révision de code tandis qu'une autre partie du logiciel vérifie un e-mail — les requêtes n'ont pas toutes besoin des mêmes livres au même moment. Dans les systèmes traditionnels, l'ordinateur attend que chaque requête ait rassemblé tous ses livres nécessaires avant de commencer l'étape suivante pour chacune d'elles. Cela crée un goulot d'étranglement où le processeur reste immobile pendant que le lecteur de stockage travaille. Bevy change ce rythme. Il permet à une requête qui possède tous ses livres prêts de passer immédiatement à l'étape suivante, tandis que les autres requêtes attendent l'arrivée de leurs livres manquants. À mesure que la requête prête avance, elle révèle exactement quels livres elle aura besoin pour l'étape suivante. Le système récupère alors ces livres spécifiques pendant que le processeur est occupé avec la requête prête. Cela crée un chevauchement fluide où le lecteur de stockage et le processeur travaillent tous deux en même temps, mais sans aucun besoin de prédiction.

La clé pour faire fonctionner cela de manière fluide est un ordonnanceur auto-équilibré qui décide comment regrouper les requêtes. Si le système laissait simplement chaque requête fonctionner seule, le processeur devrait lire les mêmes livres partagés en mémoire encore et encore pour chaque requête, ralentissant tout. S'il les regroupait de manière trop rigide, il perdrait le bénéfice de laisser les requêtes rapides avancer. Bevy résout cela en regroupant les requêtes de manière dynamique, couche par couche. Si de nombreuses requêtes sont prêtes en même temps, il les regroupe pour maximiser l'efficacité. Si seules quelques requêtes sont prêtes parce que d'autres attendent encore des livres, il laisse ces quelques-unes avancer en groupes plus restreints. Cette flexibilité garantit que le processeur n'est jamais inactif en attendant la formation d'un groupe, et que le lecteur de stockage n'est jamais inactif en attendant la fin d'une requête. Le système s'adapte en temps réel aux besoins changeants des requêtes, créant un flux où le calcul et la récupération se produisent naturellement en parallèle.

Les résultats de cette approche ont été mesurés sur deux plateformes informatiques locales différentes, l'une utilisant une puce Apple et l'autre un kit de développement NVIDIA Jetson AGX Thor avec 128 Go de mémoire unifiée et un SSD Samsung 9100 PRO de 2 To, exécutant deux modèles de langage différents. Les chercheurs ont comparé Bevy à la méthode standard utilisée dans des logiciels populaires comme llama.cpp, ainsi qu'aux systèmes basés sur la prédiction les plus avancés disponibles. Ils ont constaté que Bevy surpassait systématiquement les autres. Lors de tests avec des nombres variables de requêtes simultanées, Bevy a délivré jusqu'à 3,46 fois plus de travail par seconde que la méthode standard et jusqu'à 1,55 fois plus que le système de prédiction le plus rapide. L'amélioration était la plus significative lorsque l'ordinateur devait jongler avec de nombreuses requêtes à la fois. Même lorsque les chercheurs ont testé le système avec un large cache de livres déjà en mémoire, là où les systèmes de prédiction peinent à cause d'une faible précision, Bevy a maintenu sa vitesse. C'est parce que Bevy n'a jamais gaspillé de temps à récupérer des livres dont il n'avait pas besoin ; il n'a récupéré que ce qui était explicitement requis par les requêtes traversant le système.

L'étude a également exploré si l'ajout de la prédiction sur Bevy pourrait aider davantage. Les chercheurs ont essayé de combiner la nouvelle méthode d'ordonnancement avec un système de prédiction, s'attendant à ce que les deux fonctionnent ensemble. Cependant, ils ont constaté que la prédiction n'apportait aucune valeur et ralentissait parfois les choses. Parce que Bevy maintient le lien de stockage très occupé à récupérer les livres exacts nécessaires pour les requêtes prêtes, il ne reste pas de temps libre pour récupérer les livres prédits. De plus, lorsque le système tente de prédire, il se trompe souvent, gaspillant de la bande passante pour des livres qui ne seront jamais utilisés. Les chercheurs ont conclu que dans cet environnement spécifique, où un cache local contient déjà de nombreux éléments nécessaires, l'acte de prédire est non seulement inutile mais nuisible. La voie la plus efficace consiste à laisser les requêtes révéler leurs besoins au fur et à mesure et à planifier le travail de sorte que le système fasse toujours quelque chose d'utile, qu'il s'agisse de calculer ou de récupérer des données.

Ce travail suggère un changement fondamental dans la manière dont l'intelligence artificielle locale peut être gérée. Il montre que l'efficacité ne vient pas toujours du fait d'essayer d'être plus intelligent concernant l'avenir, mais du fait d'être plus réactif au présent. En laissant les tâches progresser à leur propre rythme et en les regroupant uniquement quand cela fait sens, le système élimine le temps d'inactivité qui a longtemps frappé l'IA locale. Les conclusions sont basées sur des mesures concrètes de débit et de synchronisation sur plusieurs configurations matérielles, offrant une image claire de la façon dont cette nouvelle méthode d'ordonnancement performe dans des conditions réelles. Les chercheurs n'ont pas prétendu que cela résoudrait tous les problèmes de l'inférence locale, mais ils ont démontré que pour le défi spécifique de l'exécution de modèles volumineux et gourmands en mémoire sur des appareils personnels, un simple changement dans l'ordre des opérations peut produire des améliorations spectaculaires. Le système, nommé Bevy, constitue un exemple pratique de la façon dont repenser le flux de travail peut libérer le plein potentiel du matériel existant, rendant l'intelligence puissante plus rapide et plus réactive, directement sur le bureau de l'utilisateur.

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 →