Skip to content
OpenAI GPT OSS : modèles MoE open-source (120B/20B) avec MXFP4 sous Apache 2.0
Source: huggingface.co

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