Alquila tu primera GPU sin miedo (~$1 la hora)
Llegó la hora del hardware de verdad. Vamos a alquilar una GPU de 48 GB, correr nuestros primeros comandos y apagarla sin dejar dinero tirado. Presupuesto total del capítulo: ~$3. No compras nada.
El proveedor será RunPod, pero lo que aprendes aquí sirve igual en Lambda, Vast.ai o el que sea: todos venden lo mismo, un contenedor con GPU y acceso por terminal.
Qué es exactamente un "pod"
Un pod es un contenedor con GPU adentro. Se alquila por hora, arranca en 1-2 minutos y se accede por una terminal web o SSH. Tiene dos discos que debes distinguir desde el minuto uno:
| Disco | Qué va ahí | Sobrevive al reinicio |
|---|---|---|
| Container disk (efímero) | Binarios, venvs, cachés de instalación | NO |
| Volume (persistente) | Pesos del modelo, tus configs | SÍ |
La lección más cara de este capítulo vive en esa tabla. Los pods de RunPod son contenedores sin Docker adentro: todo se instala nativo.
Elegir la GPU correcta
Para esta guía necesitas una GPU Ada o superior, porque el modelo que serviremos usa FP8 y las Ampere no lo soportan por hardware.
| GPU | VRAM | ¿Sirve? |
|---|---|---|
| L40S | 48 GB | Sí, la recomendada |
| L40 / RTX 6000 Ada | 48 GB | Sí, alternativa válida |
| H100 | 80 GB | Sí, carísima para aprender |
| A40 / A100 / A6000 | 40-80 GB | NO: Ampere, sin FP8 |
Yo pagué la L40S a ~$1,09/h. El precio cambia; fíjate en el listado del día y anótalo en tu runbook.
Crear el pod, paso a paso
- Crea cuenta en runpod.io y agrega $20 en Billing. Con $20 haces esta guía entera dos veces.
- Pods → Deploy.
- GPU: L40S, cantidad 1.
- Template: RunPod PyTorch 2.x (el que traiga CUDA 12.x).
- Abre Edit Template y deja:
Container Disk: 30 GB
Volume Disk: 80 GB → Volume Mount Path: /workspace
Expose HTTP Ports: 8000,4000
Expose TCP Ports: 22
Los puertos hay que declararlos ahora. Agregarlos después obliga a recrear el contenedor, y eso borra el container disk con todos tus venvs. El volumen /workspace sobrevive, pero reinstalar es tiempo perdido. Si algún día quieres dashboards, expón también 3000,9090.
- Deploy On-Demand → espera a que diga Running (1-2 min).
- Connect → Start Web Terminal. Es una terminal en el navegador, cero configuración.
Tu URL pública y tu Pod ID
En la tarjeta del pod está tu Pod ID (algo como a1b2c3d4e5). Tus servicios tendrán URLs públicas:
https://<POD_ID>-8000.proxy.runpod.net ← lo que expongas en el 8000
https://<POD_ID>-4000.proxy.runpod.net ← lo que expongas en el 4000
Nota mental de seguridad: esa URL la puede abrir cualquiera con el ID. Por eso en el capítulo 4 el servidor arranca con --api-key y en el 7 metemos llaves por persona. La seguridad no es un extra, es la arquitectura.
Verifica en Connect que aparezcan HTTP Service [Port 8000] y [Port 4000]. El template de PyTorch trae solo el 8888 (Jupyter): si es lo único que ves, los puertos no se declararon. Plan B sin recrear: mata Jupyter (pkill -f jupyter) y usa el 8888 para tu servicio.
Prepara el disco (la lección cara)
# terminal del pod
df -h / /workspace
Regla de esta guía: pesos en /workspace, binarios en el container disk. Dos razones que aprendí rompiéndolo:
- Los volúmenes de red no soportan
chmod: instalar ahí revienta conOperation not permitted (os error 1). - Al reiniciar el pod,
/root(container disk) se limpia y/workspacesobrevive. Si los pesos están en el volumen, no los vuelves a descargar (~10 minutos que no querrás pagar dos veces).
Guarda las variables en .bashrc, que vive en /workspace y por lo tanto persiste:
# terminal del pod
echo 'export HF_HOME=/workspace/hf' >> ~/.bashrc
source ~/.bashrc
La regla de oro del dinero
| Estado | Qué cobra |
|---|---|
| Pod Running | GPU completa por hora (~$1,09/h = ~$26/día si lo olvidas) |
| Pod Stop | Solo el volumen: ~$8/mes por 80 GB |
| Pod Destroy | Nada. Re-descargar el modelo: ~10 min |
- Vas a volver esta semana → Stop.
- No vas a volver esta semana → Destroy sin culpa. La nube es desechable, ese es el punto.
Checkpoint: pod Running, ~$3 gastados, y sabes entrar, mirar discos y apagar sin quemar dinero. El error típico de este nivel no es técnico: es dejar el pod corriendo toda la noche.
Profundicé los 7 errores del entorno alquilado en Los 7 bugs del entorno alquilado, y el análisis de VRAM por precio en ¿Qué hardware necesitas?.
Siguiente capítulo
Instalamos vLLM dentro del pod, descargamos un modelo de 30B y encendemos tu primer servidor de inferencia en internet.
¿Alquilaste ya? Cuéntame qué GPU y a qué precio la encontraste, los precios se mueven más de lo que crees.