Blog de nuage RSS
Suivre
Ajustement des performances de vLLM : Le guide ultime de la configuration de l'inférence xPU
Ce guide, avec les contributeurs Hossein Sarshar, Ashish Narasimham et Chenyang Li, vise à aider les utilisateurs à servir efficacement les grands modèles de langage (LLMs) à l'aide de vLLM. Le service des LLMs nécessite de répondre à des exigences de latence et de débit élevées, ce qui rend le choix de l'accélérateur et de la configuration cruciaux. Le guide adopte une approche ascendante pour sélectionner le meilleur accélérateur et optimiser les paramètres de vLLM pour une efficacité coût. Les prérequis incluent un projet Google Cloud, la CLI gcloud, une familiarité avec Linux et Docker, ainsi qu'un compte Hugging Face avec accès au modèle Gemma 3 27B. Les considérations clés pour choisir un accélérateur impliquent le modèle utilisé, sa précision (par exemple, bfloat16), les caractéristiques du workload comme les requêtes par seconde et les longueurs de séquence, l'utilisation souhaitée du GPU, le taux de cache de préfixe et les exigences de latence. Les accélérateurs candidats sont identifiés à partir des instances optimisées pour les accélérateurs de Google Cloud et des offres TPU, telles que g2-standard-48, a2-ultragpu-1g, a3-highgpu-1g, TPU v5e et TPU v6e. Les exigences de mémoire sont estimées à l'aide d'un outil fourni, qui calcule la mémoire VRAM minimale nécessaire en fonction de la taille du modèle, de la précision, des longueurs de séquence et de la taille de lot. La parallélisation de tenseurs peut être nécessaire pour les modèles qui dépassent la mémoire d'un seul accélérateur, bien qu'elle puisse introduire une surcharge de communication impactant la latence. Le guide détaille la mise en place et la mise à l'échelle en lançant des instances, en tirant les images Docker de vLLM, en mettant à jour un script d'auto-ajustement avec des paramètres spécifiques et en analysant les résultats pour trouver les configurations optimales. Le script d'auto-ajustement trouve itérativement des configurations de serveur vLLM stables en ajustant l'utilisation du GPU pour éviter les erreurs de mémoire insuffisante.