Live 18/11 · Cohorte 318 nov à 19h00 MSK — atelier pratique gratuit sur les agents IA · La Cohorte 3 démarre le 23/11Atelier 18/11 →Cohorte 3 (23/11)
SortieAnalyse · Sur le radarPyTorch Blog→ original

SGLang-TorchTPU accélère presque de moitié la génération de tokens de Muse Spark Open

Un grand modèle peut être ralenti par les déplacements de données entre les calculs. L'équipe SGLang-TorchTPU a lancé Muse Spark Open sur un seul hôte équipé de quatre TPU v7 et fusionné 62 couches en un seul programme. Dans un test avec une seule requête, le temps par token de sortie est passé de 3,78 à 1,95 ms. Pour les développeurs d'agents, d'autres techniques sont utiles : conserver le contexte entre les tours et ne pas laisser une seule requête longue monopoliser toute la file d'attente.

Traité par IA depuis PyTorch Blog ; édité par Hamidun News
SGLang-TorchTPU accélère presque de moitié la génération de tokens de Muse Spark Open
Source : PyTorch Blog. Collage: Hamidun News.
Écouter l'article
Fiche synthèse et chiffres clés
ParamètreDonnées
Source primairePyTorch Blog ↗
Rédacteur en chef
Chiffre clé #1L'accélération de près de deux fois a été mesurée avec une seule requête active.
Chiffre clé #2Le cache en mémoire de l'hôte a apporté jusqu'à 77 % de débit supplémentaire.
Chiffre clé #3Lorsque le nombre de requêtes simultanées augmente, le gain du noyau diminue.

Un agent de codage a lu le dépôt, lancé un outil, puis marque une pause avant sa réponse suivante. Il est facile d'incriminer la taille du modèle. Pourtant, le serveur peut perdre du temps à acheminer les poids, à échanger des données entre accélérateurs et à retraiter un contexte déjà connu. Pour une équipe produit, le problème est très concret : l'utilisateur attend pendant que l'infrastructure payée s'occupe de tâches préparatoires.

L'équipe SGLang-TorchTPU a décrit le lancement de Muse Spark Open, 816 milliards de paramètres, sur un seul hôte avec quatre TPU v7. Résultat principal pour une requête unique : le temps par token de sortie est passé de 3,78 à 1,95 ms. Les mesures et l'architecture de l'implémentation sont publiées sur le blog PyTorch.

L'accélérateur doit recevoir ses données à temps

Imaginez une cuisine où le cuisinier s'arrête avant chaque geste et attend le panier d'ingrédients suivant. On peut acheter un fourneau plus puissant, l'attente ne disparaîtra pas pour autant. L'autre solution consiste à organiser la livraison pour que le panier suivant arrive pendant la préparation du plat en cours.

Ici, une idée similaire a été appliquée : l'exécution de 62 couches a été fusionnée en un seul programme et les transferts de données ont été superposés aux calculs. Cela permet de préparer à l'avance ce dont la prochaine étape aura besoin.

L'intérêt pratique de cette approche commence par le profilage. Supposons que vous exploitiez un assistant interne pour une petite équipe. Plusieurs personnes lui parlent généralement en même temps, et chacune tient à une réponse fluide. Dans ce mode, il faut regarder combien de temps prend une étape de génération isolée et quelle part de ce temps est consacrée à l'attente des données.

Un service grand public a un autre objectif : traiter la file sans hausse brutale de la latence. Un seul beau chiffre de vitesse ne dit donc pas combien d'utilisateurs le système peut supporter. Il faut une série de mesures sous différentes charges et dans des conditions identiques.

La pause d'un agent est une raison de conserver le contexte

Le deuxième résultat concerne la mémoire. Un cache supplémentaire dans la RAM de l'hôte a augmenté le débit sur une charge agentique jusqu'à 77 %.

Prenons un assistant qui cherche un bogue dans un projet. Il lit des fichiers, lance des tests, reçoit leur sortie et revient à son raisonnement. Une grande partie de la conversation reste inchangée entre ces actions. Si le serveur a conservé les données de contexte déjà préparées, le tour suivant peut démarrer avec moins de travail répété.

Pour une équipe produit, une question utile s'ensuit : que devient l'état de la session tant que l'utilisateur ou l'outil reste silencieux ? Une pause ne signifie pas en soi que la conversation est terminée, surtout si l'agent attend une compilation, une recherche externe ou le résultat d'une longue commande.

Il est pratique de vérifier cela avec un scénario dédié. Donnez à l'agent un document volumineux, effectuez plusieurs courts tours avec des pauses et comparez le délai avant le début de la réponse. Répétez ensuite l'expérience avec une mémoire saturée. Vous comprendrez mieux à quel point le comportement du service dépend de la conservation du contexte et ce qui se passe lors de l'éviction des anciennes sessions.

Ce qu'il faut transposer dans votre service

Une accélération de près de deux fois ne doit pas être automatiquement traduite en économies de budget. Le gain du programme fusionné diminue à mesure que le nombre de requêtes simultanées augmente. De plus, les auteurs prévoient encore de reporter une partie du travail dans la branche principale du projet.

Le développeur devrait commencer par trois mesures : l'attente du premier token, les intervalles entre les tokens suivants et le nombre de requêtes terminées pour une latence donnée. Le product manager devrait ajouter un parcours utilisateur réaliste, avec des outils et des pauses. Le fondateur devrait calculer le coût d'une tâche réussie pour un temps de réponse acceptable.

Il existe aussi un scénario distinct pour tester la file d'attente : un utilisateur envoie un document énorme, tandis qu'un autre pose une question courte. Regardez combien de temps attend le second. Ce test montre vite si la répartition des ressources correspond à la qualité de service promise.

La valeur de cette publication tient à un ensemble de solutions d'ingénierie vérifiables. Avant de changer de matériel, il est utile de déterminer où exactement le serveur reste inactif, quel travail il répète et à qui il permet d'occuper trop longtemps la file.

Dossier

Questions clés sur cet article

Que sait-on sur L'accélérateur doit recevoir ses données à temps ?

Imaginez une cuisine où le cuisinier s'arrête avant chaque geste et attend le panier d'ingrédients suivant. On peut acheter un fourneau plus puissant, l'attente ne disparaîtra pas pour autant. L'autre solution consiste à organiser la livraison pour que le panier suivant arrive pendant la préparation du plat en cours. Ici, une idée similaire a été appliquée : l'exécution de 62 couches a été fusionnée en un seul programme et les transferts de données ont été superposés aux calculs.

Que sait-on sur La pause d'un agent est une raison de conserver le contexte ?

Le deuxième résultat concerne la mémoire. Un cache supplémentaire dans la RAM de l'hôte a augmenté le débit sur une charge agentique jusqu'à 77 %. Prenons un assistant qui cherche un bogue dans un projet. Il lit des fichiers, lance des tests, reçoit leur sortie et revient à son raisonnement. Une grande partie de la conversation reste inchangée entre ces actions. Si le serveur a conservé les données de contexte déjà préparées, le tour suivant peut démarrer avec moins de travail répété.

Que sait-on sur Ce qu'il faut transposer dans votre service ?

Une accélération de près de deux fois ne doit pas être automatiquement traduite en économies de budget. Le gain du programme fusionné diminue à mesure que le nombre de requêtes simultanées augmente. De plus, les auteurs prévoient encore de reporter une partie du travail dans la branche principale du projet. Le développeur devrait commencer par trois mesures : l'attente du premier token, les intervalles entre les tokens suivants et le nombre de requêtes terminées pour une latence donnée.

ZK
Zhemal Khamidun — CPO d'Alpina Digital, product manager d'AlpinaGPT. Conçoit des produits IA depuis 2019. Hamidun News est un projet personnel devenu un agrégateur en production avec plus de 6 000 lecteurs.
✦ Unified AI Workspace · Nomad

Test Frontier LLMs & Autonomous Agents in One Workspace

Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.

Try Nomad AI →Launch Nomad Agent
Qu'en pensez-vous ?
Chargement des commentaires…