Skip to content
BotServBotServ
CuantizaciónQ4Q5Q8GGUFComparativaModelosOllama

Comparativa Q4, Q5, Q8: Cuantización en Práctica

Compara Q4_K_M vs Q5_K_M vs Q8_0. Calidad, velocidad y memoria en casos reales con ejemplos.

S

schutzgeist

14 min read
Comparativa Q4, Q5, Q8: Cuantización en Práctica

Comparativa de cuantización: Q4, Q5, Q8 en la práctica

Qué cubre este artículo

  • Cómo difieren en la práctica los niveles de cuantización Q4_K_M, Q5_K_M, Q6_K y Q8_0
  • El impacto de la cuantización en la calidad, velocidad y consumo de memoria
  • Una tabla comparativa práctica del mismo modelo en diferentes niveles
  • Cuándo elegir cada nivel de cuantización
  • Cómo encontrar el equilibrio entre calidad y consumo de memoria

Introducción

La cuantización es la herramienta fundamental para ejecutar grandes modelos de IA en hardware de consumo. Pero ¿qué nivel deberías elegir? Q4_K_M es la recomendación estándar, pero ¿es Q5_K_M realmente mucho mejor? ¿Vale la pena Q8_0 si tienes espacio en memoria? ¿Y qué hay de Q6_K?

Todos los que ejecutan IA local se hacen estas preguntas. La teoría de la cuantización se explica en detalle en el artículo Cuantización. Este artículo va más allá: compara los niveles directamente en la práctica y te ayuda a elegir el correcto para tu caso de uso.

Tomamos un modelo específico, lo comparamos en diferentes niveles de cuantización y analizamos la calidad, velocidad y consumo de memoria. El resultado es una guía práctica que te ahorrará tiempo y esfuerzo en tu próxima elección de modelo.

¿Por qué necesito una comparativa de cuantización?

Imagina que tienes una tarjeta gráfica con 12 GB de VRAM y quieres ejecutar Llama 3 8B. En Q4_K_M el modelo necesita aproximadamente 5 GB, en Q5_K_M unos 6 GB, en Q8_0 alrededor de 8 GB. Los tres caben en tu tarjeta. ¿Cuál deberías elegir?

Sin una comparativa, probablemente elegirías Q4_K_M porque es la recomendación estándar. Pero si tienes 12 GB de VRAM, estarías desperdiciando memoria que podrías usar para un contexto más largo o un modelo más grande. Q5_K_M o incluso Q6_K podrían ser la mejor opción.

Por otro lado: si solo tienes 8 GB de VRAM y eligieras Q8_0, apenas tendrías espacio para el contexto. El modelo arrancaría, pero se bloquearía en conversaciones largas. Aquí Q4_K_M sería la opción segura.

Una comparativa de cuantización te ayuda a encontrar el nivel óptimo para tu hardware y caso de uso. No se trata de elegir el nivel más alto o más bajo, sino el que mejor se adapte a tu configuración.

Los niveles de cuantización explicados brevemente

Antes de comparar, aquí hay un recordatorio rápido de los niveles más importantes. Encontrarás una explicación completa en el artículo Cuantización.

Q4_K_M es el nivel estándar para la mayoría de usuarios locales. Usa 4 bits por peso con cuantización K, donde las capas sensibles se almacenan con más bits. La “M” significa “Medium”, un compromiso entre tamaño y calidad. Q4_K_M reduce el consumo de memoria a aproximadamente una tercera o cuarta parte del original.

Q5_K_M es el siguiente nivel. Usa 5 bits por peso y ofrece una calidad notablemente mejor que Q4, pero requiere aproximadamente 25 por ciento más memoria. Para muchos usuarios, Q5_K_M es el punto óptimo si tienen algo más de VRAM.

Q6_K usa 6 bits por peso y es cualitativamente muy cercano al original. El consumo de memoria es aproximadamente 50 por ciento más alto que Q4_K_M. Q6_K es una buena opción cuando la calidad es la máxima prioridad y el espacio en memoria es suficiente.

Q8_0 usa 8 bits por peso y es prácticamente indistinguible del original (FP16). El consumo de memoria es aproximadamente el doble que Q4_K_M. Q8_0 es la opción para máxima calidad cuando la memoria no es un problema.

Para quién es este artículo

Este artículo es para ti si:

  • ya ejecutas un modelo localmente y quieres saber si otro nivel de cuantización sería mejor
  • tienes una tarjeta gráfica nueva y quieres encontrar el nivel óptimo para ella
  • quieres entender cuánta calidad pierdes con niveles de cuantización más bajos
  • estás a punto de comparar varios modelos en diferentes niveles
  • quieres saber si vale la pena cambiar de Q4 a Q5 o Q6

Debes entender básicamente qué es la cuantización. Si no es así, lee primero el artículo Cuantización.

Términos importantes

TérminoSignificado
Q4_K_MCuantización K de 4 bits, variante Medium, opción estándar para la mayoría de usuarios
Q5_K_MCuantización K de 5 bits, variante Medium, mejor calidad que Q4
Q6_KCuantización K de 6 bits, muy cercana al original
Q8_0Cuantización de 8 bits, prácticamente idéntica al original
FP16Punto flotante de 16 bits, formato original de modelos entrenados
GGUFFormato de archivo para modelos cuantizados, usado por llama.cpp y Ollama
Cuantización KCuantización mixta que almacena capas sensibles con más bits
Bits por pesoNúmero de bits de memoria por valor de parámetro
Tokens por segundoMétrica de velocidad de ejecución de un modelo
KV-CacheBúfer para valores de atención, crece con la longitud del contexto

Comparativa práctica: El mismo modelo en diferentes niveles

Para hacer la comparativa concreta, usamos Llama 3 8B como ejemplo. El modelo tiene 8 mil millones de parámetros y es uno de los más populares para ejecutar localmente. La siguiente tabla muestra el modelo en diferentes niveles de cuantización:

NivelTamaño archivoConsumo VRAMCalidadVelocidadRecomendado para
FP16ca. 16 GBca. 18 GBOriginalBaseServidores, workstations de alto rendimiento
Q8_0ca. 8 GBca. 10 GBPrácticamente idénticoMuy rápido12+ GB VRAM, máxima calidad
Q6_Kca. 6,5 GBca. 8,5 GBExcelenteMuy rápido12+ GB VRAM, la calidad es prioridad
Q5_K_Mca. 5,7 GBca. 7,5 GBMuy buenoMuy rápido8+ GB VRAM, compromiso sólido
Q4_K_Mca. 4,7 GBca. 6,5 GBBuenoMuy rápido8 GB VRAM, opción estándar
Q4_0ca. 4,4 GBca. 6 GBAlgo más débilMuy rápidoCuando cada GB cuenta
Q3_K_Mca. 3,5 GBca. 5 GBNotablemente más débilMuy rápidoSolución de emergencia con muy poco VRAM
Q2_Kca. 2,7 GBca. 4 GBSignificativamente limitadoMuy rápidoSolo para experimentos

Los valores de VRAM incluyen un búfer de aproximadamente 2 GB para el KV-Cache y sobrecarga. Los valores reales varían ligeramente dependiendo de la longitud del contexto y el framework.

Encontrarás más sobre los requisitos de memoria en el artículo Requisitos de RAM y VRAM y en Tamaño de modelo y consumo de memoria.

Calidad: ¿Cuánto pierdes realmente?

La pregunta más importante es: ¿cuánta calidad pierdes con cuantización más baja? La respuesta depende de la tarea.

En chat y textos generales la diferencia entre Q4_K_M y Q8_0 es apenas perceptible para la mayoría de usuarios. Q4_K_M produce respuestas fluidas y coherentes que son completamente suficientes para conversaciones cotidianas. Si solo usas el modelo para chat o resúmenes simples, probablemente no notarás la diferencia.

En tareas de programación la diferencia es más evidente. Q4_K_M puede cometer errores ocasionales en tareas de código complejo que no ocurren con Q5_K_M o Q6_K. Si usas el modelo para programación, se recomienda al menos Q5_K_M, mejor Q6_K.

En matemática y lógica la diferencia es más pronunciada. Las cuantizaciones bajas pueden cometer errores en cálculos multietapa porque la precisión de los resultados intermedios disminuye. Para tareas matemáticas deberías elegir Q5_K_M o superior.

En tareas multilingües Q4_K_M puede ocasionalmente confundir idiomas o producir elecciones de palabras inusuales. Q5_K_M y superior son más estables aquí, especialmente con idiomas menos comunes.

En resumen: para tareas simples Q4_K_M es suficiente. Para tareas exigentes como código, matemática o textos multilingües deberías elegir Q5_K_M o Q6_K. Q8_0 solo es necesario si necesitas máxima calidad y tienes suficiente espacio en memoria.

Velocidad: ¿Menos bits es más rápido?

Un efecto sorprendente de la cuantización es que niveles más bajos suelen ser más rápidos. Esto ocurre porque hay menos datos que transferir entre la memoria y el procesador. El VRAM es rápido, pero el ancho de banda está limitado. Menos bits por peso significa menos tráfico de datos, lo que acelera la ejecución.

En la práctica se ve así:

NivelVelocidad relativa (GPU)Velocidad relativa (CPU)
FP161,0x1,0x
Q8_0ca. 1,5xca. 1,3x
Q6_Kca. 1,8xca. 1,5x
Q5_K_Mca. 2,0xca. 1,7x
Q4_K_Mca. 2,2xca. 2,0x
Q3_K_Mca. 2,3xca. 2,1x

Estos valores son orientativos y varían según la GPU, CPU y framework. En una RTX 3060, Q4_K_M puede ser aproximadamente 50 por ciento más rápido que Q8_0. En una CPU la diferencia es aún mayor, porque el ancho de banda de memoria es el cuello de botella principal.

Esto significa: la cuantización menor no solo ahorra memoria, sino que también puede aumentar la velocidad. Si la velocidad es más importante que la calidad máxima, Q4_K_M es la mejor opción, no Q8_0.

Requisitos de memoria: El factor decisivo

Para la mayoría de usuarios locales, los requisitos de memoria son el factor decisivo. La tarjeta gráfica tiene un VRAM fijo, y el modelo debe caber en él. Aquí hay una visión general de qué modelo en qué nivel se adapta a qué tarjeta gráfica:

VRAMQ4_K_MQ5_K_MQ6_KQ8_0
8 GBhasta 8Bhasta 7Bhasta 7Bhasta 4B
12 GBhasta 13Bhasta 13Bhasta 10Bhasta 8B
16 GBhasta 14Bhasta 14Bhasta 13Bhasta 13B
24 GBhasta 30Bhasta 27Bhasta 27Bhasta 22B

Estos valores incluyen aproximadamente 2 GB de búfer para KV-Cache y overhead. Con contextos más largos necesitas más búfer, lo que reduce el tamaño máximo del modelo.

La tabla muestra: con 8 GB VRAM estás limitado a Q4_K_M para modelos de 8B. Con 12 GB VRAM puedes aumentar a Q6_K o Q8_0 en modelos de 8B. Con 24 GB VRAM tienes total libertad con modelos de 8B e incluso puedes ejecutar modelos de 30B en Q4_K_M.

¿Cuándo elijo cada nivel?

Aquí hay una guía práctica para decidir:

Elige Q4_K_M si:

  • tienes 8 GB VRAM o menos
  • usas el modelo para chat, resúmenes o textos simples
  • la velocidad es más importante que la calidad máxima
  • quieres ejecutar varios modelos simultáneamente

Elige Q5_K_M si:

  • tienes 12 GB VRAM o más y ejecutas un modelo de 8B a 13B
  • usas el modelo para programación o matemáticas
  • buscas un buen equilibrio entre calidad y memoria
  • necesitas contextos más largos y todavía quieres VRAM disponible

Elige Q6_K si:

  • tienes 16 GB VRAM o más
  • la calidad tiene la máxima prioridad, pero no necesitas Q8_0
  • resuelves tareas complejas de programación o lógica
  • usas un Mac con 24 GB o más de Unified Memory

Elige Q8_0 si:

  • tienes 16 GB VRAM o más y ejecutas un modelo de 8B
  • necesitas la máxima calidad y la memoria no es un problema
  • usas el modelo para fine-tuning o como base para entrenamiento adicional
  • quieres reproducir resultados de benchmarks logrados con FP16

Como regla general: si tienes dudas, elige Q4_K_M. Si tienes más VRAM del que Q4_K_M necesita, aumenta a Q5_K_M. Si Q5_K_M no es lo suficientemente bueno, elige Q6_K. Q8_0 está reservado para casos especiales.

Cambiar cuantización en Ollama

Con Ollama puedes instalar y usar diferentes niveles de cuantización del mismo modelo. Aquí están los comandos más importantes:

# Instalación estándar (Q4_K_M)
ollama run llama3:8b

# Seleccionar cuantización específica
ollama run llama3:8b-q5_K_M
ollama run llama3:8b-q6_K
ollama run llama3:8b-q8_0

# Mostrar modelos instalados
ollama list

# Eliminar modelo si ya no es necesario
ollama rm llama3:8b-q8_0

Ollama descarga automáticamente el archivo GGUF correspondiente. Encontrarás más información sobre gestión de modelos en el artículo Modelle verwalten.

Trampas típicas

1. Iniciar Q8_0 en hardware demasiado pequeño: Q8_0 necesita el doble de memoria que Q4_K_M. Si el modelo apenas cabe en el VRAM, no queda espacio para el contexto. El modelo se bloquea en conversaciones largas. Elige un nivel más bajo.

2. Elegir Q4_0 en lugar de Q4_K_M: Q4_0 es la variante anterior, más simple. Q4_K_M ofrece calidad significativamente mejor con aproximadamente el mismo requisito de memoria. Si usas Q4, siempre elige Q4_K_M, nunca Q4_0.

3. No contar el requisito de contexto: El requisito de VRAM no consiste solo en el modelo, sino también en el KV-Cache. Con 8192 tokens de contexto se añaden de 1 a 3 GB. Planifica en consecuencia y elige un nivel más bajo si el contexto es grande.

4. Subestimar pérdidas de calidad en Q3 y Q2: Q3_K_M y Q2_K son soluciones de último recurso para VRAM muy limitado. Las pérdidas de calidad son notables o significativas. El modelo puede producir alucinaciones o cometer errores lógicos. Usa estos niveles solo cuando no hay otra opción.

5. Ignorar la ventaja de velocidad de cuantización menor: la cuantización menor no es solo más pequeña, sino también más rápida. Si la velocidad es importante, Q4_K_M puede ser mejor que Q8_0, incluso si tuvieras espacio para Q8_0.

6. Comparar diferentes modelos en diferentes niveles: si comparas el Modelo A en Q4_K_M con el Modelo B en Q8_0, la comparación es injusta. Siempre compara modelos en el mismo nivel de cuantización, de lo contrario no sabrás si la diferencia es del modelo o de la cuantización.

7. Leer resultados de benchmark sin contexto de cuantización: la mayoría de resultados de benchmark se obtienen con FP16 o Q8_0. Un modelo Q4_K_M puede funcionar de 1 a 3 puntos porcentuales peor. Siempre compara con el mismo nivel de cuantización. Más información en el artículo Benchmarks.

Hardware, costos y seguridad

Hardware: la elección del nivel de cuantización determina qué hardware necesitas. Con Q4_K_M llegas lejos con una RTX 3060 con 12 GB VRAM. Con Q8_0 necesitas al menos 16 GB VRAM para el mismo modelo. Los usuarios de Apple Silicon se benefician especialmente de Q4_K_M porque el Unified Memory es limitado.

Costos: los modelos cuantizados son gratuitos. El ahorro de costos proviene del hardware: con Q4_K_M basta una tarjeta gráfica económica, con Q8_0 necesitas una más cara. La diferencia puede ser de cientos de euros. Una RTX 3060 con 12 GB cuesta menos de 300 EUR, una RTX 4080 con 16 GB cuesta más de 900 EUR.

Seguridad: la cuantización no tiene implicaciones de seguridad. El modelo cuantizado es una versión comprimida del mismo modelo. Si lo ejecutas localmente, todos los datos permanecen en tu equipo. No se envía información a servicios en la nube. La cuantización no cambia la seguridad de los datos.

Enlaces relacionados

Preguntas frecuentes

¿Vale la pena cambiar de Q4_K_M a Q5_K_M?

Si tienes suficiente VRAM, sí. Q5_K_M ofrece una calidad notablemente mejor en programación y matemáticas, con solo alrededor de 25 por ciento más consumo de memoria. Si tu modelo sigue ciendo cómodamente en VRAM con Q5_K_M, usa Q5_K_M.

¿Es Q8_0 realmente mejor que Q6_K?

La diferencia no es perceptible para la mayoría de aplicaciones. Q8_0 es prácticamente idéntico al original, y Q6_K está muy cerca. Q6_K requiere aproximadamente 20 por ciento menos memoria. Si dudas entre Q6_K y Q8_0, elige Q6_K a menos que necesites la máxima calidad posible.

¿Puedo cambiar el nivel de cuantización sin descargar el modelo nuevamente?

No. Cada nivel de cuantización es un archivo separado. Con Ollama puedes instalar varios niveles e intercambiar entre ellos, pero cada uno debe descargarse por separado.

¿Cuál es la diferencia entre Q4_0 y Q4_K_M?

Q4_0 cuantiza todos los pesos uniformemente a 4 bits. Q4_K_M utiliza K-cuantización, donde las capas sensibles se almacenan con más bits. Q4_K_M proporciona una calidad significativamente mejor con prácticamente el mismo consumo de memoria. Siempre elige Q4_K_M, nunca Q4_0.

¿Cuánto VRAM necesito para Q5_K_M en un modelo de 8B?

Aproximadamente 7 a 8 GB, incluido KV-cache y overhead. Con 8 GB VRAM será ajustado, con 12 GB VRAM estarás cómodo. Reserva unos 2 GB de buffer para el contexto.

¿Es Q3_K_M aún viable?

Q3_K_M es una solución de emergencia para hardware muy limitado. Las pérdidas de calidad son notables, especialmente en tareas complejas. Puede funcionar para aplicaciones de chat simples, pero no es recomendable para programación o matemáticas. Es mejor usar un modelo más pequeño en Q4_K_M que uno grande en Q3_K_M.

¿Qué nivel de cuantización es el más rápido?

Cuanto menor es el número de bits, más rápida es la ejecución porque se mueven menos datos. Q4_K_M es aproximadamente 50 por ciento más rápido que Q8_0 en la mayoría de GPUs. Q3 y Q2 son aún más rápidos, pero las pérdidas de calidad no justifican la ganancia de velocidad.

¿Debo elegir un nivel diferente en Apple Silicon?

Los principios son los mismos, pero Apple Silicon tiene Unified Memory. Eso significa que compartes memoria con el sistema operativo. Q4_K_M es la opción estándar aquí también. En Macs con 16 GB de RAM usa Q4_K_M, con 32 GB o más puedes elegir Q5_K_M o Q6_K.

¿Cómo comparo dos niveles de cuantización por mi cuenta?

Carga ambos niveles en Ollama, formula las mismas preguntas y compara las respuestas. Para comparaciones más objetivas, utiliza benchmarks como MMLU o HumanEval con lm-evaluation-harness. Más detalles en el artículo Benchmarks.

¿Tiene sentido cuantizar modelos muy pequeños como 2B?

Sí, pero la pérdida de calidad es más notable en modelos pequeños porque cada peso tiene mayor influencia. Para un modelo de 2B deberías elegir al menos Q5_K_M o Q6_K para no comprometer demasiado la calidad. Q4_K_M es el límite inferior para modelos de 2B.

¿Afecta la cuantización a la longitud del contexto?

Indirectamente sí. La cuantización reduce el consumo de memoria del modelo, dejando más VRAM disponible para el KV-cache. Con Q4_K_M puedes usar un contexto más largo que con Q8_0 con el mismo VRAM. Si necesitas contextos largos, un nivel de cuantización más bajo puede ser mejor.

Referencias

  • Documentación de cuantización de llama.cpp en GitHub
  • Catálogo de modelos de Hugging Face y cuantizaciones GGUF
  • Documentación de Ollama sobre gestión de modelos
  • Colecciones de modelos GGUF de TheBloke y bartowski en Hugging Face
  • K-Quantization Technical Report
Volver al blog
Share:

Entradas relacionadas