- GPT-OSS-120B, le LLM open source d'OpenAI, a été optimisé pour fonctionner avec une performance de plus de 500 tokens traités par seconde dans un environnement GPU NVIDIA.
- Des frameworks d'inférence variés tels que TensorRT-LLM, vLLM et SGLang ont été testés en parallèle, avec prise en charge des architectures Hopper et Blackwell.
- Les correctifs de compatibilité ont été appliqués, avec intégration de nouveaux formats de réponse comme Harmony, KV cache-aware routing et décodage spéculatif basé sur Eagle.
- Après avoir comparé Tensor Parallelism et Expert Parallelism, Baseten a retenu la tensor parallelism pour une plus faible latence et utilise le backend TensorRT-LLM MoE sur Blackwell.
- Des optimisations supplémentaires sont prévues, notamment l’introduction du decoding spéculatif (Speculative Decoding) utilisant de petits modèles de « draft » pour améliorer encore les performances.
Aperçu
- À la sortie du dernier LLM open source d’OpenAI, GPT-OSS-120B, Baseten a visé une performance de pointe.
- Baseten est le partenaire de lancement officiel d’OpenAI.
- Les données utilisateur réelles publiées sur OpenRouter ont démontré une performance supérieure aux solutions tierces dans un environnement basé sur les GPU NVIDIA.
- Grâce au Flexible Inference Stack et à l’expertise de l’équipe d’ingénierie modèle, des patches d’optimisation ont été appliqués rapidement heure par heure.
- En l’espace de quelques heures d’écriture de l’article, l’augmentation a atteint 100 tokens/s supplémentaires tout en maintenant un uptime de 100 %.
Efforts d’optimisation des performances
- Des tests et benchmarks ont été menés sur divers frameworks d’inférence, dont TensorRT-LLM, vLLM et SGLang.
- Le support de compatibilité avec les architectures GPU Hopper et Blackwell a été assuré en parallèle.
- Baseten a intégré des composants clés comme le Flexible Inference Stack et NVIDIA Dynamo.
- Des techniques d’optimisation éprouvées ont été déployées, dont le KV cache-aware routing et le Speculative decoding (basé sur Eagle).
Voici les étapes clés pour atteindre simultanément des performances SOTA et la prise en charge d’une fenêtre de contexte complète.
Étape 1 : Exécution de l’inférence initiale
- Le point de départ est de lancer rapidement l’inférence initiale (baseline inference) quelle que soit la méthode.
- Plusieurs ingénieurs ont mené en parallèle des expériences sur vLLM, SGLang et TensorRT-LLM.
- TensorRT-LLM, qui affichait les meilleures performances, a été démarré rapidement avec succès.
- La prise en charge de TensorRT-LLM a été obtenue sur Hopper (qui compte le plus grand nombre de GPU H100) et sur Blackwell (où les B200 sont plus rapides).
- Grâce à la flexibilité du Baseten Inference Runtime, l’adaptation à de nouvelles architectures de modèle et le remplacement rapide d’outils dans la stack étaient facilités.
Étape 2 : Correction des bugs de compatibilité
- L’apparition de nouvelles architectures de modèle s’accompagne souvent de bugs fréquents lors de l’intégration aux frameworks.
- GPT OSS a introduit de nouvelles technologies, comme le nouveau format de réponse Harmony, qui ont provoqué des bugs lors de l’intégration avec les frameworks existants.
- Pour garantir vitesse et précision, des cycles répétés de correction et de tests ont été menés, et les correctifs efficaces ont été partagés en open source.
- La collaboration au sein de la communauté open source mondiale permet d’effectuer rapidement diverses optimisations et corrections de bugs.
Étape 3 : Optimisation de la composition du modèle
- OpenAI précise que GPT OSS 120B fonctionne sur une seule H100, mais dans la pratique une parallélisation sur 4 à 8 GPU est plus favorable aux performances.
- La Tensor Parallelism excelle sur la latence, tandis que l’Expert Parallelism excelle sur le throughput système.
- L’objectif de Baseten étant l’optimisation de la latence, elle a choisi la Tensor Parallelism.
- Sur Blackwell, l’adoption du TensorRT-LLM MoE Backend améliore les performances du noyau CUDA par rapport à l’ancien backend Triton.
- Des réglages optimisés pour chaque environnement Hopper et Blackwell ont été publiés, et le Model API a retenu une configuration basée sur Blackwell.
Optimisation des performances additionnelle
- La première phase d’optimisation a déjà permis d’atteindre des niveaux SOTA en throughput et latence, mais il reste une marge de progression.
- Les prochaines mises à jour prévues incluent l’introduction du Speculative Decoding :
- Cette méthode génère des tokens prédictifs avec un modèle « draft » plus rapide, puis le modèle principal les vérifie.
- Baseten recommande Eagle 3, mais exploite de manière flexible plus de 10 algorithmes différents selon les cas d’usage au sein de sa stack d’inférence.
- Le speculative decoding permet d’effectuer l’inférence de plusieurs tokens en une seule fois pour une amélioration de vitesse efficace
Aucun commentaire pour le moment.