Puntos clave
- Los pesos del modelo necesitan aproximadamente 2 bytes por parámetro a 16 bits, 1 a 8 bits y 0.5 a 4 bits, más espacio para la caché de contexto.
- Una GPU alquilada cobra por cada hora que está encendida, mientras que una API cobra solo por los tokens que envías y recibes.
- A $0.15 por 1M de tokens de entrada y $0.50 por 1M de tokens de salida, 20,000 chats al día de 1,500 de entrada y 500 de salida cuestan $285 al mes.
- El autoalojamiento gana cuando necesitas ajuste fino, un modelo diferente, uso sin conexión o un volumen constante y muy alto.
La respuesta corta: depende de tu volumen
Si estás preguntando cómo alojar pesos de LLM tú mismo, el resumen honesto es que es fácil conseguir un modelo respondiendo en tu propia máquina y difícil ejecutar uno de forma barata para otras personas. Un portátil o una GPU de escritorio es suficiente para uso personal. Un servicio que debe responder a muchos usuarios a la vez, a cualquier hora, necesita más memoria, más ajuste fino y alguien que lo mantenga activo.
La alternativa es llamar a un endpoint compatible con OpenAI alojado y pagar por token. Para cargas de trabajo pequeñas y medianas esto es casi siempre más barato, porque nunca pagas por tiempo de GPU inactivo. Para cargas de trabajo muy grandes y constantes, o para trabajos que necesitan tu propio modelo ajustado, poseer el hardware empieza a tener sentido. Las secciones siguientes ponen números en ambos lados para que encuentres tu propio punto de equilibrio.
Aquí no hay nivel gratuito. Puedes reclamar un crédito de prueba único de $0.50 en la página de clave de API después de registrarte, y después de eso agregas crédito prepagado desde $20. El crédito de prueba es suficiente para ejecutar una prueba real de tus propios prompts antes de decidir cualquier cosa.
Lo que realmente requiere alojar un modelo
Un modelo de lenguaje es un archivo grande de números, los pesos, que deben estar en memoria rápida mientras el modelo se ejecuta. El tamaño de ese archivo es la primera restricción, y puedes calcularlo tú mismo: parámetros multiplicados por bytes por parámetro.
| Tamaño del modelo | Pesos de 16 bits | Pesos de 8 bits | Pesos de 4 bits |
|---|---|---|---|
| 8B parámetros | 16 GB | 8 GB | 4 GB |
| 32B parámetros | 64 GB | 32 GB | 16 GB |
| 70B parámetros | 140 GB | 70 GB | 35 GB |
Estos son solo los pesos. Además necesitas memoria para la caché de clave-valor, que crece con la longitud de cada conversación activa, y algo de margen para el tiempo de ejecución. Un modelo que nominalmente cabe en 24 GB puede quedarse sin memoria en el momento en que pides un contexto largo o varios usuarios simultáneos. Cuantificar a 4 bits reduce el archivo, pero también cambia un poco la calidad de salida, y el efecto varía según el modelo.
Luego está el lado del software. Necesitas un servidor de inferencia como llama.cpp, Ollama o vLLM, una capa HTTP para que tus aplicaciones puedan llamarlo, una forma de reiniciarlo cuando falle y monitoreo para que notes cuándo lo hace. Nada de esto es difícil en aislamiento. Todo esto toma tiempo, y el tiempo es parte del costo.
Opción uno: ejecutarlo en tu propia computadora
La forma más barata de empezar es la máquina que ya posees. Herramientas como Ollama y llama.cpp descargan un modelo y exponen un servidor local, y muchas de ellas también ofrecen un endpoint estilo OpenAI, por lo que el código que escribes contra ellas puede apuntar más tarde a una API alojada cambiando dos configuraciones.
El alojamiento local es una buena opción cuando:
- eres una sola persona experimentando, y unos segundos por respuesta están bien;
- los datos nunca deben salir de la máquina;
- quieres probar muchos modelos abiertos diferentes rápidamente;
- tienes una GPU con suficiente memoria y está inactiva la mayor parte del día de todos modos.
Es un ajuste débil cuando necesitas servir a otras personas, cuando el modelo que quieres es más grande que tu memoria, o cuando quieres contextos largos. Nuestra propia comparación de modelos locales sin censura y APIs alojadas detalla los compromisos en más detalle, incluyendo qué cambios hay en la calidad de la respuesta entre modelos locales pequeños y los alojados más grandes.
La electricidad es un gasto real pero pequeño para un usuario individual. El costo mayor es el hardware que tuviste que comprar, que pagas independientemente de si lo usas. Si ya lo posees, el costo marginal es bajo y el alojamiento local es difícil de superar para experimentos privados.
Opción dos: alquilar un servidor de GPU
Cuando tu propia máquina no es suficiente, el siguiente paso es una GPU alquilada. Los proveedores cobran por hora una máquina con una cantidad dada de memoria de GPU. Los precios varían mucho entre proveedores y cambian a menudo, así que revisa su precio actual en lugar de confiar en cualquier número que leas en un artículo, incluido este.
Lo que importa es la forma de la factura. Un servidor alquilado cobra por cada hora que está encendido, ya sea que esté respondiendo una petición o ninguna. Si lo dejas encendido todo el mes, la aritmética es simple: un mes tiene aproximadamente 730 horas (8,760 horas en un año dividido por 12). Supongamos, puramente como un ejemplo supuesto y no una cotización, que un servidor adecuado cuesta $1 por hora. Ejecutarlo las 24 horas del día cuesta entonces 730 × $1 = $730 al mes antes de agregar almacenamiento, ancho de banda y tu propio tiempo.
Puedes apagar el servidor cuando no lo estás usando, pero entonces pagas con retrasos: cargar un modelo grande en memoria toma tiempo, y el primer usuario después de una pausa espera a que se cargue. Las configuraciones de escalado automático reducen esto, y añaden su propia complejidad.
El punto de equilibrio contra una API se deriva del precio. Un millón de tokens de entrada más un millón de tokens de salida cuestan $0.15 + $0.50 = $0.65 en esta API. Tu servidor de $730 asumido equivale a 730 ÷ 0.65 ≈ 1,123 de estos pares, o aproximadamente 1.1 mil millones de tokens de entrada y 1.1 mil millones de tokens de salida en un mes. Por debajo de ese volumen, la API cuesta menos. Por encima, un servidor bien utilizado puede resultar más económico, siempre que pueda alcanzar ese tráfico, lo que depende del modelo, la GPU y qué tan bien ajustes el servidor.
Opción tres: usar una API alojada
La ruta de API elimina el hardware, el servidor y el tiempo inactivo. Envías una petición, obtienes una respuesta, y pagas por los tokens que se usaron. La tarifa aquí es de $0.15 por 1M de tokens de entrada y $0.50 por 1M de tokens de salida, pago por uso desde crédito prepago, sin suscripción. El crédito no caduca, y las peticiones fallidas o rechazadas no se cobran.
Así es como se ve eso en tres volúmenes realistas. Se asume que un turno de chat típico usa 1,500 tokens de entrada (prompt del sistema más historial) y 500 tokens de salida.
- Una petición: 1.500 tokens de entrada cuestan 0.0015 × $0.15 = $0.000225, y 500 tokens de salida cuestan 0.0005 × $0.50 = $0.00025. Juntos eso es $0.000475.
- 1.000 chats al día, 30 días: 1.000 × $0.000475 = $0.475 al día, o $14.25 al mes.
- 20.000 chats al día, 30 días: 20.000 × $0.000475 = $9.50 al día, o $285 al mes.
- Un trabajo por lotes de 100,000 peticiones con 2,000 tokens de entrada y 400 tokens de salida cada uno: la entrada es 200M tokens, así que 200 × $0.15 = $30; la salida es 40M tokens, así que 40 × $0.50 = $20. El total es $50.
En la cifra intermedia, la API cuesta $285 al mes, que está muy por debajo de los $730 asumidos para un servidor siempre encendido. En la cifra más grande, necesitarías mucho más tráfico antes de que un servidor alquilado iguale los costos. Tus propios prompts deciden los números reales, así que mide una muestra en lugar de adivinar. El bloque de uso que se devuelve con cada respuesta te dice las cantidades exactas de tokens.
El crédito de prueba de $0.50 cubre unas 1,052 peticiones del tamaño de 1,500 de entrada y 500 de salida (0.50 ÷ 0.000475 ≈ 1,052), que es más que suficiente para una prueba. Después recargas con cualquier cantidad entera desde $20 hasta $500. Las recargas más grandes tienen un bono: +5% desde $50, +10% desde $100 y +15% desde $200, así que una recarga de $100 da $110 de crédito. Los detalles están en la página de precios. El pago es con tarjeta (Visa, Mastercard, Apple Pay, Google Pay) o cripto (USDT en TRC20, USDC en Base).
Lo que renuncias al no alojar
Una API no está libre de compromisos, y es mejor conocerlos antes de construir sobre ella.
- Un modelo. Obtienes un único modelo de pesos abiertos, referenciado como
uncensored. No puedes intercambiar por uno diferente ni cargar tus propios pesos. - Sin ajuste fino y solo texto. No hay endpoint de entrenamiento, ni embeddings ni generación de imágenes, audio o video.
- Límites. Una clave completa permite 8 peticiones simultáneas y 300 peticiones por minuto. Una clave de prueba permite 2 y 60. Eso se ajusta a la mayoría de las aplicaciones, pero un lote muy grande necesita cola en tu lado.
- Contexto. La ventana es de 100.000 tokens para prompt más completación.
- Tus datos salen de tu red. Los prompts no se usan para entrenamiento, pero sí viajan a un tercero. Si eso no es aceptable para un conjunto de datos dado, aloja localmente.
El autoalojamiento es la mejor opción cuando cualquiera de estos es un requisito estricto: ajuste fino en tus propios datos, un modelo específico que la API no ofrece, operación totalmente sin conexión, o un volumen constante lo suficientemente grande como para que el hardware poseído se mantenga ocupado las 24 horas.
Prueba la API antes de comprar hardware
Una prueba de una hora cuesta menos que una sola hora de la mayoría de los servidores alquilados y te dice si el modelo responde bien a tus prompts. El endpoint es compatible con OpenAI, así que si ya tienes código que se comunica con un servidor local, solo cambias la URL base, la clave y el ID del modelo. Este script también reporta cuánto costó cada llamada, usando los números de uso en la respuesta:
from openai import OpenAI
client = OpenAI(
base_url="https://api.uncensoredllmhub.com/v1",
api_key="YOUR_API_KEY",
)
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise the pros and cons of self-hosting an LLM."}],
)
u = resp.usage
cost = u.prompt_tokens / 1_000_000 * 0.15 + u.completion_tokens / 1_000_000 * 0.50
print(resp.choices[0].message.content)
print(f"in={u.prompt_tokens} out={u.completion_tokens} cost=${cost:.6f}")
Ejecútalo con unas pocas docenas de tus prompts reales, suma las líneas de costo y multiplica por tu volumen diario esperado. Eso te da una cifra que puedes poner junto a la cotización del hardware. Si quieres los detalles de la configuración, la documentación lista los parámetros admitidos, incluyendo streaming, llamadas a funciones y modo JSON.
