Explicación de la cuantificación de LLM: cómo elegir FP16, Q8, Q5, Q4 o Q2

Una guía práctica para la cuantificación de LLM, las diferencias de formato comunes y la selección de modelos basados ​​en VRAM para equilibrar la calidad, la velocidad y el costo de los recursos.

El objetivo principal de la cuantificación es simple: intercambiar una pequeña cantidad de precisión por un tamaño de modelo más pequeño, un menor uso de VRAM y una inferencia más rápida.
Para la implementación local, elegir el formato de cuantificación correcto suele ser más importante que buscar un recuento de parámetros mayor.

¿Qué es la cuantización?

La cuantización significa comprimir los parámetros del modelo desde formatos de mayor precisión (como “FP16”) a formatos de bits más bajos (como “Q8” y “Q4”).

Una analogía simple:

  • Modelo original: como una foto de alta calidad, clara pero grande.
  • Modelo cuantificado: como una foto comprimida, ligeramente menos detallada pero más ligera y rápida.

Formatos de cuantificación comunes

Cuantización Precisión/Ancho de broca Tamaño Pérdida de calidad Uso recomendado
FP16 flotante de 16 bits Más grande Casi ninguno Investigación, evaluación, máxima calidad
Q8_0 Entero de 8 bits Más grande Casi ninguno PC de alta gama, calidad + rendimiento
Q5_K_M 5 bits mixto Medio Ligero Conductor diario, elección equilibrada
Q4_K_M Mixto de 4 bits Más pequeño Aceptable Valor predeterminado general, valor fuerte
Q3_K_M Mezclado de 3 bits Muy pequeño Notable Dispositivos de baja especificación, ejecutar primero
Q2_K Mixto de 2 bits Más pequeño Significativo Límites extremos de recursos, respaldo

Reglas de denominación de cuantificación

Tome gemma-4:4b-q4_k_m como ejemplo:

  • gemma-4:4b: nombre del modelo y escala de parámetros.
  • q4: cuantificación de 4 bits.
  • k: K-quants (un método de cuantificación mejorado).
  • m: nivel medio (las opciones comunes también incluyen s/small y l/large).

Selección rápida por VRAM

RAM/VRAM Cuantización recomendada
4 GB Q3_K_M / Q2_K
8 GB Q4_K_M
16 GB Q5_K_M / Q8_0
32GB+ FP16 / T8_0

Comience con una versión que se ejecute de manera estable en su máquina, luego avance con precisión paso a paso en lugar de saltar directamente al modelo más grande.

Consejos prácticos

  1. Comience con Q4_K_M de forma predeterminada y pruebe primero las tareas reales.
  2. Si la calidad de la respuesta no es suficiente, suba a Q5_K_M o Q8_0.
  3. Si la VRAM o la velocidad son el principal cuello de botella, baje a Q3_K_M.
  4. Utilice el mismo conjunto de prueba cada vez que cambie de formato de cuantificación.

Cuantizar un GGUF con llama-quantize

Utiliza como entrada un GGUF FP16, BF16 o F32 siempre que sea posible. No vuelvas a cuantizar un archivo ya muy cuantizado: --allow-requantize puede degradar aún más la calidad.

1
2
3
4
./build/bin/llama-quantize \
  model-bf16.gguf \
  model-Q4_K_M.gguf \
  Q4_K_M

En Windows, el ejecutable suele estar aquí:

1
2
3
4
.\build\bin\Release\llama-quantize.exe `
  .\model-bf16.gguf `
  .\model-Q4_K_M.gguf `
  Q4_K_M

Registra el tamaño y el hash del resultado:

1
2
ls -lh model-bf16.gguf model-Q4_K_M.gguf
sha256sum model-Q4_K_M.gguf

Por qué los bits no bastan para estimar la VRAM

Además de los pesos, la inferencia necesita espacio para KV cache, búferes de cálculo, projectors multimodales, el escritorio y la sobrecarga del backend. Un modelo cuyos pesos se acercan a 8 GB no tiene por qué caber en una GPU de 8 GB. Deja aproximadamente un 10-20% de margen y confirma el GPU offload en los registros.

Ejecutar una prueba comparable

Compara las variantes con el mismo modelo, backend, contexto y prompt:

1
2
llama-cli -m model-Q4_K_M.gguf -c 4096 -n 128 \
  -p "Summarize the trade-offs of model quantization."
Elemento Qué registrar
Modelo Nombre completo y hash
Backend CUDA, ROCm, Metal, Vulkan o CPU
Contexto -c y tokens reales del prompt
Memoria Pico de RAM/VRAM y offload parcial
Velocidad token/s de procesamiento y generación
Calidad Errores, formato y omisiones en preguntas fijas

El código, las matemáticas, el contexto largo y la salida estructurada son más sensibles a la cuantización. No llames a un formato «casi sin pérdidas» después de una sola conversación.

Conclusión

  • Calidad primero: FP16 o Q8_0.
  • Saldo primero: Q5_K_M.
  • Valor predeterminado general: Q4_K_M.
  • Reserva de baja especificación: Q3_K_M o Q2_K.

La clave no es “cuanto más grande, mejor”, sino “el resultado más estable y utilizable bajo los límites de su hardware”.

Publicaciones relacionadas

  • Comparación y selección de modelos Gemma 4
  • Desinstalar completamente Ollama en Linux
  • Ruta de almacenamiento y migración del modelo Ollama
  • Cómo comprobar si Ollama usa GPU