OpenAI GPT-OSS: come eseguirlo localmente o auto-ospitarlo sul cloud, requisiti hardware

CometAPI
AnnaDec 2, 2025
OpenAI GPT-OSS: come eseguirlo localmente o auto-ospitarlo sul cloud, requisiti hardware

GPT-OSS è insolitamente ben progettato per l'accessibilità: il gpt-oss-20B La variante è progettata per funzionare su una singola GPU consumer (~16 GB VRAM) o recenti laptop di fascia alta che utilizzano build GGUF quantizzate, mentre gpt-oss-120BNonostante i suoi 117 miliardi di parametri totali, viene fornito con trucchi MoE/parametri attivi e una quantizzazione MXFP4 che gli consente di funzionare su singole GPU di classe H100 (≈80 GB) o su configurazioni multi-GPU. L'implementazione di un modello open source in stile GPT (spesso chiamato "GPT OSS"), che si tratti di un modello compatto da 6-7 miliardi per app locali o di un modello da oltre 70 miliardi per servizi di produzione, solleva la stessa domanda fondamentale: come eseguire GPT-OSS localmente o in modalità self-hosting su cloud, requisiti hardware

Cosa sono i modelli GPT-OSS e quali sono i loro requisiti hardware?

Che cos'è GPT-OSS?

GPT-OSS è la famiglia di modelli linguistici open-weight recentemente rilasciata da OpenAI (due varianti principali al momento del rilascio: versioni con ~20B e ~120B di parametri). Sono forniti con opzioni ottimizzate (mix di esperti, quantizzazione nativa MXFP4 nella distribuzione di OpenAI, innovazioni sparse/dense) che consentono l'esecuzione di questi conteggi di parametri relativamente elevati con una quantità di memoria significativamente inferiore rispetto a quella richiesta dalle copie FP32/FP16 più semplici. La release è stata esplicitamente concepita per rendere i modelli più potenti più ampiamente eseguibili e personalizzabili al di fuori degli hyperscaler.

Dati principali del prodotto (portante):

  • gpt-oss-20B è progettato per funzionare su una singola GPU consumer con ~16 GB di VRAM (e può essere utilizzato su desktop/laptop con quantizzazioni GGUF).
  • gpt-oss-120B (≈117B parametri, ~5.1B attivo parametri nel design MoE di OpenAI) è progettato in modo che il modello possa essere inserito in un singolo H100/A100 da 80 GB quando si utilizza MXFP4 e un supporto runtime specifico, oppure su configurazioni multi-GPU.

Fattori hardware che determinano i requisiti

  1. Dimensioni e architettura del modello – MoE e strati sparsi/densi possono modificare l'attivazione e la memoria di lavoro. (GPT-OSS utilizza componenti in stile misto di esperti.)
  2. Precisione e quantizzazione – FP32, FP16, BF16, 8 bit, 4 bit (GPTQ/AWQ/MXFP4). Precisioni inferiori riducono la memoria, ma possono influire sulla latenza e sulla fedeltà numerica. OpenAI fornisce pesi quantizzati MXFP4 per GPT-OSS.
  3. Lunghezza del contesto (lunghezza della sequenza) – i contesti più lunghi aumentano proporzionalmente l'utilizzo della cache di attivazione; GPT-OSS supporta contesti estremamente lunghi (fino a finestre di token molto grandi nella loro progettazione), il che moltiplica le esigenze di memoria.
  4. Dimensione del batch e concorrenza – servire più utenti contemporaneamente moltiplica la memoria per attivazioni e cache. Framework come vLLM, DeepSpeed ​​e Triton cercano di raggruppare e condividere in modo efficiente le attivazioni tra le richieste.
  5. Sovraccarico del framework di servizio – diversi server di inferenza (vLLM, text-generation-inference, llama.cpp, ONNX Runtime) aggiungono diversi overhead e ottimizzazioni.

Cosa “si adatta” dove: regole di memoria approssimative

Per la pianificazione dell'hardware sono importanti due concetti:

  1. Conteggio totale dei parametri — un limite superiore per la dimensione del modello (117B contro 21B).
  2. Set attivato/funzionante — in MoE o in determinate impostazioni di precisione la memoria attiva necessaria per l'inferenza può essere molto più piccola dei byte dei parametri grezzi.

Regole pratiche:

  • GPU di classe 16 GB/laptop edge → possibile per gpt-oss-20b se si utilizza la configurazione efficiente in termini di memoria fornita dal modello (o si esegue la quantizzazione aggressiva a 4 bit/NF4/AWQ).
  • 80 GB H100 / A100 80 GB → hosting a GPU singola per gpt-oss-120b nella configurazione consigliata. Per la produttività in produzione, potresti comunque aver bisogno di più GPU per il batching, la ridondanza o una latenza inferiore in caso di concorrenza.
  • Grandi configurazioni multi-GPU (cluster A100/H100) → necessario se si desidera eseguire molti utenti contemporaneamente a bassa latenza o eseguire un training/ottimizzazione intensiva. DeepSpeed/ZeRO e il parallelismo automatico dei tensori consentono di suddividere modelli di grandi dimensioni su più GPU.

Breve spunto: per la sperimentazione e l'uso locale leggero, si consiglia una GPU da 16-24 GB (o CPU + quantizzazione pesante). Per l'inferenza a GPU singola in produzione del modello gpt-oss di grandi dimensioni, si consiglia un H100 da 80 GB, altrimenti si può utilizzare il partizionamento multi-GPU.

Quanta potenza di calcolo è richiesta nella pratica per l'implementazione di GPT-OSS?

Inferenza vs formazione: budget molto diversi

  • Inferenza: il costo dominante è la memoria GPU (VRAM) e i kernel ottimizzati. Con runtime ottimizzati (vLLM, TensorRT, DeepSpeed-Inference) e quantizzazione, l'inferenza su gpt-oss-20b è fattibile su una GPU consumer da 16 GB; il modello MoE da 120 B è progettato per adattarsi a un H100 da 80 GB.
  • Messa a punto fine/addestramento su larga scala: ordini di grandezza più grandi: saranno necessarie molte GPU o istanze di training specializzate (cluster H100/A100 multi-nodo, budget DFLOP e I/O di storage). Questo articolo si concentra principalmente su inferenza/self-hosting e ricette di fine-tuning leggero (QLoRA/LoRA), non sul pre-training di più settimane.

CPU vs GPU vs acceleratori specializzati

  • Solo CPU: possibile con GGUF/llama.cpp e build tiny quantized, a favore della latenza a fronte di costi inferiori. Eseguire 20B sulla CPU senza quantizzazione è poco pratico. Utilizza la CPU quando la privacy o le operazioni offline locali sono essenziali e le tue esigenze di throughput sono basse.
  • GPU: preferito per latenza e throughput. Le moderne GPU ML (A100/H100/4090/4080) differiscono notevolmente per HBM/VRAM e fabric inter-GPU. La documentazione di gpt-oss raccomanda la classe H100 per la variante da 120B.
  • TPU / AMD MI300X: supportato da alcuni runtime (build vLLM/ROCm) e può essere conveniente in determinati cloud: consultare la documentazione del provider quando si sceglie l'hardware.

Come eseguire GPT-OSS localmente con un budget limitato? (codice + istruzioni passo passo)

Di seguito sono riportati due approcci pratici: (A) GPU per laptop/desktop con ~16–24 GB di VRAM utilizzando la quantizzazione a 4 bit e (B) CPU/GPU a bassa potenza (offline) tramite llama.cpp (GGUF) o build a bassa quantizzazione. Entrambe sono ampiamente utilizzate dai professionisti quando denaro e potenza sono limitati.

Nota: queste istruzioni presuppongono che tu disponga di un ambiente Python funzionante (Linux è consigliato per un supporto CUDA ottimale). Per Windows, utilizza WSL2 per una migliore compatibilità con le toolchain GPU.

A. Percorso GPU (consigliato per la migliore latenza con un budget limitato): quantizzazione + caricamento con bit e byte (4 bit)

Questo percorso si propone di correre openai/gpt-oss-20b su una singola GPU consumer (ad esempio, 24 GB 4090 o 16 GB 4080). Utilizza la quantizzazione a 4 bit bitsandbytes e Hugging Face transformers mappa-dispositivo/accelerare.

Fase 1: installazione delle nozioni di base

# Linux + CUDA (example); pick the correct torch CUDA wheel for your driver

python -m pip install -U pip
pip install torch --index-url https://download.pytorch.org/whl/cu121  # pick your CUDA version

pip install -U transformers accelerate bitsandbytes safetensors

(Se utilizzi conda, crea un env e installa la rotella Torch compatibile con CUDA per la tua piattaforma.)

Passaggio 2 — (Facoltativo) Accedi a Hugging Face per scaricare file di grandi dimensioni

huggingface-cli login

Passaggio 3 — Esempio Python (carica modello quantizzato a 4 bit)

# save as run_gptoss_4bit.py

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig

model_id = "openai/gpt-oss-20b"

bnb_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_compute_dtype=torch.float16,
    bnb_4bit_use_double_quant=True,
    bnb_4bit_quant_type="nf4"   # or "fp4"/"nf4" depending on support

)

tokenizer = AutoTokenizer.from_pretrained(model_id, use_fast=True)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    device_map="auto",                 # let transformers pick GPU + CPU offload if needed

    quantization_config=bnb_config,
    torch_dtype=torch.float16,
    trust_remote_code=True
)

prompt = "Write a concise summary of quantization for LLMs."
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
out = model.generate(**inputs, max_new_tokens=200)
print(tokenizer.decode(out, skip_special_tokens=True))

Note e suggerimenti

  • Usa il device_map="auto" so transformers utilizza automaticamente l'offload CPU/GPU. Se hai una singola GPU, device_map="auto" di solito mette tutto sulla GPU e scarica ciò che deve essere sulla CPU.
  • Se esaurisci la VRAM, aggiungi --offload_folder ./offload (o impostare offload_folder in from_pretrained) per scaricare i tensori su NVMe.
  • L'approccio Hugging Face + bitsandbytes è ampiamente documentato; per i dettagli, vedere la guida ai trasformatori a 4 bit.

B. Percorso CPU/budget ridotto (llama.cpp/GGUF)

Se non hai una GPU o ne hai una molto piccola, llama.cpp / Le build GGUF (e i file quantizzati AWQ/GPTQ) consentono di eseguire modelli sulla CPU con una latenza accettabile per singoli utenti.

Passaggio 1: installare i binding llama.cpp / Python

# Download and build (Linux)

git clone --recursive https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
make
# Python bindings (optional)

pip install llama-cpp-python

Passaggio 2: convertire safetensors → GGUF (se sono disponibili script di conversione per gpt-oss)
OpenAI/Hugging Face forniscono safetensor; convertitori della comunità (o script in llama.cpp) convertire in GGUF. Il comando esatto dipende dalla corrente llama.cpp strumenti; controlla il README del repository per convert.py/convert-safetensors-to-gguf(I thread della community discutono della conversione per i nuovi modelli.)

Passaggio 3: eseguire il modello con llama.cpp

# basic inference (example)

./main -m ./gpt-oss-20b.gguf -p "Explain GGUF and quantization in one paragraph." -n 256

Note e compromessi

  • Le prestazioni della CPU sono molto più lente. Utilizzate questa soluzione per test, privacy o agenti locali con bassissima concorrenza.
  • Non è pratico generare output lunghi o servire molti utenti contemporaneamente sulla CPU; passare a una GPU per la produzione.

Build quantizzate su disco (GPTQ/AWQ)

Se è necessario comprimere un modello di grandi dimensioni in una GPU di piccole dimensioni (ad esempio, 8-12 GB), i risultati della comunità mostrano che la quantizzazione in stile GPTQ/AWQ può far funzionare alcuni modelli da 20 B su GPU a bassa VRAM, ma spesso è necessaria la conversione Scopri di più CPU RAM e una GPU intermedia durante la conversione. Strumenti: GPTQ-for-LLaMa, AutoGPTQ (archiviato), AWQe QLLM.

Consigli pratici per budget limitati

  • Preferisci checkpoint quantizzati a 4 bit (GPTQ/AWQ/MXFP4) — spesso la differenza tra "funziona in 12 GB" e "richiede 80 GB".
  • Limita la lunghezza del contesto Per l'inferenza del budget: i contesti lunghi esplodono nella cache di attivazione. Se è necessario memorizzare contesti lunghi, valutare strategie di offload.
  • Utilizzare con attenzione la memoria unificata/offload nvmem — i framework possono offrire l'offload CPU/NVMe (DeepSpeed ​​ZeRO-Offload / ZeRO-Infinity), ma ciò aumenta la latenza.

Come ospitare autonomamente GPT-OSS sui provider cloud (guida pratica e indicazioni sui costi)?

Quale hardware cloud scegliere?

  • Singola GPU 80 GB H100: ideale per ospitare gpt-oss-120b per traffico da piccolo a medio. In termini AWS, le istanze P5 forniscono hardware H100; le varianti a GPU singola (annunciate nel 2025) rendono più economico il dimensionamento corretto per l'inferenza. Utilizzare la famiglia P5/ND H100 a seconda del provider.
  • Multi-GPU (8× H100): per un throughput elevato e ridondanza, utilizzare p5.48x, p5dn o un cluster equivalente. NVidia NVLink/NVSwitch nella stessa istanza riduce il sovraccarico delle comunicazioni tra GPU.
  • Nuvole alternative: CoreWeave, Lambda Labs, Paperspace, Runpod: spesso affitti di GPU spot/on-demand più economici per l'inferenza a raffica. Utilizzateli per lo sviluppo prima di impegnarvi in ​​un'infrastruttura a lungo termine.
  • Produzione all'avanguardia/pesante: AWS p5 (H100) (8 × H100 da 80 GB per istanza) — per la massima velocità effettiva per nodo e per esigenze di GPU singola da 80+ GB, oppure per 120+ GB con meno suddivisioni. P5 fornisce H100 e un ampio storage locale NVMe.

rmers, contenitori TGI (Text-Generation-Inference)/NVIDIA TGI o configurazione dell'inferenza DeepSpeed.

  1. Fornitura rapida di NVMe locale se si prevede di scaricare stati di attivazione di grandi dimensioni (ZeRO-Infinity). I nodi P4/P5 spesso dispongono di NVMe locale e di una larghezza di banda di rete molto elevata. ()
  2. Sicurezza e networking — posizionare gli endpoint di inferenza dietro i bilanciatori del carico, utilizzare gruppi di ridimensionamento automatico per i front-end e separare le problematiche (servizio del modello rispetto al routing delle richieste).
  3. Monitoraggio e SLO — traccia l'utilizzo della GPU, la memoria, i token/sec, la latenza p95 e gli errori; usa Prometheus + Grafana per le metriche.

Esempio di flusso di lavoro di auto-hosting nel cloud (AWS P4/P5)

  1. Scegli l'istanza (p4d/p5) in base alle esigenze di memoria del modello. Per gpt-oss-20B, una singola istanza da 16–32 GB è sufficiente; per gpt-oss-120B, scegli un'istanza HBM da 80 GB o multi-GPU.
  2. Preparare AMI/immagine — utilizzare un'AMI del fornitore che raggruppa CUDA, cuDNN e PyTorch ottimizzato (o immagini del fornitore con driver NVIDIA).
  3. Installare lo stack di servizio: vLLM, trasformatori, contenitori TGI (Text-Generation-Inference)/NVIDIA TGI o configurazione dell'inferenza DeepSpeed.
  4. Fornitura rapida di NVMe locale se si prevede di scaricare stati di attivazione di grandi dimensioni (ZeRO-Infinity). I nodi P4/P5 spesso dispongono di NVMe locale e di una larghezza di banda di rete molto elevata.
  5. Sicurezza e networking — posizionare gli endpoint di inferenza dietro i bilanciatori del carico, utilizzare gruppi di ridimensionamento automatico per i front-end e separare le problematiche (servizio del modello rispetto al routing delle richieste).
  6. Monitoraggio e SLO — traccia l'utilizzo della GPU, la memoria, i token/sec, la latenza p95 e gli errori; usa Prometheus + Grafana per le metriche.

Esempio di piano di auto-hosting (gpt-oss-20b, produzione su piccola scala)

Obiettivo: servire circa 20 utenti simultanei, obiettivo di risposta 1-2 secondi, sensibile ai costi.

  1. Instance: 1× A10G / 1× GPU da 24 GB (ad esempio, G5 / A10G / RTX 6000) per modello + 1× server bootstrap con CPU piccola.
  2. Runtime: vLLM come server modello (batch continuo) + gateway CometAPI.
  3. autoscale: utilizza un gruppo di ridimensionamento automatico con GPU AMI e un ALB + ridimensionamento automatico orizzontale in base alle metriche CPU/GPU.
  4. Archiviazione: NVMe locale per la memorizzazione nella cache del modello; archivio oggetti (S3) per l'archiviazione a freddo del modello.
  5. Controllo: Prometheus + Grafana, traccia l'utilizzo della GPU, la latenza, la lunghezza della coda.
  6. Sicurezza : VPC, subnet private, ruoli IAM per l'archiviazione del modello, certificati TLS.

Esempio di piano di auto-hosting (gpt-oss-120b, produzione)

Obiettivo: bassa latenza per molti utenti/aziende contemporanei.

  1. Instance: 1× H100 da 80 GB (GPU singola) per la baseline; scala orizzontalmente o utilizza istanze p5 multi-GPU per la produttività. Per una produttività elevata, replica il servizio a GPU singola (dati paralleli) o suddividi il modello su più GPU utilizzando DeepSpeed ​​(tensor/pipeline).
  2. Runtime: DeepSpeed-Inference con TP automatico o NVIDIA TensorRT (ove disponibile). Il supporto di vLLM per MoE/Multi-GPU e kernel ottimizzati può anche essere utile.
  3. kubernetes: utilizzare K8s con plugin di dispositivi e NVMe locale; utilizzare test di caos per la disponibilità.
  4. Ottimizzazione dei costi: istanze riservate per carichi prevedibili; istanze spot per carichi di lavoro batch.

Esempio: avviare un contenitore di servizio vLLM per gpt-oss-20b

# assume vllm is installed and CUDA is set up

vllm serve --model openai/gpt-oss-20b --port 8000 --num-gpus 1

Quindi punta il tuo front-end verso http://<host>:8000/v1/chat/completions (vLLM supporta API compatibili con OpenAI).

Suggerimenti per l'ottimizzazione dei costi

  • VM spot/preemptibili sono più economici del 50-80% ma richiedono strategie di checkpoint o di rapida rigenerazione.
  • Quantizzazione del modello riduce le esigenze di tipo di istanza (ad esempio, un 120B quantizzato potrebbe essere servito su un numero inferiore di GPU se i motori supportano la dequantizzazione al volo).
  • Utilizzare famiglie di istanze ottimizzate solo per inferenza (P5/P4/A2 Ultra) con NVLink/NVSwitch elevato quando si esegue il parallelismo del modello multi-GPU; la larghezza di banda della rete è importante per lo sharding inter-GPU.

Come bilanciare costi, latenza e qualità del modello

Quantizzazione: velocità vs qualità

Quantizzazione aggressiva (2-4 bit, AWQ/GPTQ) → Enormi risparmi di memoria e spesso modeste perdite di qualità per molte attività. Utilizzare AWQ/GPTQ per la produzione se si esegue il benchmarking del carico di lavoro specifico. La conversione potrebbe richiedere una grande quantità di memoria della CPU durante la quantizzazione.

Ottimizzazioni miste di precisione e kernel

Usa il fp16, bf16 dove supportato; combinare con kernel CUDA specializzati (FasterTransformer, TensorRT) per la massima produttività. NVIDIA/TensorRT offre decodifica speculativa e kernel ottimizzati per molti trasformatori (NVIDIA fornisce adattatori GPT-OSS ottimizzati).

Sicurezza e osservabilità

I modelli open-weight implicano che tu sia responsabile del monitoraggio di abusi, perdite di dati e deviazioni. Implementa la registrazione delle richieste, i filtri dei contenuti, la limitazione della velocità e la moderazione human-in-the-loop. Le note di rilascio e la scheda modello di OpenAI enfatizzano i test interni e le valutazioni esterne, ma l'auto-hosting sposta il perimetro di sicurezza a te.

Conclusioni

GPT-OSS sposta l'ago: i modelli che in precedenza richiedevano un'infrastruttura su misura massiccia sono ora più accessibili grazie a scelte architettoniche attente e distribuzioni quantizzate. Ma l'impiego rimane una disciplina: il dimensionamento dell'hardware deve tenere conto della precisione del modello, della lunghezza del contesto e del profilo di concorrenza della tua app. Utilizza piccoli banchi di prova (quantizzati a 20 miliardi) per misurare token/sec e latenza p95, quindi moltiplica per stimare il cloud computing e i costi di produzione.

Come accedere all'API GPT-OSS

CometAPI è una piattaforma API unificata che aggrega oltre 500 modelli di intelligenza artificiale (IA) di provider leader, come la serie GPT di OpenAI, Gemini di Google, Claude di Anthropic, Midjourney, Suno e altri, in un'unica interfaccia intuitiva per gli sviluppatori. Offrendo autenticazione, formattazione delle richieste e gestione delle risposte coerenti, CometAPI semplifica notevolmente l'integrazione delle funzionalità di IA nelle tue applicazioni. Che tu stia sviluppando chatbot, generatori di immagini, compositori musicali o pipeline di analisi basate sui dati, CometAPI ti consente di iterare più velocemente, controllare i costi e rimanere indipendente dal fornitore, il tutto sfruttando le più recenti innovazioni nell'ecosistema dell'IA.

Gli sviluppatori possono accedere GPT-OSS-20B e al GPT-OSS-120B attraverso CometaAPI, le ultime versioni dei modelli elencate sono quelle aggiornate alla data di pubblicazione dell'articolo. Per iniziare, esplora le capacità del modello in Parco giochi e consultare il Guida API per istruzioni dettagliate. Prima di accedere, assicurati di aver effettuato l'accesso a CometAPI e di aver ottenuto la chiave API. CometaAPI offrire un prezzo molto più basso rispetto al prezzo ufficiale per aiutarti a integrarti.

SHARE THIS BLOG

500+ Modelli in Una API

Fino al 20% di sconto