Comment accéder à GPT OSS ? Guide complet d'installation et d'optimisation

Comment accéder à GPT OSS ? Guide complet d'installation et d'optimisation

GPT OSS est la première série de modèles GPT open source d’OpenAI, conçue pour rendre les capacités linguistiques avancées accessibles à tous. Il est disponible en deux tailles : GPT OSS 120B (environ 117 milliards de paramètres) et GPT OSS 20B (21 milliards de paramètres). Contrairement aux modèles précédents d’OpenAI, GPT OSS propose des poids ouverts sous une licence permissive, vous permettant de télécharger et d’exécuter le modèle sur votre propre matériel.

Ce guide vous présentera les bases de GPT OSS, mettra en évidence ses améliorations et exigences, et vous expliquera comment l’utiliser en pratique.

Démarrer avec GPT OSS : Guide du débutant

gpt oss

Architecture de GPT OSS

  • Technologie MoE avec activation sparse pour une inférence efficace
  • Architecture Transformer autorégressif + MoE
  • RoPE (Rotary Position Embedding)
  • Alternance d’attention globale et locale par fenêtre pour le support des longues séquences
  • Tokenizer o200k_harmony, compatible avec l’API OpenAI Responses
  • Compatibilité directe avec les interfaces des modèles OpenAI

Hautement efficace et évolutif

  • En utilisant MoE (Mixture-of-Experts) avec activation sparse et une architecture Transformer, les modèles peuvent gérer un nombre énorme de paramètres tout en restant rapides et efficaces. Cela facilite la montée en échelle de la taille du modèle sans augmentation massive des ressources de calcul.

Capable de gérer de très longs contextes

  • Avec le support de jusqu’à 128k tokens, RoPE pour l’encodage de position, et une combinaison d’attention globale et locale, les modèles peuvent traiter des textes ou des conversations beaucoup plus longs que la plupart des autres modèles. Cela est particulièrement utile pour les documents longs ou les dialogues à plusieurs tours.

Facile à intégrer et à utiliser

  • Le tokenizer o200k_harmony et la compatibilité directe avec les API OpenAI signifient que ces modèles peuvent être utilisés comme remplacements directs dans les flux de travail OpenAI existants. Cela abaisse la barrière pour les développeurs souhaitant adopter et déployer les modèles.

Exigences système de GPT OSS

Modèle Couches Paramètres totaux Paramètres actifs par token Experts totaux Experts actifs par token Longueur de contexte VRAM GPU nécessaire (carte unique)
gpt-oss-120b 36 117B 5.1B 128 4 128k 80GB
gpt-oss-20b 24 21B 3.6B 32 4 128k 16GB

Entraînement de GPT OSS

1. Qualité et couverture des données

  • Échelle : Entraîné sur des billions de tokens provenant de vastes corpus de textes.
  • Contenu : Inclut à la fois des connaissances spécialisées (STEM, code de programmation) et générales.
  • Filtrage de sécurité : Filtrage rigoureux des contenus nuisibles et sensibles, notamment la biosécurité.

Atout :
Combine une large culture générale avec une expertise approfondie dans les domaines techniques, tout en maintenant une haute sécurité et fiabilité des données.

2. Processus d’entraînement et calcul

  • Investissement en calcul :

    • GPT-OSS-120B : ~2,1 millions d’heures GPU H100 (comparable aux meilleurs modèles propriétaires)
    • GPT-OSS-20B : environ un sixième de cela
  • Architecture : Transformer autorégressif + MoE

Atout :
Un calcul massif garantit des performances de pointe et une robustesse du modèle.

3. Post-entraînement et alignement

  • Fine-tuning :

    • Fine-tuning supervisé par instructions
    • Phase d’apprentissage par renforcement à haute intensité de calcul
  • Techniques d’alignement :

    • Apprentissage par renforcement avec chaîne de pensée (CoT)
    • Alignement strict avec les normes de sécurité et d’éthique

Atout :
Permet un raisonnement étape par étape avancé, une résolution de problèmes complexes et un fort alignement avec les directives de sécurité.

4. Flexibilité et aspect pratique

  • Modes de raisonnement : Supporte les efforts de raisonnement faible, moyen et élevé, configurables par les développeurs pour équilibrer précision, latence et coût.

Atout :
Offre une flexibilité pratique pour différents cas d’utilisation et budgets de calcul.

Améliorations de GPT OSS

GPT-OSS se distingue par sa puissante utilisation d'outils et son extensibilité

Différences entre GPT OSS et GPT 4

Différences entre GPT OSS et GPT 4

GPT-OSS, en particulier le modèle 120B, démontre de fortes capacités en raisonnement, connaissances scientifiques et codage, se rapprochant des grands modèles traditionnels. Cependant, GPT-4 (o4-mini) reste en tête dans tous les principaux benchmarks, y compris le raisonnement général, le raisonnement scientifique, les tâches de défi avancées et la génération de code. GPT-OSS est compétitif et adapté aux scénarios exigeants, mais GPT-4 reste le meilleur en termes de précision et d’universalité.

Où puis-je télécharger GPT OSS ?

Exigences de GPT OSS

Technologies d'accélération et utilisation des ressources (inférence GPT-OSS)

Technologies d’accélération et utilisation des ressources

Méthodes de téléchargement de GPT OSS

Méthode Avantages Matériel Utilisation typique
Transformers Officiel, flexible, excellente communauté Tous les GPU majeurs Inférence locale, fine-tuning
Llama.cpp Léger, multiplateforme, rapide CUDA/Metal/Vulkan Déploiements légers sur périphériques/consommateurs
vLLM Haut débit, optimisé Hopper recommandé Serveurs d’inférence, API évolutives
transformers serve Serveur API en une commande N’importe quel Prototypage/test d’API local
torchrun/accelerate Inférence multi-GPU/distribuée Multi-GPU Inférence/entraînement de grands modèles

1. Utilisation de Transformers

Fonctionne sur la plupart des GPU, en particulier Hopper/Blackwell (H100/H200/GB200/50xx).

Installation

pip install --upgrade accelerate transformers kernels
# (Facultatif) Pour PyTorch 2.8 avec Triton 3.4 :
pip install torch==2.8.0 --index-url https://download.pytorch.org/whl/test/cu128
pip install git+https://github.com/triton-lang/triton.git@main#subdirectory=python/triton_kernels

Exemple d’inférence de base

from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "openai/gpt-oss-20b"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    device_map="auto",
    torch_dtype="auto",
)

messages = [{"role": "user", "content": "How many rs are in the word 'strawberry'?"}]
inputs = tokenizer.apply_chat_template(
    messages, add_generation_prompt=True, return_tensors="pt", return_dict=True
).to(model.device)
generated = model.generate(**inputs, max_new_tokens=100)
print(tokenizer.decode(generated[0][inputs["input_ids"].shape[-1]:]))

Optimisations prises en charge

  • mxfp4 + Triton 3.4 (pour GPU Hopper/Blackwell : le plus rapide et le moins gourmand en mémoire)
  • Flash Attention 3 (pour GPU Hopper, avec attn_implementation="kernels-community/vllm-flash-attn3")
  • Kernels MoE MegaBlocks (pour CUDA non-Hopper/Blackwell ou AMD, avec use_kernels=True, plus de mémoire qu’avec mxfp4)

2. Llama.cpp

  • Support natif mxfp4 + Flash Attention.
  • Multiplateforme : Metal, CUDA, Vulkan.
  • Installation facile :
    • macOS : brew install llama.cpp
    • Windows : winget install llama.cpp
  • Recommandé : utiliser avec llama-server
llama-server -hf ggml-org/gpt-oss-120b-GGUF -c 0 -fa --jinja --reasoning-format none
# Puis accédez à http://localhost:8080 dans votre navigateur

3. vLLM (moteur d’inférence optimisé)

  • Supporte Flash Attention 3 (Sink Attention), meilleur sur GPU Hopper.
  • Utilisation en Python :
from vllm import LLM llm = LLM("openai/gpt-oss-120b", tensor_parallel_size=2) output = llm.generate("San Francisco is a")

Où puis-je exécuter GPT OSS via API ?

Novita AI fournit des API GPT-OSS 120B
avec un contexte de 131K et des coûts de 0,1 $/entrée et 0,5 $/sortie. Novita AI propose également GPT-OSS 20B avec un contexte de 131 et des coûts de 0,05 $/entrée et 0,2 $/sortie, offrant un support solide pour maximiser le potentiel d’agent de code de GPT OSS.

Novita AI

Étape 1 : Connectez-vous et accédez à la bibliothèque de modèles

Connectez-vous à votre compte et cliquez sur le bouton Bibliothèque de modèles.

Connectez-vous et accédez à la bibliothèque de modèles

Essayez GPT OSS maintenant !

Étape 2 : Choisissez votre modèle

Parcourez les options disponibles et sélectionnez le modèle qui correspond à vos besoins.

Étape 2 : Choisissez votre modèle

Étape 3 : Démarrez votre essai gratuit

Commencez votre essai gratuit pour explorer les capacités du modèle sélectionné.

Étape 3 : Démarrez votre essai gratuit

Étape 4 : Obtenez votre clé API

Pour vous authentifier auprès de l’API, nous vous fournirons une nouvelle clé API. En accédant à la page « Paramètres », vous pouvez copier la clé API comme indiqué dans l’image.

obtenir la clé API

Étape 5 : Installez l’API

Installez l’API à l’aide du gestionnaire de paquets spécifique à votre langage de programmation.

Après l’installation, importez les bibliothèques nécessaires dans votre environnement de développement. Initialisez l’API avec votre clé API pour commencer à interagir avec Novita AI LLM. Voici un exemple d’utilisation de l’API de complétion de chat pour les utilisateurs Python.

from openai import OpenAI
  
client = OpenAI(
    base_url="https://api.novita.ai/v3/openai",
    api_key="",
)

model = "openai/gpt-oss-120b"
stream = True # or False
max_tokens = 65536
system_content = ""Be a helpful assistant""
temperature = 1
top_p = 1
min_p = 0
top_k = 50
presence_penalty = 0
frequency_penalty = 0
repetition_penalty = 1
response_format = { "type": "text" }

chat_completion_res = client.chat.completions.create(
    model=model,
    messages=[
        {
            "role": "system",
            "content": system_content,
        },
        {
            "role": "user",
            "content": "Hi there!",
        }
    ],
    stream=stream,
    max_tokens=max_tokens,
    temperature=temperature,
    top_p=top_p,
    presence_penalty=presence_penalty,
    frequency_penalty=frequency_penalty,
    response_format=response_format,
    extra_body={
      "top_k": top_k,
      "repetition_penalty": repetition_penalty,
      "min_p": min_p
    }
  )

if stream:
    for chunk in chat_completion_res:
        print(chunk.choices[0].delta.content or "", end="")
else:
    print(chat_completion_res.choices[0].message.content)
  
  

Comment choisir le bon template de chat avec GPT-OSS

1. Conversation régulière ou Q&R – Afficher uniquement le résultat final aux utilisateurs

Scénario :
Vous construisez un chatbot et souhaitez que les utilisateurs ne voient que la réponse finale.
Par exemple : « Quel temps fait-il demain à Shanghai ? » ou « Écris-moi une demande de congé. »

Pratique recommandée :

  • Affichez uniquement le contenu après <|channel|>final<|message|> à l’utilisateur.
  • Ne pas montrer le raisonnement ou l’analyse du modèle aux utilisateurs.

2. Débogage ou compréhension du raisonnement du modèle

Scénario :
Vous êtes développeur et souhaitez voir comment le modèle arrive à ses réponses étape par étape.
Ou vous travaillez sur l’ingénierie des prompts et voulez inspecter la chaîne de pensée du modèle.

Pratique recommandée :

  • Imprimez ou enregistrez le contenu de <|channel|>analysis<|message|> pour vous-même ou votre équipe de développement.
  • Dans l’interface utilisateur, affichez uniquement la réponse finale.

3. Entraînement ou fine-tuning du modèle

Scénario :
Vous préparez des données d’entraînement et souhaitez que le modèle apprenne à la fois le processus de raisonnement et la réponse finale.
Vous espérez que le modèle générera sa propre chaîne de pensée à l’avenir.

Pratique recommandée :

  • Dans vos échantillons d’entraînement, incluez uniquement la chaîne de pensée pour le dernier tour de l’assistant ; n’ajoutez pas de raisonnement à chaque tour.
  • Utilisez la structure {"thinking": "...", "content": "..."} et assurez-vous que seul le dernier message de l’assistant inclut le champ thinking.

4. Quand des appels d’outils ou des plugins externes sont impliqués

Scénario :
Vous construisez un bot (avec GPT OSS) capable d’appeler des outils externes, comme vérifier la météo ou les cours de la bourse.
Le processus d’appel d’outil doit utiliser l’analyse du modèle pour fonctionner correctement.

Pratique recommandée :

  • Passez le contenu <|channel|>analysis<|message|> à votre module de gestion d’outils ou d’orchestration pour la prise de décision.
  • L’utilisateur ne doit toujours voir que la réponse finale, mais l’analyse est utilisée en arrière-plan.

5. Contrôle strict du rôle, du temps ou des capacités

Scénario :
Vous voulez que chaque conversation inclue des informations système, comme l’identité du modèle, la date ou la force de raisonnement.
Par exemple, lors du déploiement d’un assistant d’entreprise ou d’un bot d’examen.

Pratique recommandée :

  • Au début du chat, utilisez les rôles "system" ou "developer" pour fournir le contexte, ou définissez-les via des paramètres de template de chat comme model_identity ou reasoning_effort.

Avec une architecture MoE (Mixture-of-Experts) avancée, la prise en charge de contextes très longs et une compatibilité transparente avec les API OpenAI, GPT OSS est à la fois facile à intégrer et très performant. Que vous fassiez de la recherche, construisiez des chatbots ou développiez des outils avancés et des agents, GPT OSS offre une nouvelle norme pour des modèles de langage ouverts, évolutifs et sûrs.

Questions fréquentes

Quelles sont les principales caractéristiques de GPT OSS ?

Open source et poids ouverts : Téléchargez et exécutez sur votre propre matériel.
Deux tailles de modèle : 120B (~117B paramètres, 80GB VRAM) et 20B (~21B paramètres, 16GB VRAM).
Architecture moderne : MoE sparse, contexte long (jusqu’à 128k tokens), attention globale/locale, RoPE.
Compatibilité API : Fonctionne comme un remplacement direct de l’API OpenAI.

Quelles sont les exigences matérielles ?

GPT OSS 120B : 80GB VRAM GPU (H100, H200, GB200 recommandés).
GPT OSS 20B : 16GB VRAM GPU.

Comment accéder à GPT OSS via API ?

Novita AI fournit un accès API pour les modèles 120B et 20B avec des fenêtres de contexte généreuses et des prix abordables.
Inscrivez-vous, obtenez votre clé API et utilisez le point de terminaison compatible OpenAI.

Novita AI est une plateforme cloud d’IA qui offre aux développeurs un moyen facile de déployer des modèles d’IA via notre API simple, tout en fournissant un cloud GPU fiable et abordable pour construire et passer à l’échelle.

Lecture recommandée