SGLang accélère MiniMax-H3 de 1,95 fois sans perte de qualité

L'équipe LMSYS a publié le 27 août un rapport de performance d'inférence sur MiniMax-H3. L'environnement de test comptait 8 cartes NVIDIA H200, chacune dotée de 141 Go de VRAM, exécutant le framework SGLang Diffusion. Les paramètres étaient fixés à une résolution de 1344×768, 24 FPS et 50 étapes de débruitage, produisant des clips de 5 et 10 secondes, avec Diffusers comme groupe témoin.

La conclusion se décline sur deux niveaux. Le premier, sans fioritures :

"SGLang's dense, lossless path is 1.85–1.95× faster than Diffusers with no approximation: the same denoising work, on a faster runtime."

(La voie dense et sans perte de SGLang est 1,85 à 1,95 fois plus rapide que Diffusers sans aucune approximation : le même travail de débruitage, sur un runtime plus rapide.)

Sur la chaîne d'animation texte-vers-vidéo, le palier sans perte est 1,87 à 1,95 fois plus rapide que Diffusers ; pour la conversion de liste d'images en vidéo, c'est 1,91 à 1,95 fois. Les deux chemins avoisinent le doublement de vitesse, et le SSIM est exactement égal à 1,0000 — identique au pixel près.

Il faut cumuler trois couches d'accélération pour atteindre 6 fois

Le rapport décompose le gain de vitesse en trois blocs, chacun de nature différente.

Les opérateurs fusionnés relèvent du pur travail d'ingénierie. SGLang regroupe la mise à jour AdaLN, le résidu à porte (gated residual), l'activation SwiGLU ainsi que le QK RMSNorm avec 3D RoPE dans un seul et même kernel, réduisant les allers-retours de données dans la mémoire du GPU. Les tests isolés de chaque opérateur montrent des accélérations comprises entre 2,00 et 12,16 fois, ce qui se traduit par les 1,95× de bout en bout mentionnés plus haut. Cette couche ne modifie aucun résultat de calcul.

Cache-DiT commence à toucher à l'approximation : il réutilise les résultats mis en cache entre étapes de débruitage voisines, un seuil de différence résiduelle décidant de la réutilisation ou non — le palier prudent utilise un seuil de 0,04, le mode stride plus agressif utilise 0,08. Le palier prudent atteint 2,65 et 2,99 fois sur les deux chemins, avec un SSIM qui retombe autour de 0,90 et 0,94.

L'attention parcimonieuse SubBlock est la plus radicale : un routeur parcimonieux par blocs réduit, à partir de la 10e étape, les blocs KV participant au calcul, avec un taux de parcimonie fixé à 0,75 ou 0,80. Combinée au mode stride de Cache-DiT, la génération texte-vers-vidéo atteint 4,90 à 5,72 fois, et la conversion de liste d'images en vidéo atteint 5,64 à 6,24 fois.

Le coût visuel du palier à 6 fois

Le coût se lit entièrement dans le SSIM, et les deux chemins se comportent de façon très différente. La conversion de liste d'images en vidéo encaisse mieux : avec une parcimonie de 0,75 combinée au stride, le clip de 10 secondes conserve un SSIM de 0,9202, celui de 5 secondes tombe à 0,8629. Le texte-vers-vidéo chute bien plus fort, avec la même configuration il ne reste plus que 0,7834 et 0,7713, et en poussant la parcimonie à 0,80 la valeur dégringole à 0,7584.

Que signifie un SSIM de 0,76 ? En gros, la structure et la composition sont préservées, mais la texture, les détails et les hautes fréquences ne correspondent plus à la sortie d'origine, un écart visible dès qu'on agrandit l'image. La raison pour laquelle la conversion de liste d'images en vidéo (contrainte par une image de départ ou des images clés) chute moins tient aussi à cela — le modèle est déjà ancré par les images de condition, donc la parcimonisation a peu de liberté à perdre.

Converti en argent, c'est plus parlant. Le tarif de location à la demande pour 8 cartes H200 se situe généralement, sur le marché, entre deux et trois dollars par carte et par heure, soit près de vingt dollars de l'heure pour une machine complète (calcul approximatif, les écarts entre fournisseurs cloud et types de contrats étant importants). Le palier sans perte est 1,95 fois plus rapide, ce qui veut dire que pour la même heure on peut produire près du double de clips, réduisant le coût unitaire d'un peu plus de moitié — cette moitié est pour ainsi dire gratuite, sans le moindre sacrifice de qualité d'image. Les paliers supérieurs font économiser la même somme, mais exigent de rogner sur le SSIM ; l'intérêt de l'opération dépend de si ces clips sont destinés à la livraison finale ou seulement au tri.

En déployant ces données, l'usage réel devrait se répartir sur trois paliers : pour le rendu final, utiliser le palier sans perte et empocher gratuitement les 1,95× ; quand un équilibre est nécessaire, passer au Cache-DiT en mode prudent, 2,65 à 2,99 fois, avec un SSIM au-dessus de 0,90 généralement acceptable ; pour trier des compositions ou lancer des aperçus, utiliser le SubBlock à 0,75, en échangeant une vitesse sextuplée contre une image « reconnaissable dans les grandes lignes », puisqu'il faudra de toute façon régénérer le rendu final après le tri.

Quelques limites à garder à l'esprit

Le rapport délimite lui-même son périmètre. Seules trois méthodes d'accélération ont été testées ; des techniques avec perte tout aussi courantes, comme la quantification ou la résolution progressive, n'y figurent pas. La mesure du temps exclut le démarrage du service, la mise en chauffe (warmup), le polling HTTP et le téléchargement de fichiers, ce qui signifie que ces multiplicateurs relèvent uniquement du côté inférence, et le ressenti de bout en bout sera moindre en pratique. Le dispositif SubBlock a par ailleurs des prérequis stricts : il n'est efficace que sur une attention non causale longue, en BF16, avec une dimension de tête (head dimension) de 128 et une longueur de séquence d'au moins 4096. Les données de test ont en réalité été collectées le 18 août, et le rapport n'est paru que neuf jours plus tard.

En replaçant tout cela dans la chronologie de H3 : le modèle a ouvert ses poids fin juillet, et un mois plus tard une pile d'inférence tierce avait déjà porté le palier sans perte à près du double — la valeur réelle d'un modèle open source ne tient souvent pas au score de benchmark du jour du lancement, mais au nombre de personnes prêtes à écrire des kernels pour lui une fois les poids rendus publics.

Sources : blog technique de LMSYS, CocoLoop, documentation du projet SGLang ; les facteurs d'accélération et les valeurs de SSIM de chaque palier ont été vérifiés dans la même configuration : 8 cartes H200, 1344×768, 24 FPS, 50 étapes de débruitage.