HyperAIHyperAI

Command Palette

Search for a command to run...

Pourquoi un GPU ne devrait pas faire à la fois préfill et décodage

L'inférence des grands modèles de langage repose sur deux phases distinctes aux exigences matérielles opposées : le préchargement (prefill) et le décodage. Le préchargement, qui traite simultanément l'ensemble du prompt, est limité par la puissance de calcul et sature les cœurs tensoriels des GPU. À l'inverse, le décodage, qui génère les tokens un par un, est limité par la bande passante mémoire et voit les unités de calcul inactives en attendant les données. Une architecture traditionnelle, appelée monolithique, exécute ces deux phases sur la même flotte de GPU. Cette approche entraîne des inefficacités majeures. Lorsqu'un pic de préchargement survient, il bloque les requêtes de décodage, causant des latences imprévisibles. De plus, les GPU sont surdimensionnés pour la phase de décodage, qui représente souvent 90 % de la durée d'une requête, tandis qu'ils sont sous-utilisés. Les entreprises paient ainsi pour une capacité de calcul inutile durant la majeure partie du cycle de vie d'une demande. Pour résoudre ce problème, l'inférence désagrégée sépare le préchargement et le décodage sur deux pools de matériel distincts connectés par un réseau rapide. Les GPU de préchargement sont optimisés pour le calcul, tandis que ceux du décodage sont dimensionnés pour la bande passante mémoire et le stockage du cache clés-valeurs (KV). Cette séparation permet de dimensionner indépendamment chaque ressource et d'éliminer les interférences entre les phases. Cette architecture, rendue populaire par un article de recherche de 2024 et adoptée par des acteurs comme Perplexity, Meta et NVIDIA, implique un nouveau coût : le transfert du cache KV entre les deux pools. Pour un modèle de 70 milliards de paramètres, ce cache peut dépasser 1,3 Go. Cependant, avec des connexions RDMA à haut débit, ce transfert est géré par pipeline, permettant au décodage de commencer avant que le transfert ne soit totalement achevé. Les gains en latence, souvent supérieurs à 50 %, compensent largement le temps de transfert par rapport aux retards dus au moulage dans une architecture monolithique. L'adoption de cette méthode présente des limites. Elle n'est pas bénéfique pour les charges de travail à très faible latence ou avec des prompts courts, où le coût de transfert devient prépondérant par rapport au temps de calcul évité. De même, si le taux de réutilisation du cache (prefix caching) est élevé, le bénéfice d'un préchargement séparé diminue. Enfin, cette architecture exige une infrastructure réseau robuste, idéalement dotée de RDMA, et se justifie économiquement à grande échelle, généralement au-delà de 32 GPU. Les entreprises évaluant cette transition doivent analyser le ratio temps de préchargement sur décodage, calculer la taille du transfert de données pour leurs modèles spécifiques, vérifier leurs taux de cache et auditer leur réseau. Lorsque ces critères sont réunis, la désagrégation permet de réduire les coûts d'infrastructure de 15 à 40 % tout en améliorant la prédictibilité des performances. L'industrie se dirige vers des siliciums spécialisés pour chaque phase, mais dès aujourd'hui, la séparation logique offre le meilleur compromis coût-performance pour l'inférence à grande échelle.

Liens associés

Pourquoi un GPU ne devrait pas faire à la fois préfill et décodage | Articles tendance | HyperAI