ConCIENCIA
← Conciencia AI Labs

Experimentos · ejecutado (real)

EXP-003 — NVIDIA H200 GPU Inference

ExperimentalREAL
Status
SESSION 001 COMPLETED
Provider
Nebius AI Cloud
GPU
NVIDIA H200 NVLink
Model
Qwen/Qwen3-0.6B
VM
STOPPED

GPU real · evidencia sanitizada · sin demo en línea

Latencia media

207,73 ms

Throughput observado

559,86 tokens/s

Solicitudes

10 secuenciales

Tokens de salida

1.163

Gasto de sesión

~USD 1,70 en ~55 min

Estado de la VM

STOPPED

Objetivo

Validar de punta a punta el camino desde una instancia Nebius con una NVIDIA H200 hasta un endpoint de inferencia compatible con OpenAI: reconocimiento de GPU, CUDA, PyTorch, DCGM, acceso a GPU desde Docker, servicio con vLLM y un benchmark HTTP secuencial pequeño, con evidencia persistida y sanitizada.

Es una validación de ingeniería sobre una sola GPU y un modelo de 0,6B. No es un benchmark de throughput máximo, ni una evaluación de calidad del modelo, ni una comparación entre proveedores.

Arquitectura

Cliente HTTPvLLM 0.32.0Qwen3-0.6BNVIDIA H200Respuesta

Cliente y contenedor corren en la misma VM. vLLM publica el puerto 8000 solo en 127.0.0.1; no hay endpoint público ni demo permanente. La VM quedó detenida al cierre.

Infraestructura

GPU
1× NVIDIA H200 NVLink · 143.771 MiB VRAM
CPU / RAM
16 vCPU · 200 GiB provisionados
Disco
100 GiB SSD administrado
OS / kernel
Ubuntu 24.04 LTS · 6.11.0-1016-nvidia
Driver / CUDA
580.173.02 · CUDA 13.0
PyTorch / DCGM
2.13.0+cu130 · DCGM 4.7.0
Docker / vLLM
29.8.2 · 0.32.0
Modelo
Qwen/Qwen3-0.6B (`max_model_len` 4096)

Validaciones GPU

GPUH200 reconocida; 143.771 MiB; 41 °C en baseline
CUDA Toolkitnvcc 13.0; cuda-toolkit 13.0.3.0
PyTorchCUDA disponible y operación en GPU (registro de sesión)
DCGMNivel 1: PASS (software + GPU0)
DockerContenedor con acceso a GPU
vLLMAPI OpenAI-compatible en 127.0.0.1:8000

La salida de la operación PyTorch y del chequeo Docker no se persistió como archivo en Session 001. Session 002 debe capturarla.

Model serving

Motor
vLLM 0.32.0 · FlashAttention 3 · bfloat16
Imagen
vllm/vllm-openai@sha256:befccf0e…5b34
Contexto
max_model_len 4096 · tensor parallel 1
KV cache
1.176.512 tokens · concurrencia máx. 287,23× a 4.096 tokens

Metodología del benchmark

10 solicitudes HTTP secuenciales, sin concurrencia y sin warm-up. La latencia es wall-clock de extremo a extremo alrededor de cada round-trip; los tokens de salida se leen de usage.completion_tokens. El throughput agregado es la suma de tokens dividida por la suma de latencias. No se midió TTFT ni latencia inter-token.

#latencia (s)tokenstok/s e2efinish
10,2437127521,16stop
20,2265128565,22length
30,1935108558,12stop
40,170495557,64stop
50,2253128568,05length
60,2076118568,44stop
70,2255128567,58length
80,2265128565,17length
90,168295564,96stop
100,1901108568,11stop

Total: 1.163 tokens de salida en 2,0773 s acumulados. Media: 0,20773 s. Throughput agregado: 559,86 tokens/s. Cuatro respuestas alcanzaron max_tokens=128: son válidas a nivel HTTP pero su contenido está truncado.

Costo de la sesión

Gasto observado: ~USD 1,70 en una sesión de ~55 minutos. Promedio aritmético: ~USD 1,85/h. La política Spot de USD 2,70/GPU-hora era un precio máximo, no un presupuesto de sesión. El gasto no está conciliado con un desglose de Billing; el disco administrado puede seguir facturándose con la VM detenida.

What this proves / What this does not prove

What this proves

  • La H200 es reconocida y utilizable desde CUDA, PyTorch, DCGM y Docker.
  • vLLM 0.32.0 sirve Qwen3-0.6B con una API compatible con OpenAI.
  • El camino completo VM → contenedor → GPU → respuesta HTTP funciona y deja evidencia.
  • Un benchmark secuencial pequeño produce métricas reproducibles y auditables.

What this does not prove

  • No mide el throughput máximo de una H200 ni el rendimiento en concurrencia.
  • No evalúa la calidad, precisión ni utilidad real del modelo.
  • No compara proveedores ni establece un SLA o precio sostenido.
  • No demuestra una AI Factory en producción ni un servicio con demo permanente.

Limitaciones

  • Una sola GPU, un solo nodo y un modelo pequeño (0,6B).
  • Solicitudes secuenciales; sin concurrencia, batching ni medición de TTFT.
  • Sin warm-up y sin semilla fija; temperatura 0,6.
  • 4 de 10 respuestas alcanzaron max_tokens=128: el contenido está truncado.
  • El gasto es una observación del operador, no una conciliación de Billing.
  • La provisión fue por consola; no se usó Terraform ni cloud-init.

Reproducibilidad

  1. 01Aprovisionar una VM con 1× H200 en Nebius eu-north1 y acceso SSH por clave.
  2. 02Restringir el Security Group y mantener el puerto 8000 solo en loopback.
  3. 03Validar GPU, CUDA, PyTorch, DCGM y Docker con scripts/validate-gpu.sh.
  4. 04Levantar vLLM con scripts/docker-run.sh (imagen por digest, modelo Qwen3-0.6B).
  5. 05Validar /health, /v1/models y una completion con scripts/validate-inference.sh.
  6. 06Ejecutar benchmarks/benchmark_api.py y persistir el JSON.
  7. 07Sanitizar la evidencia, verificar el escaneo residual y detener la VM.

La provisión histórica fue por consola. Los scripts de validación y el docker-run.sh son referencia reproducible; Terraform y cloud-init no se usaron ni se validaron. La evidencia cruda está sanitizada en el repositorio del Lab.

Source / report / evidence

No hay botón de “Live Demo”: el servicio estaba desplegado en una VM que quedó STOPPED al cierre.