
> Calculadora de VRAM para GGUF: comprueba antes de descargar▋
2 de octubre de 2026· 4 min read
One field note a week, no noise — get it by email
ggml_backend_cuda_buffer_type_alloc_buffer: failed to allocate 3412 MiB. El archivo se descargó sin problemas. La tarjeta nunca pudo con él — y la aritmética que lo predecía cabía en el margen de un recibo. El flujo habitual va al revés: lanzar la descarga, mirar la barra de progreso y dejar que el error de memoria haga las cuentas. Ese orden es el que la herramienta de hoy rechaza. La calculadora de VRAM para GGUF está en línea: tamaño del modelo, cuantización y contexto de entrada — pesos, caché KV y un veredicto para cada tarjeta común de salida. O al revés: parte de tu presupuesto de VRAM hacia el cuant más alto que cabe. Todo se ejecuta en tu navegador, nada se sube, y se une al hub run-LLMs-locally junto al resto del cluster.
Tiene dos modos, porque la pregunta llega en dos formas:
- «¿Cuánta VRAM necesita este modelo?» — parámetros, cuant, contexto y arquitectura de entrada; el desglose y un veredicto tarjeta a tarjeta (6 a 96 GB) de salida.
- «¿Qué cabe en mi VRAM?» — presupuesto, tamaño del modelo y contexto de entrada; cada cuant de Q2_K a F16 con su propio veredicto.
¿Cuánta VRAM necesita un modelo GGUF?
Tres partes, siempre las mismas:
VRAM ≈ pesos + caché KV + sobrecarga
pesos = params × bits-por-peso / 8
caché KV = 2 × capas × kv_dim × contexto × 2 bytes (f16)
sobrecarga ≈ 0,7 GB CUDA/ejecución + ~5% de buffers de cómputo
Ejemplo trabajado, el más común: un modelo 8B en Q4_K_M con 32k de contexto. Pesos: 8 × 4,85 / 8 = 4,85 GB. Caché KV: 2 × 32 capas × 1024 kv-dim × 2 bytes = 128 KB por token × 32 768 = 4,0 GB. Con sobrecarga: ~9,8 GB en total — el «Q4 8B» que todo el mundo llama modelo-para-tarjeta-de-8-GB falla por un 23 % en cuanto le das contexto largo. El cuant nunca fue el culpable; el contexto, sí. Ese modo de fallo tiene su propia nota de campo, porque también se come la RAM del sistema al hacer offload.
¿Qué cuant cabe en mi tarjeta?
El modo 2 existe porque la pregunta invertida es la que la gente tiene de verdad: una tarjeta fija y un modelo en mente. Un 7B con 4096 de contexto contra un presupuesto de 8 GB devuelve exactamente esto:
| Cuant | Pesos | Total (est.) | Veredicto |
|---|---|---|---|
| Q4_K_M | 4,24 GB | ~5,7 GB | cabe con margen |
| Q6_K | 5,77 GB | ~7,3 GB | justo |
| Q8_0 | 7,44 GB | ~9,0 GB | offload parcial a CPU, mucho más lento |
Una pantalla, y el eterno debate del foro «¿Q4 o Q8?» se reduce a la respuesta de tu hardware en vez de la del de al lado.
De dónde salen los números
La tabla de bits-por-peso viene de los formatos de cuant ggml de llama.cpp — los mismos números con los que se construyen los archivos de Hugging Face:
| Cuant | bpw | Cuant | bpw |
|---|---|---|---|
| Q2_K | 3,35 | Q5_K_M | 5,69 |
| Q3_K_M | 3,91 | Q6_K | 6,59 |
| IQ4_XS | 4,25 | Q8_0 | 8,50 |
| Q4_K_M | 4,85 | F16 | 16,0 |
La mitad de la caché KV usa la geometría pública de cada familia. La atención agrupada por consulta (GQA) es toda la historia: un 8B de clase Llama-3 guarda 8 cabezas KV × 128 dims × 32 capas, o sea 128 KB por token — mientras que un Llama 2 13B, sin GQA, quema 640 KB por token, cinco veces más, siendo un modelo de una generación anterior. El desplegable de arquitectura cubre las cuatro formas comunes más un modo personalizado para lo que se lea en cualquier config.json.
El tamaño del archivo te decía qué ibas a descargar. Nunca te dijo qué podías ejecutar.
Lo que las estimaciones ignoran a propósito
Tres cosas, a propósito. El enrutado mixture-of-experts: la inferencia solo toca los expertos activos, pero la herramienta cobra el set completo de pesos, así que los totales MoE leen altos. La cuantización mixta: Q4_K_M es en sí un promedio entre tensores, y un archivo real cae a unos puntos porcentuales del valor de la tabla. Y el padding del lado CUDA varía según la versión del backend — los 0,7 GB fijos son una cifra intermedia, no una constante de la naturaleza. Cuando una decisión vale más de unos cientos de MB, sáltate las estimaciones y lee la cabecera del archivo con el gguf_dump.py de llama.cpp — las calculadoras que leen cabeceras hacen justo eso. Esta se queda en aritmética a propósito: tres entradas que puedes recalcular a mano y un veredicto con el que puedes discutir.
La herramienta vive en github.com/mrsaynothing/gguf-vram-calculator — un archivo HTML, cero dependencias, cero build. Se sienta junto a la guía local de GGUF, llama.cpp vs Ollama y la lista de mejores LLM locales, con la contraparte de servicio en ¿puede vLLM ejecutar GGUF?.
Si un veredicto contradice tus tiempos de carga, abre una issue en el repositorio con el modelo, el cuant y el contexto — la tabla debe sobrevivir al contacto con hardware real, y donde no lo haga hay una fila que corregir.
faq
+ ¿Cuánta VRAM necesita un GGUF de 7B?
Un Q4_K_M de un modelo 7B carga unos 4,2 GB de pesos; con 4k de contexto y la sobrecarga de ejecución, calcula unos 5,7 GB — cabe con holgura en una tarjeta de 8 GB. El mismo modelo en Q8_0 con el mismo contexto ronda los 9 GB y no cabe.
+ ¿La longitud de contexto afecta a la VRAM?
Sí, mediante la caché KV. Un 8B de clase Llama-3 con GQA gasta ~128 KB por token en f16, así que 32k de contexto cuestan ~4 GB antes de cargar un solo peso. El contexto, más que el cuant, es lo que rompe el presupuesto.
+ ¿El tamaño del archivo GGUF es la VRAM que necesito?
No. El tamaño del archivo aproxima solo los pesos. La caché KV crece con el contexto y la sobrecarga de ejecución (buffers CUDA, márgenes de cómputo) suma su parte fija. Espacio en disco y VRAM son presupuestos distintos.
+ ¿Qué tan precisa es una calculadora de VRAM?
Esta es aritmética deliberada a partir de tablas de cuant públicas — suficiente para la decisión cabe-o-no-cabe con un margen de unos cientos de MB. Para números exactos, lee la cabecera del GGUF con el gguf_dump.py de llama.cpp.
— mrsaynothing
$ Related entries
Eliminamos nuestro CI. La máquina entrega igual.
2026-10-01
CI de GitHub eliminado: 118 líneas de YAML a la basura, un script local de 27 líneas en su lugar. Qué quedó más seguro, qué empeoró, con recibos.
Can vLLM Run GGUF? Yes — on GPU Only
2026-09-23
Can vLLM run GGUF? Yes — via the official plugin, on GPU only. The serve syntax, the tokenizer trap, the hardware limits, and when llama.cpp still wins.
GGUF Quantization Levels: Q4_K_M vs Q8_0, Size and VRAM
2026-09-13
GGUF quantization levels compared: Q4_K_M vs Q8_0 on size, VRAM and quality, plus the one rule — default Q4_K_M, step up only for code and math.