Se ejecuta modelos a través de
Ollama
u otros tiempos de ejecución locales, ya se ha encontrado con nombres como
Q4_K_M, Q8_0 o IQ4_XS.
¿Qué significan? ¿Cuál elegir? ¿Por qué Q4 es a menudo mejor que Q8, y cuándo no lo es?
En este artículo, analizo la cuantización sin exceso de teoría, con tablas, números reales y ejemplos de mis propios proyectos en un MacBook M1 de 16 GB.
¿Qué es la cuantización de un modelo de lenguaje — explicación en lenguaje sencillo
Un modelo de lenguaje es un conjunto de pesos numéricos. Cada peso determina cómo reacciona una neurona a los datos de entrada. En precisión completa (FP16), cada peso ocupa 16 bits — dos bytes. Un modelo de 7 mil millones de parámetros pesa alrededor de 14 GB.
Cuantización — es la reducción del número de bits por peso. Q8 — 8 bits, Q4 — 4 bits, Q2 — solo 2. Cuantos menos bits, menor es el archivo y menos memoria se necesita para ejecutarlo.
Una buena analogía es JPEG frente a foto RAW. RAW — máxima detalle, pero ocupa 25 MB. JPEG con calidad 85% — 3 MB, y la mayoría de la gente no nota la diferencia. Pero si amplías la imagen o la recortas bruscamente — los artefactos se vuelven visibles. Lo mismo ocurre con los modelos: en un chat normal, Q4 y Q8 son prácticamente idénticos, pero en matemáticas o código complejo, la diferencia ya es perceptible.
Idea principal: la cuantización es compresión, no degradación. Una cuantización elegida correctamente conserva el 92–95% de la calidad con una reducción de tamaño de 3 a 4 veces.
Ejemplo práctico: en mi proyecto AskYourDocs, un sistema RAG procesa documentos corporativos a través de Ollama local en un M1. El modelo Qwen3-14B en Q4_K_M ocupa ~8.5 GB y cabe en 16 GB de memoria unificada, dejando espacio para el contexto y el modelo de incrustación. En FP16, ocuparía ~28 GB y simplemente no se ejecutaría.
Por qué es necesaria la cuantización para la IA local
Sin cuantización, la IA local en hardware de consumo simplemente no es posible. Aquí están las cifras:
- Llama 3.3 70B en FP16 — ~140 GB. Este hardware cuesta decenas de miles de dólares.
- El mismo Llama 3.3 70B en Q4_K_M — ~40 GB. Se ejecuta en Mac Studio o dos RTX 4090.
- Modelo 7B en FP16 — 14 GB. En Q4_K_M — 4.1 GB. Se ejecuta incluso en una tarjeta gráfica con 6 GB de VRAM — qué modelos se abren en 8 y 16 GB de RAM.
Además de ahorrar memoria, la cuantización también proporciona un inicio más rápido: un archivo más pequeño se carga más rápido en la memoria. Y debido al menor volumen de datos leídos, la generación de tokens también se acelera (más detalles en la sección sobre Q4 vs Q8).
Idea principal: la cuantización no es un compromiso, sino la única forma de ejecutar LLM modernos en un PC doméstico o portátil.
Dónde se aplica: sistemas RAG locales, asistentes personales, agentes autónomos sin nube, herramientas corporativas en servidores aislados — en cualquier lugar donde el modelo deba funcionar sin claves API y sin transferir datos al exterior.
¿Qué es el formato GGUF y por qué ha ganado
GGUF (GPT-Generated Unified Format) es un contenedor de archivos para modelos cuantizados. Fue creado por Georgi Gerganov, autor de llama.cpp, en 2023 como reemplazo del antiguo formato GGML.
La principal ventaja de GGUF es la autosuficiencia: un solo archivo contiene todo lo necesario para la ejecución:
- pesos del modelo cuantizados;
- tokenizador y su configuración;
- metadatos de la arquitectura;
- hiperparámetros.
Con el antiguo GGML, era necesario mantener archivos separados para los pesos y la configuración, lo que complicaba la distribución. GGUF resolvió este problema y rápidamente se convirtió en un estándar: hoy en día es compatible con Ollama, LM Studio, Open WebUI, Jan, KoboldCpp y la mayoría de los demás tiempos de ejecución locales.
Personalmente, para el trabajo diario con modelos GGUF, utilizo LM Studio — en mi MacBook M1, la generación es notablemente más rápida que en Ollama, además de una interfaz conveniente para cambiar rápidamente entre modelos y cuantizaciones. Si aún no lo has probado, te lo recomiendo como punto de partida.
En resumen: GGUF no es un tipo de cuantización, sino un contenedor. La cuantización (Q4, Q8, etc.) es lo que está dentro del archivo GGUF.
Ejemplo: cuando ejecutas ollama pull qwen3:14b, Ollama descarga un archivo GGUF con cuantización Q4_K_M por defecto. Pero puedes especificar explícitamente otra: ollama run hf.co/bartowski/Qwen3-14B-GGUF:Q8_0.
De FP16 a Q2: niveles de cuantización en una tabla
Cada nivel de cuantización es un compromiso entre calidad y tamaño. Así se ve un modelo 7B en diferentes niveles:
| Formato | Bits/peso | Tamaño del modelo 7B | Calidad | Para quién |
|---|---|---|---|---|
| FP16 | 16 | ~14 GB | Referencia (100%) | Investigadores, fine-tuning |
| Q8_0 | 8 | ~7.7 GB | ~99% | GPU 12–16 GB VRAM |
| Q6_K | 6 | ~5.9 GB | ~98.5% | GPU 10–12 GB, código y lógica |
| Q5_K_M | 5.5 | ~4.8 GB | ~97% | GPU 8–10 GB, equilibrio de calidad |
| Q4_K_M | 4.5 | ~4.1 GB | ~95% | Recomendación para la mayoría |
| Q3_K_M | 3.5 | ~3.1 GB | ~88% | Hardware limitado, pruebas |
| Q2_K | 2.5 | ~2.7 GB | ~75% | Solo para experimentos |
Los datos sobre el tamaño de los archivos provienen de mediciones reales de llama.cpp. Los porcentajes de calidad son valores aproximados de perplejidad en relación con FP16.
Lo importante aquí: la diferencia de calidad entre Q4_K_M y Q8_0 es de aproximadamente 4%. La diferencia de tamaño es casi el doble. Es por eso que Q4_K_M gana en la mayoría de los escenarios.
Ejemplo: investigaciones de principios de 2026 confirman que el razonamiento lógico es muy resistente a la cuantización, mientras que la aritmética comienza a degradarse por debajo de Q4. Para un chat normal y traducción, Q4 es absolutamente suficiente.
¿Qué significan Q4_K_M, Q5_K_M, Q8_0 — descifrando los sufijos
Esta es una de las preguntas más frecuentes entre los principiantes, y casi ningún artículo la explica correctamente. Vamos a desglosarla en detalle.
Estructura del nombre: Q[bits]_[método]_[variante]
Q4 — número de bits por peso (aproximadamente). No siempre es un número entero: Q4_K_M utiliza realmente ~4.5 bits debido a la precisión mixta.
_K — K-Quants. Este es un esquema de cuantización más inteligente que distribuye los bits de manera desigual: las capas que más influyen en la calidad (atención, proyección de salida) reciben más bits, el resto — menos. Esto permite, con el mismo tamaño promedio, mantener una mayor calidad que el antiguo enfoque uniforme.
_M / _S / _L — tamaño de la variante dentro de un nivel:
- _S (Small) — tamaño mínimo en su clase, calidad ligeramente inferior.
- _M (Medium) — equilibrio entre tamaño y calidad. Esta es la recomendación estándar.
- _L (Large) — máxima calidad en la clase, archivo ligeramente más grande.
_0 — esquema uniforme antiguo (por ejemplo, Q4_0, Q8_0). Todos los pesos se cuantizan de la misma manera, sin prioridades. Q8_0 se usa ampliamente por su simplicidad, pero Q4_0 ya ha sido prácticamente reemplazado por Q4_K_M con el mismo tamaño.
Tabla comparativa de cuantizaciones populares
| Cuantización | Tamaño 7B | Calidad | Velocidad | Recomendación |
|---|---|---|---|---|
| Q4_K_S | ~3.8 GB | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | CPU+GPU offloading |
| Q4_K_M | ~4.1 GB | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | Estándar para la mayoría |
| Q5_K_M | ~4.8 GB | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | Código, agentes, RAG |
| Q6_K | ~5.9 GB | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | Matemáticas, salida estructurada |
| Q8_0 | ~7.7 GB | ⭐⭐⭐⭐⭐ | ⭐⭐ | Máxima calidad, 16+ GB VRAM |
Recuerda: el sufijo _M en el nombre es la letra más importante. Es la que indica que el modelo utiliza precisión mixta y conserva las capas más importantes con mayor detalle.
Ejemplo: si ves dos archivos en Hugging Face — model-Q4_0.gguf y model-Q4_K_M.gguf de tamaño aproximadamente igual — elige Q4_K_M. El antiguo esquema Q4_0, con el mismo volumen, ofrece una calidad notablemente peor.
Cuantizaciones IQ: ¿qué es IQ4_XS y por qué es importante en 2026
Este es un tema que casi no aparece en ningún artículo. Y sin embargo, los cuantizadores IQ ya han aparecido en las descargas estándar de bartowski y se discuten activamente en la comunidad de llama.cpp.
¿Qué es imatrix (importance matrix)
La cuantización estándar procesa todos los pesos por igual. Importance matrix (imatrix) es un análisis previo: se pasan datos de calibración a través del modelo y se mide qué pesos influyen más en la calidad de la salida. Estos pesos se cuantizan con más cuidado, el resto — de forma más agresiva.
Resultado: un archivo más pequeño con una calidad similar o incluso mejor que los K-quants del mismo nivel.
IQ4_XS vs Q4_K_M: comparación práctica
| Parámetro | Q4_K_M | IQ4_XS |
|---|---|---|
| Tamaño promedio 7B | ~4.1 GB | ~3.9 GB |
| Calidad (perplejidad) | Básica | Similar o mejor* |
| Velocidad de generación | Estándar | Ligeramente más rápida |
| Velocidad de procesamiento de prompt | Estándar | Ligeramente más lenta |
| Dependencia de imatrix | Ninguna | Alta* |
| Velocidad en CPU | Mejor | Más lenta |
*IQ4_XS solo ofrece una ventaja si se utiliza un archivo imatrix de alta calidad. Un IQ-quant mal calibrado puede ser inferior a Q4_K_M.
Para un modelo 70B, la diferencia entre IQ4_XS y Q4_K_M es de 3–4 GB, lo que puede ser crucial para que el modelo quepa en la memoria.
Dónde obtener IQ-quants verificados
No todos los archivos GGUF en Hugging Face son iguales. Tres fuentes verificadas:
- bartowski — el cargador más activo y fiable, incluye imatrix.
- mradermacher — amplia cobertura de modelos.
- TheBloke — archivo clásico, menos activo en 2026, pero aún fiable.
Idea principal: IQ4_XS no siempre es mejor que Q4_K_M. Pero si necesitas que un modelo más grande quepa en la misma memoria, IQ4_XS ofrece una ventaja de 3–4 GB con una calidad similar.
Escenario práctico: tengo un MacBook M1 con 16 GB. Qwen3-14B en Q4_K_M ocupa ~8.5 GB — cabe. Pero si añades nomic-embed-text (~280 MB) y un contexto de 8K — comienza el swapping. IQ4_XS del mismo Qwen3-14B ocupa ~7.9 GB, y el sistema respira más libremente.
En mi trabajo, utilizo una estrategia de dos etapas: para pruebas, redacción de artículos y tareas generales — un modelo más ligero en Q4_K_M, que se inicia rápidamente y no sobrecarga el sistema. Pero cuando el agente pasa a llamar a herramientas externas o lógica compleja con tool calling — cambio a un modelo más potente en Q5_K_M o Q6_K, donde la precisión del esquema JSON y la consistencia de los pasos son cruciales. Q4 aquí a veces "pierde" la lógica en medio de la cadena.
¿Cuánta RAM y VRAM se necesita: tabla y fórmula
Aquí tienes una tabla práctica con los tamaños de modelos populares en diferentes cuantizaciones. Datos basados en mediciones de willitrunai.com y archivos GGUF oficiales:
| Modelo | FP16 | Q8_0 | Q5_K_M | Q4_K_M | Q3_K_M |
|---|---|---|---|---|---|
| 7B / 8B | ~14 GB | ~7.7 GB | ~4.8 GB | ~4.1 GB | ~3.1 GB |
| 14B | ~28 GB | ~14.9 GB | ~9.6 GB | ~8.5 GB | ~6.4 GB |
| 32B | ~64 GB | ~32 GB | ~21 GB | ~18 GB | ~13 GB |
| 70B | ~140 GB | ~75 GB | ~49.9 GB | ~42.5 GB | ~32 GB |
Fórmula para cálculos propios
RAM (GB) = Parámetros (miles de millones) × Bytes_por_peso × 1.2
Bytes por peso:
FP16 → 2.0
Q8_0 → 1.0
Q5_K_M → 0.69
Q4_K_M → 0.55
Q3_K_M → 0.41
Adicionalmente:
+ 1–2 GB para el caché KV (con contexto de 4K)
+ 2 GB para el SO y otros procesos
Fuente de la fórmula: localaimaster.com.
Ejemplo de cálculo: Qwen3-14B en Q4_K_M → 14 × 0.55 × 1.2 = 9.24 GB para pesos + ~1.5 GB de caché KV con contexto de 4K = se necesitan al menos 11–12 GB de VRAM.
En resumen: el tamaño del archivo son solo los pesos. Añade el caché KV (depende del contexto) y 2 GB para el sistema — y obtendrás la necesidad real de memoria.
Importante para MacBook Apple Silicon: la memoria unificada se comparte entre la CPU y la GPU, por lo que aproximadamente el 75–80% del volumen total está realmente disponible. En un M1 de 16 GB — aproximadamente 12–13 GB efectivos para el modelo.
Qué cuantización elegir para tu hardware
Una guía práctica rápida:
| Hardware | Recomendación | Ejemplo |
|---|---|---|
| 4–6 GB VRAM (GTX 1650, RX 6500) | Q4_K_M en modelos 3B | Phi-4-mini, Gemma2 2B |
| 6–8 GB VRAM (RTX 3060, RX 6600) | Q4_K_M en modelos 7B | Qwen3-8B, Llama3.1-8B |
| 12 GB VRAM (RTX 3080, RTX 4070) | Q5_K_M en 14B o Q4_K_M en 14B | Qwen3-14B, Phi-4 |
| 16–24 GB VRAM (RTX 4080/4090) | Q6_K o Q8_0 en 14B; Q4_K_M en 32B | DeepSeek-R1-32B, Qwen3-32B |
| MacBook M1/M2 16 GB | Q4_K_M o IQ4_XS en 14B | Qwen3-14B Q4_K_M (~8.5 GB) |
| MacBook M2/M3 Pro 36 GB | Q4_K_M en 32B o Q8_0 en 14B | Qwen3-32B Q4_K_M (~18 GB) |
| Mac Studio / M4 Max 64 GB | Q4_K_M en 70B o Q5_K_M en 32B | Llama 3.3 70B Q4_K_M (~40 GB) |
| 32–64 GB RAM (solo CPU) | Q4_K_M como máximo, evitar Q8 | Qwen3-32B Q4_K_M, lento |