Intermedio 11 minConfiguración

Elegir la cuantización (Q4, Q5, Q8, FP16)

Respuesta directa

Elige Q4_K_M por defecto: con 4,89 bits por peso, divide el tamaño del modelo por un factor superior a tres respecto al FP16, con una pequeña pérdida de calidad. Pasa a Q5_K_M o Q6_K si la memoria lo permite, a Q8_0 solo si te queda espacio, y evita bajar de 4 bits sin motivo. El factor decisivo es la memoria disponible: el archivo, el contexto y un margen deben caber en ella.

Tanto en Hugging Face como en Ollama, un mismo modelo existe en decenas de variantes: Q4_K_M, Q5_K_S, Q6_K, Q8_0, IQ3_XXS, FP16. Esta guía te ofrece los tamaños medidos, un cálculo para estimar la memoria de cualquier modelo y una regla de decisión según tu VRAM.

Por Mohamed Meguedmi·Actualización 2026-09-30·Probado en Windows, macOS y Linux

#Cuantización: lo que intercambias por memoria

Un modelo es un conjunto de miles de millones de números, los pesos. En FP16, cada uno ocupa 16 bits: un modelo de 8 mil millones de parámetros pesa aproximadamente 16 GB. La cuantización almacena cada peso en menos bits. Según la documentación de la herramienta llama-quantize, este procedimiento reduce el tamaño del modelo y puede acelerar la inferencia, a costa de una pérdida de precisión medida en perplejidad o en divergencia de Kullback-Leibler. El formato GGUF utilizado por llama.cpp, Ollama y LM Studio agrupa estas variantes. La elección adecuada depende de tres cantidades: la memoria de tu tarjeta o de tu Mac, el tamaño del modelo y el contexto que piensas utilizar. Q4_K_M ofrece el mejor equilibrio en la mayoría de los casos, porque la pérdida de calidad se mantiene baja mientras que el tamaño se reduce a aproximadamente el 30 % del tamaño en FP16.

i
La analogía del JPEG tiene sus límites
Comprimir un modelo es como comprimir una imagen, pero la pérdida no se distribuye de forma uniforme: algunas capas soportan 4 bits, otras no. Es precisamente eso lo que aprovechan las cuantizaciones K y IQ, asignando más bits a los tensores sensibles.

#Decodificar nombres: Q4_K_M, Q5_K_S, Q8_0, IQ3_XXS

El kit de IA Local

Tu ChatGPT privado y gratuito en tu máquina en 1 hora — LM Studio, Ollama, Open WebUI, tus documentos, sin nube.

  • Espacio en línea de por vida
  • PDF + archivos
  • Reembolsado 30 j
El número (Q2 a Q8)
El número nominal de bits por peso. El valor real es mayor, porque los tensores sensibles se mantienen con una precisión superior: Q4_K_M tiene 4,89 bits por peso.
_0 y _1
Formatos antiguos, con un nivel de precisión uniforme. Q8_0 sigue utilizándose porque apenas presenta pérdidas, pero Q4_0 y Q5_0 han sido reemplazados por las variantes K.
_K
Los K-quants, más recientes, distribuyen los bits según la importancia de los tensores.
S, M, L
Small, Medium, Large: para un mismo número de bits, M conserva más bits en los tensores importantes que S, por lo que ocupa un poco más y pierde un poco menos de calidad.
IQ
Los I-quants, con matriz de importancia: a igual tamaño conservan mejor la calidad con un número de bits muy bajo (menos de 4 bits) y requieren un poco más de cálculo durante la decodificación. Se basan en un archivo imatrix.
→
En caso de duda
Elige un sufijo _K_M: Q4_K_M, Q5_K_M o Q6_K. Reserva los IQ y los _XXS para los casos en los que el modelo no quepa de otro modo.

#Tabla de decisión: tamaños y pérdidas medidas

El README de llama-quantize publica, para Llama 3.1 8B, el número de bits por peso y el tamaño de cada formato. La biblioteca Ollama muestra, para el mismo modelo, el tamaño de los archivos distribuidos. Ambas fuentes coinciden aproximadamente y proporcionan un orden de magnitud aplicable a otros modelos de la misma familia.

Llama 3.1 8B: tamaño por formato (fuentes: llama.cpp, Ollama) y pérdida de perplejidad (medición histórica con un modelo de 7B)
FormatoBits por pesoTamaño en llama.cppTamaño en OllamaPérdida de perplejidad en un modelo de 7BUso típico
Q2_K3,162,95 GiBno listado+0,87 (pérdida extrema)Evitar
Q3_K_M4,003,74 GiBno listado+0,24Último recurso
Q4_K_M4,894,58 GiB4,9 GB+0,05Elección por defecto
Q5_K_M5,705,33 GiB5,7 GB+0,014Margen de VRAM disponible
Q6_K6,566,14 GiB6,6 GB+0,004Precisión máxima razonable
Q8_08,507,95 GiB8,5 GB+0,0004Referencia casi sin pérdida
FP1616,0014,96 GiB16 GB0Entrenamiento, conversión

Un matiz sobre la última columna: las pérdidas de perplejidad proceden de una discusión del repositorio llama.cpp que reproduce la tabla de ayuda de la herramienta, elaborada en 2023 con un modelo de 7 mil millones de parámetros. Muestran el orden de los formatos, no el comportamiento exacto de los modelos actuales, algunos de los cuales son más sensibles.

#Calcular la memoria de un modelo en unos segundos

El tamaño de un archivo GGUF se deduce de la siguiente fórmula: el número de parámetros en miles de millones, multiplicado por los bits por peso y dividido entre ocho, da el tamaño en gigabytes. Para un 70B en Q4_K_M: 70 × 4,89 ÷ 8 ≈ 42,8 GB, lo que confirma la tabla de llama.cpp para Llama 3.1 70B (43,1 GB). Añade después la caché KV, que crece con el contexto, y un margen para el sistema.

Estimación de memoria
taille du fichier (Go) ≈ paramètres (milliards) × bits par poids ÷ 8

Exemple : 32 milliards en Q5_K_M
32 × 5,70 ÷ 8 ≈ 22,8 Go
+ cache KV (selon le contexte) + 1 à 2 Go de marge
Solo los pesos, en GB, según la cuantización (cálculo mediante la fórmula anterior)
ModeloQ4_K_MQ5_K_MQ8_0FP16
8B4,95,78,516
14B8,610,014,928
32B19,622,834,064
70B42,849,974,4140
!
El archivo no es la memoria total
Un 32B en Q4_K_M (19,6 GB) no cabe cómodamente en 24 GB con un contexto largo: la caché KV ocupa varios GB, a los que se suman los buffers de cálculo. Para calcularlo, usa la calculadora de VRAM o lee la guía sobre la ventana de contexto.

#Cómo afecta realmente la cuantización a la calidad

Las medidas de perplejidad ordenan los formatos de forma consistente: más bits, menos pérdida. Pero la perplejidad predice mal las capacidades específicas. Un estudio publicado en arXiv en enero de 2026 comparó los formatos de llama.cpp en Llama-3.1-8B-Instruct, con pruebas de razonamiento, conocimientos y seguimiento de instrucciones: la perplejidad en WikiText-2 va de 7,32 para FP16 a 8,96 para Q3_K_S, y los autores señalan que la perplejidad no es un predictor completo del comportamiento en tareas posteriores. La puntuación media de Q5_0 supera incluso ligeramente la del FP16 (69,92 % frente a 69,47 %), lo cual se debe al ruido de medida, no a un modelo mejorado.

El resultado relevante se refiere al razonamiento matemático: en GSM8K, la puntuación pasa de 77,63 en FP16 a 68,31 en Q3_K_S. Los autores recomiendan evitar la cuantización agresiva a 3 bits y preferir Q4_K_S o Q5_0 cuando la carga implica razonamiento en varios pasos. Por tanto, las primeras tareas que se resienten con la cuantización son el cálculo, el código y las largas cadenas de razonamiento, no la conversación cotidiana.

De Q8 a Q6
Diferencia no medible en la práctica en las tablas publicadas.
De Q6 a Q4_K_M
Pérdida baja, visible especialmente en tareas de razonamiento largo, en código y en lenguas poco representadas.
Por debajo de 4 bits
Caída marcada en el razonamiento: evitar salvo que sea necesario por limitaciones de memoria.

#¿Por qué un archivo más pequeño genera también más rápido?

Las mediciones del README de llama.cpp, realizadas con Llama 3.1 8B, ilustran un punto que las guías omiten: la generación de texto lee la totalidad de los pesos activos en cada token, por lo que depende principalmente de la cantidad de bytes que hay que leer. En esta tabla, la tasa de generación pasa de unos 51 tokens por segundo en Q8_0 a unos 72 en Q4_K_M y a 90 en Q2_K_S. La lectura del prompt, en cambio, se mantiene estable en torno a 800 tokens por segundo porque está limitada por el cálculo y no por la memoria. Estas cifras proceden de un hardware concreto del repositorio y no corresponden a tu máquina; quédate con la tendencia: menos bits, generación más rápida.

Dos consecuencias prácticas. En primer lugar, pasar de Q4_K_M a Q8_0 para obtener una mejora imperceptible de calidad supone perder aproximadamente un 30 % de velocidad de generación en estas mediciones. En segundo lugar, la cuantización de los pesos y la de la caché KV son dos ajustes distintos: la segunda reduce la memoria necesaria para un contexto largo y se trata en su propia guía.

#Elegir siguiendo tres reglas

  1. 01
    Empieza con la memoria disponible que tengas
    VRAM de una tarjeta NVIDIA o AMD, o memoria unificada de un Mac menos aproximadamente un 25 % para el sistema. Si el modelo supera ese límite, el cálculo pasa a la CPU y la velocidad disminuye, a menudo hasta ser varias veces inferior.
  2. 02
    Elige el modelo más grande que quepa en Q4_K_M
    A igual memoria, un modelo más grande en 4 bits suele ser mejor que uno más pequeño en 8 bits. Es una regla empírica ampliamente compartida, que debes verificar en tus propias tareas, especialmente en código.
  3. 03
    Sube luego la precisión con el margen restante
    Si queda VRAM una vez reservado el contexto, pasa a Q5_K_M y luego a Q6_K. La mejora es menor que la que se obtiene al pasar de un tamaño al siguiente.
Elegir explícitamente una cuantización en Ollama
ollama run llama3.1:8b-instruct-q5_K_M

Las etiquetas de la biblioteca Ollama indican el formato y el tamaño de cada variante; cuando omites el sufijo, Ollama aplica la etiqueta predeterminada del modelo. En Hugging Face, los archivos GGUF incluyen en su nombre el nombre de la cuantización.

#Los I-quants y formatos de menos de 4 bits

La tabla de llama.cpp permite medir el ahorro real. En Llama 3.1 8B, IQ4_XS ocupa 4,17 GiB frente a 4,58 GiB para Q4_K_M, es decir, aproximadamente un 9 % menos; IQ3_XXS ocupa 3,04 GiB; IQ2_XXS, 2,23 GiB. En las mediciones del repositorio, las velocidades de generación de estos formatos se mantienen cerca de las de los K-quants, con una diferencia de unos pocos tokens por segundo: el costo adicional de decodificación es, por tanto, modesto. Los I-quants dependen, en cambio, de la calidad de la imatrix y del modelo: solo tienen sentido cuando Q4_K_M no cabe en la memoria.

IQ4_XS
De tamaño similar a Q4_K_M, pero aproximadamente un 9 % menor. Útil cuando la VRAM es escasa.
IQ3_XXS y IQ3_S
Un 13B con unos 5 GB de pesos, con una pérdida notable en el razonamiento.
IQ2 y IQ1
Solo para modelos gigantescos, cuando ninguna otra opción cabe. En este tipo de cuantizaciones, la fidelidad se mide: ver el ejemplo de Kimi K3, donde la cuantización dinámica de 1 bit solo alcanza un 78,9 % de concordancia con el original.

#Modelos publicados directamente en 4 bits

Algunos modelos recientes ya no se entrenan en 16 bits y luego se comprimen: sus pesos se generan en 4 bits con un entrenamiento consciente de la cuantización. Kimi K3 es un ejemplo: su ficha indica pesos MXFP4 y activaciones MXFP8, con entrenamiento consciente de la cuantización. Para estos modelos, el archivo nativo ya es la referencia, y una cuantización adicional a un formato de menor precisión degrada más la calidad que la cuantización de un modelo en 16 bits. Lee siempre la ficha del modelo antes de convertirlo.

#¿Qué elegir según tu memoria?

Referencias para elegir (solo los pesos; hay que añadir un margen para el contexto)
Memoria disponibleElección razonable
6 a 8 GB7-8B en Q4_K_M; IQ4_XS si no cabe en la memoria disponible
12 GB8B en Q6_K o Q8_0, o 14B en Q4_K_M (8,6 GB)
16 GB14B en Q5_K_M (10 GB) con una ventana de contexto amplia
24 GB32B en Q4_K_M (19,6 GB) con un contexto moderado
32 GB32B en Q5_K_M (22,8 GB) o en Q6_K
64 GB y más70B en Q4_K_M (42,8 GB)
FAQ
¿Qué cuantización elegir: Q4, Q5 o Q8?+
Q4_K_M por defecto: buena calidad para aproximadamente el 30 % del tamaño del FP16. Pasa a Q5_K_M o Q6_K si la memoria lo permite, y a Q8_0 solo si queda espacio, ya que el beneficio es muy pequeño. Bajar por debajo de 4 bits solo se justifica si el modelo no cabe de otra forma.
¿Qué significa la M en Q4_K_M?+
M significa Medium. Las variantes S, M y L (Small, Medium, Large) difieren en la proporción de tensores que se conservan con mayor precisión. A igual número de bits, M pesa un poco más que S y pierde un poco menos de calidad: es el equilibrio recomendado por defecto.
¿Cuánta VRAM se necesita para un modelo en Q4_K_M?+
Multiplica el número de parámetros expresado en miles de millones por 0,61 para obtener el tamaño en GB: 8B da aproximadamente 4,9 GB, 32B aproximadamente 19,6 GB, 70B aproximadamente 42,8 GB. Añade luego la caché KV, según la longitud del contexto, y un margen de uno a dos GB para el sistema.
¿La cuantización degrada la calidad en francés?+
Sí, un poco, especialmente por debajo de 4 bits, como ocurre con el razonamiento y el código. No hay ninguna medición fiable que cuantifique el efecto específico en francés; si lo usas para redactar, prueba Q4_K_M y luego Q5_K_M con tus propios textos y elige la versión más pequeña cuyo resultado te satisfaga.
¿Es mejor un 14B en Q4 o un 8B en Q8?+
En general, el modelo más grande en Q4 gana con la misma memoria: un 14B en Q4_K_M ocupa aproximadamente 8,6 GB y un 8B en Q8_0 ocupa aproximadamente 8,5 GB. El resultado depende de la tarea, así que haz pruebas con tus propias tareas, especialmente de código y matemáticas.
¿Q8_0 realmente no tiene pérdidas?+
Casi: en el historial de llama.cpp, la pérdida de perplexidad de Q8_0 está entre 0,0004 y 7B, despreciable. Pero el archivo es más de dos veces más grande que Q4_K_M y genera más lentamente, porque se deben leer más bytes por token.

#Para ir más allá

¿Esta guía te ha ayudado?

¿Un comentario, un error, una precisión? Avísanos, eso mejora la guía para todos.