Servidor Compatible con OpenAI de vLLM

Trooper.AI ofrece una plantilla de despliegue completamente automatizada para vLLM que instala, configura y ejecuta un servidor de inferencia compatible con OpenAI en tu servidor con GPU utilizando systemd.

Status Dashboard for vLLM on Trooper.AI
Tablero de estado para vLLM en Trooper.AI

El objetivo:

La plantilla realiza automáticamente:

Solo usted controla un conjunto reducido de parámetros públicos.

Comprensión de los números de GPU: vLLM funciona con múltiples GPUs, pero requiere que la cantidad de GPUs divida exactamente las cabezas de atención del modelo. Por ejemplo, un modelo como Gemma con 32 cabezas de atención puede usar 1, 2, 4 u 8 GPUs —pero no 3.


Aviso importante sobre las capturas de pantalla: Los servidores mostrados en las capturas son solo con fines demostrativos y están protegidos por el Firewall de Nivel de Red de Trooper.AI, incluido en todos los pedidos de Servidores GPU. Para información detallada, consulte 🛡️ Firewall personalizable de hardware de Trooper.AI


Configuración de la plantilla de vLLM

Esta plantilla despliega un servidor de inferencia vLLM listo para usar en tu instancia de Trooper.AI. Instala el entorno de ejecución necesario, configura el punto final de la API y prepara el modelo para solicitudes compatibles con OpenAI.

A continuación se ofrece una breve explicación de cada opción de configuración.

Basic settings to get startet with vLLM
Configuración básica para empezar con vLLM

commandline_args

Argumentos avanzados opcionales pasados directamente al comando de inicio del servidor vLLM

Úsalo si necesita habilitar funciones adicionales como:

  • paralelismo de tensores
  • cuantización
  • llamada de herramientas
  • configuración personalizada del tokenizador
  • decodificación especulativa

Ejemplo:

Código
--tensor-parallel-size 2

Déjalo vacío a menos que sepas exactamente qué banderas quieres usar.

hf_token

Tu token de acceso de HuggingFace

Esto es requerido si el modelo:

  • está restringido por acceso
  • requiere autenticación
  • o se descarga desde un repositorio privado

Para modelos públicos este campo puede dejarse vacío.

Puede generar un token aquí:

Código
https://huggingface.co/settings/tokens

El token solo se utiliza durante la descarga del modelo.

max_tokens

Define la ventana de contexto máxima que el servidor debe soportar.

Esto afecta directamente al uso de memoria VRAM.

Valores típicos:

¿Requiere autenticación o está alojado en un repositorio privado? Para modelos públicos este campo puede dejarse vacío. Puede generar un token aquí: Código https://huggingface.co/settings/tokens (el token solo se usa durante la descarga del modelo). max_tokens Define el tamaño máximo de ventana de contexto que debe soportar el servidor. Esto afecta directamente al uso de memoria VRAM. Valores típicos: Context Recommended small models 4096 medium models 8192 long context models 16384+. Nota: Valores más altos aumentan significativamente el consumo de memoria. Si su servidor se queda sin VRAM, reduzca este valor. modelname Identificador del modelo Hugging Face que vLLM debe cargar. Ejemplo: Código mistralai/Mistral-7B-Instruct-v0.2 Otros ejemplos compatibles: Qwen/Qwen2.5-14B-Instruct google/gemma-3-12b-it meta-llama/Meta-Llama-3-8B-Instruct. Recomendado
modelos pequeños 4096
modelos medianos 8192
modelos de contexto largo 16384+

Valores más altos aumentan significativamente el uso de memoria. Si tu servidor se queda sin VRAM, reduce este valor.

nombredelmodelo

El identificador del modelo de HuggingFace que debe cargar vLLM.

Ejemplo:

Código
mistralai/Ministral-3-14B-Instruct-2512

Otros ejemplos compatibles:

Código
Qwen/Qwen2.5-14B-Instruct
google/gemma-3-12b-it
meta-llama/Meta-Llama-3-8B-Instruct
... and many more

Asegúrate de que el modelo sea compatible con vLLM y quepa en la memoria de tu GPU.

Clave de autenticación

Esta es tu clave de autenticación de la API

Todas las solicitudes al servidor de vLLM deben incluir este token en el encabezado:

Código
Authorization: Bearer YOUR_TOKEN

Esto protege tu servidor de accesos no autorizados.

Ejemplo de solicitud:

Código
curl https://your-server/v1/chat/completions \
  -H "Authorization: Bearer YOUR_TOKEN"

Usa una cadena aleatoria fuerte.


Tamaño del Modelo y Requisitos de GPU

Puede utilizar una amplia gama de modelos de lenguaje grandes desde HuggingFace dentro de vLLM. Asegúrese de contar con suficiente memoria VRAM disponible, ya que el rendimiento depende de tener espacio libre adecuado en la VRAM de la GPU para albergar al modelo y el tamaño del contexto, multiplicado por el número de usuarios concurrentes.

Trooper.AI selecciona automáticamente la precisión óptima según la arquitectura de la GPU.

Cálculo de VRAM: Peso del modelo + ~25% búfer de caché KV.
La VRAM puede compartirse entre múltiples GPU mediante Tensor Parallelism (--tensor-parallel-size N).

Modelo Parámetros Precisión VRAM total mínimo Configuración de GPU GPU
Qwen/Qwen3-4B 4B BF16 ~8 GB 1× NVIDIA Tesla V100 (16 GB) / RTX 4070 Ti Super 1
Qwen/Qwen3-8B 8B BF16 ~20 GB 1 × RTX 3090 / RTX 4090 (24 GB) 1
mistralai/Ministral-3-14B-Instruct-2512 14B FP8 ~29 GB 1× RTX 4080 Pro de 32 GB o 1× A100 de 40 GB 1
Qwen/Qwen3-32B 32B FP8 ~40 GB 1× A100 40 GB o 2× RTX 4090 (2×24 GB) 1–2
meta-llama/Llama-3.1-8B-Instruct 8B FP8 ~20 GB 1 × RTX 3090 / RTX 4090 (24 GB) 1
meta-llama/Llama-3.1-70B-Instruct 70B FP8 ~90 GB 1 × NVIDIA RTX Pro 6000 Blackwell (96 GB) o 2 × A100 (2 × 40 GB) 1–2

Nota: FP8 se utiliza en arquitecturas Ada/Hopper (series RTX 40, A100, H100) para alcanzar el máximo rendimiento. \ Trooper.AI selecciona automáticamente la precisión óptima según tu GPU.
En configuraciones con múltiples GPUs se emplea Tensor Parallelism — la VRAM escala de forma lineal entre las tarjetas.


Parámetros públicos

Estos parámetros pueden configurarse mediante variables de entorno antes de ejecutar el instalador.

variable Descripción
TOKEN Clave de API para autenticación
modelname ruta del modelo de Hugging Face
hf_token Token de Hugging Face (para modelos restringidos)
commandline_args Argumentos adicionales opcionales de la CLI de vLLM

Benchmarking automático para ajustar parámetros

Status Dashboard for vLLM on Trooper.AI
Tablero de estado para vLLM en Trooper.AI

Nuestra plantilla incluye una prueba de rendimiento para ayudarle a optimizar su servidor de GPU para uso con múltiples agentes. Úsela para probar y comparar modelos, tipos de GPU y parámetros con el fin de maximizar la capacidad de procesamiento y los usuarios concurrentes.

¿Cómo funciona el benchmark?

El benchmark inicia múltiples agentes simultáneamente, cada uno interactuando con el punto de extremo (endpoint) del servidor vLLM en un tema diferente. Esto evita la caché y prueba el rendimiento en condiciones reales. Puede ver el throughput de cada agente, el throughput total y comparar costos para servicios basados en tokens como GPT-5 mini. Con frecuencia, un servidor vLLM de Trooper.AI es 2–4 veces más económico que los servicios grandes de inferencia basada en tokens mientras mantiene tu trabajo con modelos de lenguaje privado.


¿Qué hace la plantilla?

Startup of your vLLM server
Iniciación del servidor vLLM

  1. Detecta la arquitectura de GPU (Volta, Ampere, Ada, Hopper, Blackwell)

  2. Detecta el tamaño de la VRAM

  3. Selecciona precisión óptima automáticamente:

    • FP8 > BF16 > FP16
  4. Utiliza caché de clave-valor (KV) en FP16 para mayor estabilidad

  5. Ajustes:

    • secuencias concurrentes máximas
    • tamaño de tokens por lote
    • utilización de memoria
  6. Instala vLLM con CUDA

  7. Crea un servicio de systemd:

    Código
    vllm-server.service
    
  8. Inicia un servidor de API persistente compatible con OpenAI en un punto final seguro mediante HTTPS.

No se requiere ajuste manual.


Puntos finales de la API

URL base:

Código
http://YOUR_SERVER:PORT/v1

Puntos de conexión:

  • /v1/models
  • /v1/completions
  • /v1/chat/completions

Encabezado de autenticación:

Código
Authorization: Bearer YOUR_TOKEN_FROM_CONFIG

Ejemplo de cliente en Python

pythón
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://YOUR_SERVER_ENDPOINT.apps.trooper.ai/v1"
)

resp = client.chat.completions.create(
    model="Qwen/Qwen3-14B",
    messages=[
        {"role": "user", "content": "Hello, what is vLLM?"}
    ],
    max_tokens=200
)

print(resp.choices[0].message.content)

Ejemplo de cliente en Node.js

JavaScript
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "YOUR_API_KEY",
  baseURL: "https://YOUR_SERVER_ENDPOINT.apps.trooper.ai/v1"
});

const completion = await client.chat.completions.create({
  model: "Qwen/Qwen3-14B",
  messages: [
    { role: "user", content: "Hello from Node.js" }
  ],
  max_tokens: 200
});

console.log(completion.choices[0].message.content);

Ejemplo de cliente en PHP

PHP
<?php

$ch = curl_init("https://YOUR_SERVER_ENDPOINT.apps.trooper.ai/v1/chat/completions");

$data = [
  "model" => "Qwen/Qwen3-14B",
  "messages" => [
    ["role" => "user", "content" => "Hello from PHP"]
  ],
  "max_tokens" => 200
];

curl_setopt_array($ch, [
  CURLOPT_POST => true,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer YOUR_API_KEY",
    "Content-Type: application/json"
  ],
  CURLOPT_POSTFIELDS => json_encode($data)
]);

$response = curl_exec($ch);
curl_close($ch);

echo $response;

Ejemplo de transmisión en tiempo real

Transmisión en Python

pythón
resp = client.chat.completions.create(
    model="Qwen/Qwen3-14B",
    messages=[{"role":"user","content":"Explain transformers"}],
    stream=True
)

for chunk in resp:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

Transmisión en Node.js

JavaScript
const stream = await client.chat.completions.create({
  model: "Qwen/Qwen3-14B",
  messages: [{ role: "user", content: "Explain transformers" }],
  stream: true
});

for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0].delta?.content || "");
}

Casos de uso

Los servidores vLLM de Trooper.AI están diseñados para:

  • backends de IA en SaaS
  • chatbots
  • Asistentes de código
  • sistemas RAG
  • Servidores de inferencia multiusuario
  • Inferencia por lotes de alto rendimiento
  • entornos de alquiler de GPUs

Filosofía de Rendimiento

Trooper.AI utiliza:

  • Ajuste automático de arquitectura
  • Selección automática de precisión
  • agrupación por lotes consciente de la VRAM
  • Configuración estable de caché KV

Esto evita:

  • configuración incorrecta de la GPU
  • Fallas de precisión
  • fragmentación de la memoria VRAM
  • Inestabilidad de contexto

Comparación de costos: Ministral-3 en Trooper.AI frente a GPT-5 mini

Jeopardy-Game-Benchmark
Benchmark del Juego de Jeopardy

Para dar una idea aproximada de la economía del autoalojamiento (self-hosting), la siguiente comparación proyecta el costo de ejecutar Ministral-3-14B-Instruct-2512 en un servidor GPU de Trooper.AI frente al uso de la API de GPT-5 mini para la misma carga de trabajo.

La estimación se basa en la ejecución real del benchmark descrita en este artículo y proyectada para una hora de rendimiento continuo de inferencia.

Costo por hora en rendimiento medido

Plataforma Costo por hora
API de GPT-5 Mini ~$3.12
Ministral-3-14B en servidor de GPU de Trooper.AI €0.51 (~$0.54)

¿Cómo se calculó esto?

Esta estimación se basa en el prueba de rendimiento real realizada en este artículo utilizando Ministral-3-14B-Instruct-2512 en un servidor GPU de Trooper.AI.

Métrica Valor
Tokens totales procesados 307,028
tiempo de ejecución 153 segundos
Rendimiento ~2006 tokens/seg
Tokens proyectados/hora ~7,22 M de tokens

Distribución de tokens en el benchmark:

Tipo de token tokens
Tokens de entrada 275,186
Tokens de salida 31,842

Escalando esta proporción hasta ~7.22M tokens/hora y aplicando precios de GPT-5 mini:

  • $0.25 / 1 millón de tokens de entrada
  • $2.00 por cada 1 millón de tokens de salida

resulta en una estimación de ~€3.12 por hora para la misma carga de trabajo.

El servidor Ministral-3 en Trooper.AI funciona con un costo fijo de €0.51/hora (~$0.54), independientemente del volumen de tokens, lo que permite procesar millones de tokens por hora a un costo predecible.

Proyección de carga prolongada

Con el rendimiento observado podemos estimar el costo de ejecutar el sistema por una hora completa.

Métrica Valor
Tokenes por hora ~7,221,543
costo de GPT-5 mini $3.12
costo del servidor de Trooper.AI €0.51 (~$0.54)

Ahorros por hora

Ejecutar la misma carga de trabajo durante una hora seguiría siendo:

≈ 5.8× más barato en Trooper.AI

Cuándo el autoalojamiento se vuelve mucho más económico

Autohospedar modelos de lenguaje tiende a ser más económico cuando:

  • las cargas de trabajo contienen múltiples solicitudes pequeñas
  • inferencia paralela es requerida
  • las aplicaciones generan millones de tokens por hora
  • las cargas de trabajo se ejecutan de forma continua

Ejemplos típicos incluyen:

  • simulaciones de juegos con IA
  • sistemas de agentes
  • pipelines de automatización
  • aplicaciones de chat con muchos usuarios

Resumen

En este benchmark:

Métrica Resultado
Modelo Ministral-3-14B
Costo del servidor €0.51/hour
Tokens procesados 307k
tiempo de ejecución 153 segundos
Reducción de costos 82.8%
Ventaja de costo 5.8× más barato que el modelo GPT-5 mini

Para cargas de trabajo con alto rendimiento, ejecutar modelos como Ministral-3 en servidores GPU de Trooper.AI puede reducir drásticamente los costos de inferencia al mismo tiempo que elimina los límites de tasa de la API.


¿Por qué necesitas la plantilla de vLLM

La plantilla Trooper.AI vLLM te ofrece:

  • API compatible con OpenAI
  • Optimización automática de GPU
  • Valores predeterminados seguros para producción
  • Configuración mínima
  • Rendimiento máximo

Solo eliges el modelo y la clave de API.

Todo lo demás se optimiza automáticamente.


Solución de problemas

Con el panel de control puedes detectar fácilmente los problemas al iniciar y solucionarlos. ¿No tienes suficiente VRAM? Actualiza a un plan superior (Blib) en minutos desde el panel o ajusta el uso de la VRAM reduciendo el tamaño de la ventana de tokens. Revisa los registros en tiempo real con facilidad mediante el panel:

Crashed and how to fix it
Caída y cómo solucionarlo

Ministral 3

Para usar Ministral 3 necesitas normalmente Transformers 4.x y esto puede forzarse fácilmente con la casilla «Ministral 3 Fix» en la configuración del plantilla. Tenga en cuenta que vLLM es una herramienta experta y debe saber cómo optimizarla y solucionar problemas, pero lo ayudamos lo mejor posible.

Primero, active la corrección de Ministral 3:

Ministral 3 Fix Checkbox turn on!
¡Activar casilla de corrección para Ministral 3!

Segundo, usa estos parámetros para aprovechar al máximo las funciones del modelo:

Command Args for Ministral 3 vLLM
Argumentos de comando para Ministral 3 con vLLM

bash
--async-scheduling --tokenizer_mode mistral --config_format mistral --load_format mistral --enable-auto-tool-choice --tool-call-parser mistral --limit-mm-per-prompt='{"image":{"count":4,"width":768,"height":768}}'

Esto iniciará entonces Ministral 3 en tu servidor, siempre que los demás parámetros se ajusten al tamaño de tu VRAM.

Nemotron 3 Nano con Presupuesto de Tokens

Para NVIDIA Nemotron 3 Nano necesitas al menos la versión vLLM 0.18.1 (versión nocturna hasta el 2025-03-30). Puedes configurar el analizador y límite de tokens para usar thinking_token_budget. Lee más aquí: https://docs.vllm.ai/en/latest/features/reasoning_outputs/#online-serving Ten en cuenta que esto reducirá el throughput aproximadamente un -30%!

Modifica command_line_args como algo así:

bash
  --async-scheduling 
  --reasoning-parser-plugin /home/trooperai/vllm-server/nano_v3_reasoning_parser.py  
  --reasoning-parser nano_v3 
  --reasoning-config '{"think_start_str": "<think>", "think_end_str": " - I have to give the solution based on the thinking directly now:</think>"}'

Descargar el analizador desde:

bash
wget -O - https://huggingface.co/nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-BF16/resolve/main/nano_v3_reasoning_parser.py

Alternativamente puedes usar el parámetro nemotron_3_parser configurado en ON. Esto lo hará por ti. Asegúrate también de activar la versión nocturna para desarrolladores.

Así obtienes mayor control sobre la función de razonamiento de Nemotron 3 Nano.


Soporte

Para ajustes avanzados, configuración multi-GPU o plantillas personalizadas, comuníquese con el soporte de Trooper.AI.