OpenAI GPT OSS : modèles MoE open-source (120B/20B) avec MXFP4 sous Apache 2.0
Sources: https://huggingface.co/blog/welcome-openai-gpt-oss, Hugging Face Blog
Aperçu
GPT OSS est une sortie très attendue de poids ouverts d’OpenAI, conçue pour un raisonnement puissant, des tâches agentiques et des cas d’utilisation variés pour les développeurs. Il se compose de deux modèles : un grand de 117B paramètres (gpt-oss-120b) et un plus petit de 21B paramètres (gpt-oss-20b). Tous deux sont des MoE (mixture-of-experts) et utilisent une quantification en 4 bits (MXFP4), permettant une inférence rapide avec moins de paramètres actifs tout en conservant une faible empreinte mémoire. Le modèle 120B tient sur un seul GPU H100; le 20B fonctionne avec environ 16 Go de mémoire et est adapté au hardware grand public et aux applications en périphérie. GPT OSS est publié sous licence Apache 2.0, avec une politique d’utilisation minimale qui met l’accent sur une utilisation sûre, responsable et démocratique, tout en donnant aux utilisateurs le contrôle sur leurs déploiements et leur utilisation. En utilisant gpt-oss, vous acceptez de respecter toutes les lois applicables. OpenAI décrit ce lancement comme une étape significative vers une IA plus accessible, et Hugging Face accueille OpenAI dans la communauté. Les modèles sont accessibles via le service Inference Providers de Hugging Face, utilisant la même infrastructure que le démo OpenAI sur gpt-oss.com. Les modèles sont conçus pour être exécutés dans divers environnements avec des outils flexibles, y compris l’inférence sur un seul GPU, des configurations multi-GPU via accelerate ou torchrun, et sur du matériel grand public ou des points de terminaison d’entreprise.
Caractéristiques clés
- Deux modèles à poids ouverts : gpt-oss-120b (environ 117B paramètres) et gpt-oss-20b (21B paramètres).
- MoE (Mixture-of-Experts) avec quantification MXFP4 en 4 bits pour économiser la mémoire et accélérer l’inférence.
- Le modèle 120B peut tenir sur un seul GPU H100 ; le modèle 20B peut fonctionner sur ~16 Go de RAM, ce qui le rend adapté au matériel grand public et à l’exécution sur périphérie.
- Licence Apache 2.0 et politique d’utilisation minimale; orientation vers une utilisation sûre et responsable tout en offrant un contrôle utilisateur.
- Accessible via Hugging Face Inference Providers et API de Réponses compatible OpenAI pour des interactions de type chat.
- Mise en place recommandée avec transformers (>= v4.55.1), accelerate et kernels; Triton 3.4+ recommandé pour MXFP4 sur CUDA.
- Compatibilité matérielle : MXFP4 initialement pour Hopper/Blackwell, mais supporte désormais Ada, Ampere et Tesla; ROCm initial sur AMD via les kernels; MegaBlocks MoE kernels pour accélération sur AMD Instinct.
- Sur cartes Hopper (H100/H200), mise à jour des kernels et code optimisé disponible via kernels-community pour activer les kernels optimisés.
- Le modèle 120B peut aussi être exécuté sur plusieurs GPUs via accelerate ou torchrun; plan de parallélisation par défaut dans l’écosystème Transformers.
- Llama.cpp offre un support MXFP4 natif avec Flash Attention sur Metal, CUDA et Vulkan via llama-server pour 120B et 20B.
- L’écosystème prend en charge le fine-tuning via trl et SFTTrainer; déploiements d’entreprise via Azure AI Model Catalog et Dell Enterprise Hub.
- Le GPT OSS a été vérifié sur du matériel AMD Instinct et un support ROCm est en développement; l’accélération MegaBlocks MoE est déjà disponible pour MI300.
- GPT OSS est une famille orientée raisonnement; des évaluations soulignent la nécessité d’une taille de génération suffisamment grande pour capturer les traces de raisonnement; les traces de raisonnement doivent être filtrées lors des évaluations.
- La sortie suit le concept de canaux (par exemple, analysis et final); pour l’utilisateur, on affiche typiquement le canal final lorsque aucun outil n’est utilisé.
Cas d’usage courants
- Déploiements privés/local et inférence sur périphérie avec du matériel grand public.
- Points de terminaison en temps réel pour le chat et les assistants, avec un accent sur le raisonnement prolongé.
- Tâches de raisonnement avec utilisation d’outils et génération étendue, puis production du résultat final.
- Fine-tuning et expérimentation avec SFTTrainer dans trl pour adapter les modèles à des domaines spécifiques.
- Déploiements via le cloud ou sur site via Azure AI Model Catalog et Dell Enterprise Hub.
- Exécution dans les environnements AMD ROCm avec un support initial des kernels et sur le matériel CUDA avec MXFP4 et Flash Attention 3 lorsque disponible.
- Flux d’évaluation nécessitant des tailles de génération importantes pour capturer les traces de raisonnement avant de livrer le résultat final.
Mise en place & installation
pip install --upgrade transformers>=4.55.1 accelerate
pip install --upgrade kernels
pip install --upgrade triton>=3.4
Remarque : pour les cartes Hopper (H100/H200), il peut être nécessaire de mettre à jour les kernels et d’appliquer le code de noyau optimisé décrit dans les notes de version pour activer les kernels MXFP4 optimisés.
pip install --upgrade vllm-flash-attn3
# Exemples rapides d’utilisation via une API Inference Hugging Face
Démarrage rapide
Exemple minimal en Python utilisant un point de terminaison API Hugging Face pour un modèle GPT OSS:
import os
import requests
API_URL = "https://api-inference.huggingface.co/models/gpt-oss-20b"
headers = {"Authorization": f"Bearer {os.environ.get('HF_API_TOKEN')}"}
payload = {"inputs": "Explain how GPT OSS uses MoE and MXFP4 quantization."}
response = requests.post(API_URL, headers=headers, json=payload)
print(response.json())
Remplacez l’URL du modèle par la variante 120B si nécessaire et fournissez votre token.
Avantages et inconvénients
- Avantages :
- Modèles à poids ouverts sous Apache 2.0; deux tailles pour équilibrer latence et capacité.
- MoE avec quantification MXFP4 pour économie de mémoire et inférence rapide sur le matériel compatible.
- Le modèle de 120B tient sur un seul GPU H100; 20B peut fonctionner sur ~16 Go de RAM, rendant possible le hardware grand public et le edge.
- Large compatibilité matériel et intégration à Inference Providers et API de Réponses OpenAI-compatible; déploiement avec Azure et Dell.
- Prêt pour le fine-tuning via trl et SFTTrainer; supports d’entreprise.
- Inconvénients :
- Le raisonnement est au cœur du modèle; nécessite des tailles de génération élevées pour de meilleures évaluations.
- Certaines optimisations dépendent du matériel et des versions logicielles; MXFP4 et Flash Attention 3 nécessitent un stack compatible.
- En l’absence de MXFP4, un fallback bf16 peut augmenter l’usage mémoire.
- L’évaluation peut nécessiter le filtrage des traces de raisonnement pour éviter des parsing erronés.
Alternatives (brève comparaison)
| Approche | Caractéristique clé | Avantages | Inconvénients |---|---|---|---| | GPT OSS (MoE + MXFP4) | Modèles poids ouverts 120B/20B MoE avec MXFP4 | Économie mémoire; inférence rapide; utilisation sur une seule GPU | Dépend du matériel et du stack MXFP4 compatible |MegaBlocks kernels MoE | Noyaux MoE accélérés | Bonnes performances quand MXFP4 indisponible | Consommation mémoire potentiellement plus élevée sans MXFP4 |Llama.cpp (MXFP4) | Support MXFP4 natif avec Flash Attention | Large compatibilité backends; déploiement simple | Peut nécessiter adaptation au type de modèle |Cloud/OpenAI API | Offres hébergées | Gestion simplifiée sans infra locale | Coûts récurrents; données transférées vers le cloud |
Licence
- Licence: Apache 2.0. Le GPT OSS est publié sous Apache 2.0 avec une politique d’utilisation minimale. En utilisant gpt-oss, vous acceptez de respecter les lois applicables. Le lancement met l’accent sur la sécurité, la responsabilité et l’accès démocratique, tout en maximisant le contrôle utilisateur sur les déploiements.
Références
More resources
CUDA Toolkit 13.0 pour Jetson Thor : Écosystème Arm Unifié et Plus
Kit CUDA unifié pour Arm sur Jetson Thor avec cohérence mémoire complète, partage du GPU entre processus, interop OpenRM/dmabuf, support NUMA et outils améliorés pour l’embarqué et le serveur.
Réduire les coûts de déploiement des modèles tout en conservant les performances grâce au swap de mémoire GPU
Exploitez le swap mémoire GPU (hot-swapping de modèles) pour partager les GPUs entre plusieurs LLM, réduire les coûts inoccupés et améliorer l’auto-Scaling tout en respectant les SLA.
Amélioration de l’auto-tuning GEMM avec nvMatmulHeuristics dans CUTLASS 4.2
Présente nvMatmulHeuristics pour sélectionner rapidement un petit ensemble de configurations de kernels GEMM à fort potentiel pour CUTLASS 4.2, réduisant considérablement le temps de tuning tout en approchant les performances d’une Recherche Exhaustive.
Accélérez ZeroGPU Spaces avec la compilation ahead-of-time (AoT) de PyTorch
Découvrez comment la compilation AoT de PyTorch accélère ZeroGPU Spaces en exportant un modèle compilé et en le rechargeant instantanément, avec quantification FP8, formes dynamiques et intégration au flux Spaces GPU.
Fine-Tuning gpt-oss pour la précision et les performances avec l’entraînement par quantisation (QAT)
Guide du fine-tuning de gpt-oss utilisant SFT + QAT pour récupérer la précision FP4 tout en préservant l’efficacité, avec upcast vers BF16, MXFP4, NVFP4 et déploiement avec TensorRT-LLM.
Comment faire évoluer vos agents LangGraph en production d’un seul utilisateur à 1 000 collègues
Guide pour déployer et faire évoluer des agents LangGraph en production avec le NeMo Agent Toolkit, des tests de charge et une mise en œuvre par étapes pour des centaines à des milliers d’utilisateurs.