Les réponses lentes sont généralement dues à trois facteurs : les invites sont trop volumineuses, les lots sont mal formés ou la mémoire cache est insuffisante. Corrigez ces problèmes avant d'acheter d'autres GPU.
Essayez Compute dès aujourd'hui: Lancez un VllM point de terminaison activé Calculer dans France (UE), USA, ou ÉMIRATS. Définissez des limites strictes, limitez le trafic par région et mesurez le TTFT/TPS selon vos propres instructions.
Symptômes et causes probables
De nombreux facteurs, tels que la taille du prompt, le traitement par lots et l'état du cache, influencent les performances du LLM.
Triage rapide (liste de contrôle de 5 minutes)
- Région — le terminal est-il proche des utilisateurs ?
- Diffusion — est-ce que stream : true est activé ?
- Casquettes — les max_tokens et les limites de contexte sont-ils définis par route ?
- Taille rapide — recadrez l'historique et les instructions du système ; ciblez les entrées courtes. Remarque : une taille d'entrée plus courte peut améliorer les indicateurs de performance tels que les jetons par seconde (TPS), car les jetons d'entrée influencent les mesures TPS.
- Hauteur libre — GRAM ≥ 10 à 20 % Gratuit en période de pointe ?
- File d'attente — la longueur de la file d'attente est-elle constante en cas de charge ou en hausse ?
- Journaux — enregistrez-vous le TTFT/TPS par demande avec les identifiants de demande ?
Corrections rapides (aujourd'hui)
Côté client
- Activez le streaming. Les utilisateurs arrêtent tôt ; le TTFT se sent plus rapide ; le TPS s'améliore.
- Trimpez les instructions. Supprimez le passe-partout, réduisez l'historique, réduisez les exemples au minimum.
- Resserrez les capuchons. Définissez max_tokens par route (chat : 128 à 256; résumés : 256 à 512).
- Réessaie avec nervosité. Uniquement en 429/5xx/timeouts ; plafonnement des tentatives.
- Abandonnez à l'arrêt. Branchez un bouton Stop qui annule la diffusion vers des emplacements de serveur gratuits.
Côté serveur
- Forme de lot de la bonne taille. Conservez de nombreux petits décodages au lieu de quelques longs.
- Protégez le cache. Appliquez des limites contextuelles ; expulsez équitablement ; regardez hit/miss.
- Désactiver la mise en mémoire tampon du proxy sur les itinéraires de streaming ; définissez des délais de conservation.
- Limites tenant compte des jetons. Définissez le TPM et la simultanéité par touche pour éviter la famine.
- Modèles à épingles. Évitez les mises à niveau surprises qui modifient la vitesse.
Correctifs durables (ce trimestre)
- Passez au traitement par lots en continu. Admettez ou retirez les demandes à chaque étape ; mesurez l'équité. Utilisez les bons outils pour optimiser les performances de traitement par lots et gérer la complexité afin d'obtenir des performances optimales, en particulier sur le matériel NVIDIA.
- Adoptez le RAG dans des contextes longs. Ne récupérez que ce dont vous avez besoin ; les invites diminuent ; le TTFT diminue.
- Quantifiez judicieusement. Essayez int8 d'abord ; int4 uniquement après des contrôles de qualité. L'architecture du modèle sous-jacent affecte la compatibilité et les performances avec les différentes méthodes de quantification. Les modèles quantifiés peuvent être exécutés efficacement sur les processeurs, en particulier dans les environnements à ressources limitées. Veillez à utiliser les instructions de ligne de commande correctes pour configurer la quantification et assurez-vous que la bonne version des bibliothèques ou des pilotes est installée.
- Placez les points de terminaison par région. L'UE en France ; les États-Unis aux États-Unis ; le Moyen-Orient aux Émirats arabes unis.
- Envisagez le multiprocesseur graphique uniquement après avoir prouvé que les majuscules et le cache sont sains. Lors de la mise à l'échelle, tenez compte de la taille du modèle : le nombre de paramètres influe à la fois sur les performances et les besoins en ressources.
Quantification et autres techniques avancées
La quantification vous permet d'exécuter de grands modèles de langage plus rapidement et d'utiliser moins de mémoire. Vous convertissez les pondérations de modèle de formats de haute précision tels que les flottants de 16 bits en formats de précision inférieure, tels que les entiers de 4 bits. Cela permet de réduire la taille de votre modèle et de réduire les besoins en mémoire. Une plus grande partie de votre modèle et de son cache kv tient dans la mémoire GPU, ce qui vous permet d'accéder plus rapidement aux données et de réduire la latence lors de l'exécution du modèle. Lorsque vous créez une IA générative, cela se traduit par de meilleures performances et une réduction des coûts, que vous traitiez de nombreuses demandes ou que vous travailliez avec des modèles plus volumineux.
Vous avez le choix entre plusieurs méthodes de quantification. Chacune comporte des compromis. Les techniques post-formation telles que le GPTQ et l'AWQ fonctionnent bien pour les LLM. AWQ utilise une approche basée sur les données et sensible au matériel pour compresser les poids des modèles. Cela vous permet souvent de meilleures performances et de moins de perte de précision sur les modèles modernes à réglage par instructions. Choisissez la méthode adaptée à vos besoins. Les modèles plus petits et la moindre précision augmentent la vitesse et réduisent les coûts, mais ils peuvent nuire à la qualité de sortie si vous ne les testez pas avec soin.
Le traitement par lots continu permet à votre LLM de fonctionner à haut débit. Au lieu d'attendre un lot complet de demandes, il traite plusieurs jetons et demandes au fur et à mesure de leur arrivée. Votre processeur graphique reste occupé avec un temps d'inactivité minimal. Les frameworks tels que vLLM utilisent cette approche. Ils gèrent simultanément de nombreux jetons de sortie et de nouvelles demandes, ce qui améliore à la fois le débit et la rapidité avec laquelle les utilisateurs voient les réponses. Lorsque vous avez besoin d'une faible latence et d'une réactivité élevée, le traitement par lots continu fonctionne.
FlashAttention accélère les LLM grâce à de meilleurs mécanismes d'attention. Il restructure le calcul de l'attention afin de réduire les goulots d'étranglement de la bande passante mémoire. Votre modèle peut traiter des séquences plus longues et des contextes plus importants de manière plus efficace. Cela est utile lorsque vous travaillez avec d'énormes quantités de données ou que vous générez de longs résultats.
Vos choix en matière de matériel et de configuration sont importants. Utilisez des GPU avec suffisamment de cache kv et optimisez votre hiérarchie de mémoire. Choisissez la taille de modèle et la longueur de séquence adaptées à ce que vous construisez. Vous allez trouver l'équilibre entre vitesse, coût et qualité de sortie. Les modèles plus grands donnent généralement de meilleurs résultats mais nécessitent davantage de ressources. Les modèles plus petits fonctionnent plus rapidement et coûtent moins cher.
Combinez la quantification, le traitement par lots en continu et des techniques telles que FlashAttention. Vous bénéficierez de meilleures performances, d'une latence plus faible et de coûts réduits pour vos grands modèles linguistiques. Comprenez les compromis et adaptez votre approche à vos besoins spécifiques. Vous pouvez fournir des services d'IA générative plus rapides et plus efficaces sans dépenser davantage en matériel.
Un plan de test qui permet de détecter les vrais problèmes
- Set de graines — 30 à 60 instructions réelles (courtes + longues). Par exemple, une courte invite peut générer une sortie beaucoup plus grande que son entrée, illustrant ainsi comment la taille de la sortie peut différer de manière significative de la taille de l'entrée.
- Rampe — augmentez le RPS jusqu'à TTFT p95 dépasse votre cible. Lorsque vous mesurez le TTFT/TPS, notez que les jetons sont traités lors de l'inférence et que les jetons de sortie par seconde sont une métrique de génération de clés.
- Mélangez — combinez des instructions courtes et longues pour exposer les problèmes d'équité.
- Annulez les tempêtes — garantit que KV‑Cache se libère rapidement en cas d'abandon.
- Échange à chaud — modifier le modèle/la quantification ; comparer le TTFT/TPS et la qualité aux modèles précédents. Lors des tests, incluez de nouveaux modèles pour évaluer les améliorations.
- Exercice de défaillance — supprimez un nœud ; vérifiez les nouvelles tentatives et les messages des utilisateurs.
Suivez les progrès réalisés au cours de plusieurs itérations de test pour suivre les améliorations et identifier les problèmes. Lors de l'analyse des résultats, examinez le contenu généré pour en vérifier la qualité et la pertinence. Soyez conscient d'une erreur courante lors de la planification des tests : supposer que la quantification accélère principalement les calculs, alors qu'en fait, elle améliore principalement l'efficacité de la mémoire et la bande passante. Lors de la tokenisation, n'oubliez pas que les jetons peuvent représenter un mot, une partie de mot ou une ponctuation, ce qui affecte la façon dont les données sont traitées et évaluées.
Essayez Compute dès aujourd'hui: Exécutez un VllM serveur sur Calculer. Placez-le à proximité des utilisateurs, regardez TTFT/TPS et redimensionnez-le uniquement lorsque les chiffres vous le demandent.
Corrigez TTFT et TPS avant d'acheter plus de GPU
Commencez par les instructions, les majuscules et le streaming, et concentrez-vous sur l'optimisation de ces domaines avant d'envisager des mises à niveau matérielles. Maintenez le cache en bon état et les lots stables. Placez le terminal à proximité des utilisateurs. Quand TTFT gouttes et jetons/seconde lors des ascensions, vous avez résolu le vrai problème, et vous ne l'avez pas simplement masqué avec du matériel.
FAQ
Qu'est-ce que le TTFT et pourquoi est-ce important ?
L'heure d'arrivée du premier jeton est celle où les utilisateurs ressentent de la vitesse. Un TTFT long signale de grandes invites, des caches froids ou des régions éloignées.
Comment puis-je obtenir plus de TPS sans nuire à la latence ?
Veillez à ce que les sorties soient courtes, formez des lots pour de nombreux petits décodages et appliquez des limites tenant compte des jetons afin que les tâches volumineuses n'en privent pas les autres.
Les contextes plus longs sont-ils toujours utiles ?
Non Les contextes longs augmentent les coûts et le TTFT. Utilisez la fonction de récupération pour que les instructions soient courtes.
Quand dois-je passer au multiprocesseur graphique ?
Uniquement lorsque le modèle ou le cache ne convient plus et que vous avez déjà réglé les instructions, les majuscules et la planification.
Comment savoir si le cache KV est à l'origine du problème ?
Regardez la marge de manœuvre de la mémoire GPU et le taux d'utilisation du cache. Si le TTFT augmente alors que la marge de manœuvre diminue, resserrez le contexte et effacez les flux bloqués.
