Cuantización GGUF: Q4, Q5 y Q8
La cuantización es lo que permite meter modelos grandes en equipos normales. La clave no es elegir “el modelo más grande”, sino el mejor equilibrio entre calidad, memoria y velocidad para tu tarea.
Objetivos de aprendizaje
- Entender qué significan Q4, Q5, Q8 y los sufijos
_K_M. - Elegir quant según VRAM, RAM y uso: chat, RAG o programación.
- Importar un GGUF en Ollama con un
Modelfile.
En cristiano: cuantización. Es comprimir los pesos del modelo usando menos precisión. Ocupa menos, cabe en más máquinas y suele ir más rápido, pero puede perder algo de calidad.
Regla práctica
- Q4_K_M: primera opción si vas justo de VRAM o quieres velocidad.
- Q5_K_M: punto dulce cuando puedes gastar algo más de memoria por mejor calidad.
- Q8_0: cerca de calidad alta, pero mucho más pesado; úsalo si el modelo cabe cómodo.
Idea clave. Para aprender y prototipar, Q4_K_M suele ser suficiente. Para RAG serio o coding, prueba Q5_K_M si cabe. Q8 solo compensa cuando tienes margen de VRAM/RAM.
Tabla mental de elección
Terminal
8 GB VRAM: 7B/8B en Q4_K_M 14B solo si aceptas ir justo o bajar contexto 12 GB VRAM: 7B/8B en Q5_K_M o Q8_0 14B en Q4_K_M 16 GB VRAM: 14B en Q5_K_M 30B pequeño en Q4 si el contexto no es enorme 24 GB+ VRAM: 14B en Q8_0 30B/32B en Q4_K_M o Q5_K_M
Cuidado. No mires solo el tamaño del archivo. El contexto también consume memoria. Un modelo que “cabe” con una pregunta corta puede caerse a CPU cuando subes
num_ctx o metes documentos largos.Importar un GGUF en Ollama
Ollama permite importar modelos GGUF con un Modelfile. Crea una carpeta, guarda el GGUF y escribe:
Terminal
FROM ./mi-modelo.Q5_K_M.gguf PARAMETER temperature 0.2 PARAMETER num_ctx 8192 SYSTEM """ Eres un asistente técnico preciso. Si no sabes algo, dilo. """
Después crea el modelo:
Terminal
ollama create mi-modelo-q5 -f Modelfile ollama run mi-modelo-q5
Comprueba que funciona. Ejecuta la misma pregunta en Q4 y Q5. Si Q5 mejora claramente respuestas de código o citas de RAG y tu máquina lo mueve bien, quédate con Q5. Si apenas notas diferencia, Q4 te dará más velocidad.
Cuantizar tú mismo con llama.cpp
Cuando partes de un modelo ya convertido a GGUF en alta precisión, llama.cpp permite crear una versión cuantizada.
Terminal
# Ejemplo genérico; el binario puede llamarse llama-quantize o quantize según tu build ./llama-quantize modelo-f16.gguf modelo-Q4_K_M.gguf Q4_K_M ./llama-quantize modelo-f16.gguf modelo-Q5_K_M.gguf Q5_K_M ./llama-quantize modelo-f16.gguf modelo-Q8_0.gguf Q8_0
Cuidado. Si no necesitas convertir modelos propios, descarga un GGUF ya cuantizado de una fuente confiable. Cuantizar tú mismo tiene sentido si has ajustado un modelo, necesitas una quant concreta o quieres controlar toda la cadena.
Guardar y reabrir el proyecto.
Recomendación honesta: usa Q4_K_M para empezar, Q5_K_M para trabajo serio si cabe, Q8_0 solo cuando tengas memoria de sobra. Modelo correcto en Q5 suele ganar a modelo enorme en una quant demasiado agresiva.