Découvrez comment Prefill et Decode changent la performance LLM. Améliorez latence et utilisation GPU pour des apps interactives.
Gérer des charges d’utilisateurs multiples en simultané est vital pour la performance des applications basées sur des Modèles de Langage Large (LLM). Chez TNG, un cluster de 24 GPU H100 soutient 50 applications, traitant plus de 5 000 inférences par heure et générant plus de dix millions de tokens chaque jour. La gestion optimisée des requêtes simultanées est cruciale pour maintenir des métriques essentielles comme la latence et le débit des traitement ainsi que l’utilisation des ressources GPU.
Génération de tokens : phases Prefill et Decode
Les LLM génèrent du texte token par token grâce à un mécanisme auto-régressif, ce qui complique la parallélisation au niveau de la requête individuelle. Cependant, la phase Prefill permet de calculer en parallèle les vecteurs clé-valeur pour tous les tokens d’entrée, contrairement à la phase Decode qui doit traiter chaque token de sortie de manière séquentielle.
Mesurer la latence : Temps au premier token et par token de sortie
Deux métriques clés reflètent la différence entre prefill et decode : le temps au premier token (reflétant la latence du prefill) et le temps par token de sortie (latence d’un pas de décode). Les applications interactives visent une génération de 3 à 10 tokens par seconde et un temps au premier token de 3 secondes maximum, des cibles difficiles selon la taille du modèle et la charge concurrente.
La distinction Prefill et Decode est cruciale pour optimiser la latence et le débit dans les applications LLM. Utilise ces phases pour maximiser l’efficacité des ressources GPU.
Utilisation des ressources GPU : une danse délicate
La phase de prefill exploite intensivement le calcul GPU, tandis que la phase de decode est limitée par la bande passante mémoire GPU. Une augmentation de la concurrence augmente le débit jusqu’à saturation de la puissance de calcul GPU, ce qui permet une gestion plus efficace des charges élevées grâce à des tailles de lot plus grandes en phase Decode.
« La gestion optimisée des requêtes simultanées est cruciale pour maintenir des métriques essentielles comme la latence et le débit de traitement. »
Benjamin Merkel, TNGTech
Traitement simultané des requêtes : une optimisation nécessaire
La stratégie de groupage lors des phases de prefill et de decode est essentielle pour le traitement simultané efficace des requêtes dans les LLM. En optimisant ce traitement, nous pouvons accroître l’efficacité tout en réduisant les délais d’attente utilisateur, une contrainte particulièrement pertinente dans un monde technologique toujours plus impatient.
La gestion de la performance des LLM est un défi majeur qui ne peut être ignoré. En optimisant les phases Prefill et Decode, on peut réellement transformer l’efficacité des applications interactives tout en minimisant les retards perçus par l’utilisateur. Pour toute entreprise s’appuyant sur ces modèles, il est impératif de se doter d’une stratégie solide concernant la concurrence et l’utilisation des ressources.