Blog / Tutoriales / Cómo ejecutar gpt-oss-120b en un solo GPU VPS (96 GB de VRAM)
(last updated: )

Cómo ejecutar gpt-oss-120b en un solo GPU VPS (96 GB de VRAM)

gpt-oss-120b es el modelo de razonamiento con pesos abiertos de OpenAI y funciona en un solo GPU VPS con 96 GB de VRAM. Sus pesos mixture-of-experts se distribuyen de forma nativa en MXFP4 de 4 bits. Según OpenAI, el modelo usa menos de 80 GB…

Lectura de 12 min

gpt-oss-120b es el modelo de razonamiento con pesos abiertos de OpenAI y funciona en un solo GPU VPS con 96 GB de VRAM. Sus pesos mixture-of-experts se distribuyen de forma nativa en MXFP4 de 4 bits. Según OpenAI, el modelo usa menos de 80 GB de memoria, lo que deja espacio para la caché KV. Esta guía explica el cálculo de memoria, la configuración de Ollama y vLLM y qué puedes esperar en la práctica.

¿Qué es gpt-oss? Modelos, licencia y arquitectura

gpt-oss es una familia de dos modelos de razonamiento mixture-of-experts con pesos abiertos, lanzados por OpenAI el 5 de agosto de 2025 como gpt-oss-120b y gpt-oss-20b. «Pesos abiertos» significa que puedes descargar los pesos entrenados y ejecutar los modelos por tu cuenta. No equivale a código abierto en sentido estricto: los pesos están publicados, pero eso no aporta información sobre los datos ni el código de entrenamiento.

Ambos modelos se publicaron bajo la licencia Apache 2.0. La publicación de lanzamiento de Hugging Face indica que también existe una breve política de uso complementaria. Lee ambos textos antes de lanzar un producto comercial. En su arquitectura interna, gpt-oss-120b tiene 36 capas y 128 expertos por capa, con 4 activos por token (gpt-oss-20b: 24 capas, 32 expertos y 4 activos). La atención alterna entre capas con contexto completo y capas con una ventana deslizante de 128 tokens. Los modelos admiten hasta 128K tokens de contexto.

Especificacióngpt-oss-120bgpt-oss-20b
Parámetros totales117B21B
Parámetros activos por token5.1B3.6B
Precisión nativaMXFP4 en los pesos MoEMXFP4 en los pesos MoE
Objetivo de memoria indicado por OpenAIMenos de 80 GBMenos de 16 GB
Tamaño de descarga en Ollama65GB14GB

Requisitos de VRAM de gpt-oss: ¿120b cabe en 96 GB?

Sí. La biblioteca de Ollama indica que los pesos de gpt-oss:120b ocupan 65GB. Una tarjeta de 96 GB deja unos 31 GB para la caché KV, las activaciones y el contexto de CUDA. Los pesos representan un costo fijo. La caché KV crece con cada token de contexto y con cada solicitud simultánea.

La fórmula de la caché KV es: bytes por token = 2 (claves y valores) × capas × cabezas KV × dimensión de cabeza × bytes por elemento. Para gpt-oss-120b, el cálculo es 2 × 36 capas × 8 cabezas KV × 64 de dimensión de cabeza × 2 bytes (BF16) = 73,728 bytes, unos 72 KiB por token. Los valores de cabezas y dimensión proceden de la documentación del modelo gpt-oss de NVIDIA. Este es el peor caso, donde todas las capas almacenan el contexto completo. La mitad usa una ventana deslizante de 128 tokens. Un motor que aproveche esta característica necesitará menos memoria, según el motor y su versión.

ElementoTamañoCómo se calcula
VRAM de la tarjeta96 GBNVIDIA RTX PRO 6000 Blackwell Server Edition, según la publicación de lanzamiento publicada por Contabo
Pesos del modelo (MXFP4)65 GBTamaño de gpt-oss:120b en la biblioteca de Ollama
Sobrecarga de ejecución≈5 GBEstimación para el contexto de CUDA, las activaciones y los búferes; no es una medición
Espacio restante para la caché KV≈26 GB96 − 65 − 5
Caché KV, una secuencia de 8K tokens≈0.6 GB8,192 × 73,728 bytes
Caché KV, una secuencia de 32K tokens≈2.4 GB32,768 × 73,728 bytes
Caché KV, una secuencia de 128K tokens≈9.7 GB131,072 × 73,728 bytes

Toma estas cifras como un límite máximo: el espacio de 26 GB puede contener unas dos secuencias completas de 128K, cerca de diez de 32K o unas cuarenta de 8K. Para adaptar el cálculo a otra tarjeta, sustituye las filas de VRAM y pesos y repite las operaciones. Consulta el método general en la guía para calcular la VRAM de los LLM.

Prepara el GPU VPS: drivers y Docker

Prepara primero el host. Sigue esta breve lista para un GPU VPS nuevo:

  • Confirma que el driver detecte la tarjeta. nvidia-smi debe mostrar la GPU y cerca de 96 GB de memoria.
  • Instala Docker con la guía para instalar Docker en Ubuntu si piensas usar vLLM u Open WebUI.
  • Agrega acceso a la GPU desde los contenedores con la guía de NVIDIA Container Toolkit, en lugar de repetir aquí los pasos del driver.
  • No expongas un puerto de inferencia a internet. Vincúlalo a localhost o restringe el acceso. Aprende a configurar UFW antes de abrir cualquier puerto.

nvidia-smi
docker run –rm –gpus all ubuntu nvidia-smi

Elige un motor de inferencia: Ollama, vLLM o llama.cpp

La publicación de lanzamiento de Hugging Face incluye transformers, vLLM, llama.cpp y Ollama entre los motores compatibles con gpt-oss. Elige según tu carga de trabajo, no según el modelo.

MotorTrabajo de configuraciónRecomendado paraAPI compatible con OpenAIFormato de gpt-oss-120b
OllamaMínimo: un instalador y una descargaUn desarrollador o un equipo pequeñoSí, en /v1Ejecuta MXFP4 de forma nativa, según la página de Ollama
vLLMMedio: imagen de Docker y opcionesMuchas aplicaciones y usuarios simultáneosSí, mediante vllm serveMXFP4 es el valor predeterminado en la receta de vLLM
llama.cppMedio: compilación o binario y archivos GGUFConfiguraciones ligeras y experimentaciónSí, mediante su servidorCompatible; confirma el método de cuantización en su documentación

Empieza con Ollama si quieres un endpoint funcionando en pocos minutos. Cambia a vLLM cuando las solicitudes simultáneas importen más que el tiempo de configuración.

Ejecuta gpt-oss-120b con Ollama en un GPU VPS

Instala Ollama y descarga gpt-oss:120b. Evita la etiqueta gpt-oss:120b-cloud, ya que se ejecuta en el servicio de Ollama y no en tu servidor.

curl -fsSL https://ollama.com/install.sh | sh
ollama pull gpt-oss:120b
ollama run gpt-oss:120b

Confirma que el modelo esté en la GPU y no dividido con el CPU. ollama ps muestra el modelo cargado y cómo se reparten los procesadores. nvidia-smi debe indicar que se usan unos 65 GB de VRAM o más.

ollama ps
nvidia-smi

La API escucha en el puerto 11434 y ofrece endpoints compatibles con OpenAI en /v1. Ollama aplica su propia longitud de contexto predeterminada, que puede ser muy inferior a los 128K del modelo. Comprueba el valor y auméntalo de forma deliberada con la tabla anterior para calcular la caché KV.

curl http://localhost:11434/v1/chat/completions \
  -H «Content-Type: application/json» \
  -d ‘{«model»:»gpt-oss:120b»,»reasoning_effort»:»medium»,
       «messages»:[{«role»:»user»,»content»:»Explain MXFP4 in two sentences.»}]}’

Sirve gpt-oss-120b con vLLM y una API compatible con OpenAI

Esta sección solo cubre los aspectos específicos de gpt-oss. Para configurar el contenedor, consulta la guía de vLLM con Docker. La receta de vLLM requiere la versión 0.10.1 o posterior y usa la imagen vllm/vllm-openai.

docker run –gpus all –ipc=host -p 127.0.0.1:8000:8000 \
  -v ~/.cache/huggingface:/root/.cache/huggingface \
  vllm/vllm-openai:latest \
  –model openai/gpt-oss-120b \
  –max-model-len 32768 \
  –gpu-memory-utilization 0.90 \
  –tool-call-parser openai \
  –enable-auto-tool-choice

  • –max-model-len usa de forma predeterminada el máximo del modelo. Establecerlo en 32,768 limita la caché KV por secuencia. Elige el valor con la tabla de memoria.
  • –gpu-memory-utilization define la fracción de VRAM que puede reservar vLLM. Los ejemplos de la receta usan valores de 0.85 a 0.95.
  • –tool-call-parser openai junto con –enable-auto-tool-choice activa las llamadas a funciones. vLLM solo admite tool_choice con el valor auto.
  • Los valores 0.90 y 32,768 son puntos de partida basados en el cálculo anterior, no recomendaciones del proveedor. Cuando funcione, fija una etiqueta de imagen que hayas probado.

Las páginas de recetas de vLLM mencionan H100, H200 y B200 entre las GPU NVIDIA compatibles, pero no incluyen la RTX PRO 6000. Revisa las notas de la versión correspondiente a la etiqueta que descargues. Cuando el servicio arranque, el endpoint responderá en http://localhost:8000/v1.

Niveles de razonamiento, herramientas y contexto de gpt-oss

  • Esfuerzo de razonamiento: low, medium y high equilibran la latencia y la calidad de la respuesta. medium es el valor predeterminado en Ollama. La ficha del modelo indica que puedes definir el nivel en el prompt del sistema, por ejemplo, «Reasoning: high». Ollama también acepta reasoning_effort en /v1/chat/completions.
  • Salida de razonamiento: el modelo genera una cadena de pensamiento antes de responder. Ollama la devuelve en un campo message.thinking separado. vLLM puede omitirla si include_reasoning tiene el valor false. Ocúltala de forma predeterminada en las vistas destinadas a usuarios finales.
  • Llamadas a funciones y salidas estructuradas: ambas son capacidades nativas. Ollama acepta tools en /v1/chat/completions, pero no tool_choice, y ofrece un modo JSON. vLLM necesita las dos opciones anteriores.
  • Longitud de contexto: admite 128K tokens de forma nativa. En el peor caso calculado arriba, una secuencia completa consume unos 9.7 GB de caché KV.
  • Formato del prompt: el modelo solo funciona correctamente con el formato harmony. Los motores lo aplican mediante plantillas de chat, así que usa los endpoints de chat.

Rendimiento de gpt-oss-120b en una sola GPU

No se incluye una cifra de tokens por segundo porque los datos publicados disponibles no mencionan esta GPU. Usar la cifra de otra tarjeta produciría una expectativa engañosa. Estos factores determinan el resultado.

  • Parámetros activos: solo 5.1B de los 117B parámetros se ejecutan por token, lo que favorece la decodificación en una sola tarjeta.
  • Tamaño del batch: vLLM agrupa solicitudes simultáneas. Esto aumenta el rendimiento total, aunque cada solicitud tarda más.
  • Longitud del contexto: los prompts largos requieren más tiempo de prefill. Una caché mayor también exige más lecturas de memoria por cada token generado.
  • Esfuerzo de razonamiento: high genera más tokens de razonamiento antes de responder, por lo que la latencia aumenta aunque la velocidad por token sea la misma.
  • Motor y versión: los kernels varían entre Ollama, vLLM y llama.cpp. La compatibilidad con gpt-oss sigue cambiando.

Haz pruebas de carga con tus prompts reales y supervisa en conjunto el tiempo hasta el primer token, la velocidad por solicitud y el rendimiento total. Un servidor GPU para IA que responde rápido en un solo chat puede comportarse de manera muy distinta con diez chats simultáneos.

Agrega una interfaz de chat para gpt-oss con Open WebUI

Open WebUI se comunica con Ollama o con cualquier endpoint compatible con OpenAI, por lo que funciona con ambas configuraciones. La guía de Open WebUI explica cómo configurar el contenedor. Estos son los ajustes específicos para gpt-oss.

  • Para Ollama, usa la URL base en el puerto 11434. Para vLLM, agrega una conexión compatible con OpenAI cuya URL base termine en /v1 y usa una clave de marcador de posición.
  • Dentro de un contenedor, localhost se refiere al propio contenedor. Usa la dirección del host.
  • El razonamiento llega separado de la respuesta. Para fijar el nivel de esfuerzo, agrega «Reasoning: high» al prompt del sistema de un preset del modelo.

¿Puedes ejecutar gpt-oss-20b en un servidor más pequeño?

Sí. gpt-oss-20b tiene 21B parámetros totales y 3.6B activos. OpenAI indica que funciona con menos de 16 GB de memoria y la descarga de Ollama ocupa 14GB. Una GPU con 16 GB de VRAM o más ofrece margen suficiente.

También puedes ejecutarlo sin GPU, aunque será más lento. Según Ollama, el modelo 20b funciona en sistemas con apenas 16GB de memoria. Sin embargo, solo los pesos ocupan 14GB, por lo que un VPS basado únicamente en CPU necesita bastante más memoria para el sistema operativo y el contexto. La velocidad depende del ancho de banda de la memoria y del número de núcleos, así que no se indica una cifra. Un servidor CPU con bastante RAM sirve para un usuario, un prototipo o un agente con poco tráfico. Cambia a una GPU si tienes usuarios simultáneos, contextos largos o necesitas gpt-oss-120b. Sus pesos de 65GB no resultan prácticos en un CPU VPS.

Por qué ejecutar gpt-oss en un GPU VPS de Contabo

El cálculo anterior requiere una tarjeta de 96 GB. El GPU VPS de Contabo incluye una NVIDIA RTX PRO 6000 Blackwell Server Edition dedicada con 96 GB de VRAM GDDR7. Según la publicación de lanzamiento publicada por Contabo, el plan también incluye 18 vCPU, 96 GB de RAM y 900 GB de almacenamiento NVMe por €999 al mes, sin IVA.

Un endpoint de inferencia o un agente que funciona todo el día se adapta mejor a un precio mensual fijo que a la facturación de GPU por hora, ya que el costo no cambia con el uso. Para evaluar las opciones, compara los precios de GPU VPS entre proveedores. Para gpt-oss-20b o un experimento pequeño, un Cloud VPS con bastante RAM ofrece un punto de partida de menor costo. En este caso se aprovecha la relación RAM por euro de la línea Core. También puedes consultar la guía sobre inferencia de LLM en un GPU VPS.

Preguntas frecuentes sobre gpt-oss en un GPU VPS

¿gpt-oss-120b puede ejecutarse en una sola GPU?

Sí. OpenAI indica que gpt-oss-120b funciona con menos de 80 GB de memoria gracias a sus pesos MXFP4 nativos. Ollama muestra un tamaño de 65GB para la etiqueta 120b. En una tarjeta de 96 GB quedan unos 30 GB para la caché KV y la sobrecarga. Una tarjeta más pequeña requiere descargar parte del modelo a la RAM del sistema, lo que reduce la velocidad.

¿Cuánta VRAM necesita gpt-oss-20b?

OpenAI indica que gpt-oss-20b funciona con menos de 16 GB de memoria y la descarga de Ollama ocupa 14GB. Esto cubre los pesos y un contexto moderado. Los contextos largos y varias solicitudes simultáneas aumentan la caché KV, así que deja margen por encima de 16 GB.

¿gpt-oss permite el uso comercial gratuito?

gpt-oss se publicó bajo la licencia Apache 2.0, que permite el uso comercial. Hugging Face también menciona una breve política de uso complementaria. Lee ambos documentos y consulta a tu equipo legal antes de lanzar un producto, ya que esta respuesta no constituye asesoría legal.

¿Conviene usar Ollama o vLLM para gpt-oss?

Usa Ollama para un desarrollador o un equipo pequeño: requiere un instalador y una descarga. Usa vLLM cuando muchos usuarios o aplicaciones llamen al endpoint al mismo tiempo, ya que agrupa las solicitudes simultáneas. Ambos ofrecen API compatibles con OpenAI, por lo que cambiar después exige pocos ajustes en el código del cliente.

¿Puedo ejecutar gpt-oss en un VPS basado únicamente en CPU?

gpt-oss-20b puede ejecutarse en CPU si el servidor tiene suficiente RAM para sus 14GB de pesos, el sistema y el contexto. Será más lento que en una GPU. gpt-oss-120b necesita unos 65GB solo para los pesos, por lo que alojarlo únicamente en CPU resulta poco práctico en la mayoría de los planes VPS.

Aviso: Las especificaciones, funciones y precios de los productos mencionados en este artículo pueden cambiar y variar según la región, el periodo de facturación y las promociones activas. Consulta el sitio web oficial de cada proveedor o marca para confirmar las cifras, los precios y los tipos de cambio locales vigentes.