El primer vuelo — cómo ejecutar modelos GGUF en local
El chequeo previo completo: elegir el runner, bajar el GGUF, verificar que aterriza en la GPU, elegir tu quant — y conocer los cuatro abortos por su nombre antes de que ocurran.
■ espacio · el primer vuelo
Fastest path: Camino más rápido: — Ollama pulls the GGUF straight from Hugging Face and serves it.
Want the (qué capas suben a la GPU)? (which layers hit the GPU)? llama-server -m file.gguf -ngl 99.
Quant default: Quant por defecto: — tamaño del archivo + ~1–2 GB de sobrecoste de contexto deberían caber en tu VRAM.
THE PRE-FLIGHT
Cinco comprobaciones entre la descarga y un modelo sirviendo. Márcalas sobre la marcha — la pista se ilumina a tu espalda.
■ EN ESPERA — la checklist aguarda.
THE FILE, AND ITS NAME
GGUF (GGML Universal File) es un contenedor para modelos cuantizados: pesos, tokenizer, metadatos — un archivo, sin sopa de configs.
Pesos comprimidos de 16 bits a 4 bits: un 9B que requiere ~18 GB a plena precisión cabe en ~5,5 GB como Q4 — GPU de juegos o incluso CPU.
la org · el modelo base · la exportación · la etiqueta de quant — dos cosas importan: la base (gemma-2-9b-it) y con cuánta fuerza se exprimió el peso (Q4_K_M)
TWO WAYS TO FLY IT
Ollama — el servicio configurar-y-olvidar. El GGUF es nativo, y desde 2024 baja directamente de Hugging Face. La contrapartida es el control: no eliges el número de capas de GPU.
# baja un quant GGUF directamente de Hugging Face y chatea
ollama run hf.co/bartowski/gemma-2-9b-it-GGUF:Q4_K_M
# or wrap a file you already have — Modelfile, one line:# o envuelve un archivo que ya tienes — Modelfile, una línea:# FROM ./gemma-2-9b-it-Q4_K_M.gguf
ollama create gemma9b -f Modelfile
ollama run gemma9b
llama.cpp — de donde viene el GGUF. El soporte es el más profundo y fresco, y llama-server gives you both a chat UI and an OpenAI-compatible endpoint:
# descarga directo de Hugging Face (elige un GGUF a juego)
llama-server -hf ggml-org/gemma-3-4b-it-GGUF --port 8080
# or run a file you already have, with full GPU offload# o corre un archivo que ya tienes, con offload de GPU completo
The -ngl es el superpoder de llama.cpp — el offload parcial. Pruébalo con el ejemplo del registro, un 9B de 48 capas en una tarjeta de 6 GB:
capas en la tarjeta, el resto cabalgando en la CPU vía PCIe — corre bien en una tarjeta de 6 GB, solo más lento. layers on the card, the rest riding CPU through PCIe — it runs fine on a 6 GB card, just slower.
Prompt de una tacada: cambia llama-server for llama-cli, mismo flag -m flag. LM Studio is the same engine behind a GUI — drop in a . LM Studio es el mismo motor tras una GUI — suelta un , clic en cargar.
WHICH QUANT IN THE TANK
Respuesta por defecto: Q4_K_M — a un punto o dos de la precisión completa por cerca de un cuarto del tamaño; la calidad-por-GB llega a su cima aquí en modelos 7–14B.
La escalera, de mayor a menor:
- Q8_0 — casi sin pérdidas; úsalo si tu VRAM traga 8,5 bits por peso sin inmutarse.
- Q6_K / Q5_K_M — un peldaño abajo en tamaño, aún excelente para modelos 30B+.
- Q4_K_M — the default.
- IQ4_XS / Q3_K_M — meter un modelo grande en una tarjeta pequeña; la pérdida de calidad se nota.
- Q2_K and below — último recurso; el modelo empieza a degradarse en disparates a media frase.
La regla de encaje: file size + ~1–2 GB of context overhead ≤ VRAM — un Q4_K_M de 4,7 GB de un 9B va holgado en una tarjeta de 8 GB.
El sobrecoste es la caché KV: escala con el contexto, no con el tamaño del modelo. Presupuesta tu sesión real más larga.
And prefer a modelo más pequeño a un quant más alto — un Q8 4B normalmente gana a un Q2 9B.
Esquina de formato: safetensors is the unquantised archive — entrenamiento, fine-tuning, transformers, ComfyUI. GGUF es el cuantizado, el que sirve.
No puedes hacer fine-tuning de un GGUF, y no puedes correr safetensors en Ollama o llama.cpp sin convertir (You can't fine-tune a GGUF, and you can't run safetensors in Ollama or llama.cpp without converting (convert_hf_to_gguf.py es el puente). Entrenamiento → safetensors; chat local → GGUF.
THE FOUR ABORTS
¿Por qué mi modelo GGUF no carga? Estos cuatro cubren la mayoría de los casos:
unknown model architectureEl GGUF usa una arquitectura anterior a tu runtime — los modelos MoE y de visión nuevos llegan sin parar. Actualiza Ollama o recompila llama.cpp; no existe otro arreglo.
El quant es demasiado grande para tu VRAM más el contexto. Baja un peldaño (Q4_K_M → Q3_K_M), reduce -ngl, or shrink context with -c 4096.
La carga falla con un error de magic-number o de metadatos. Re-descarga y compara el SHA256 mostrado en la página de Hugging Face.
ollama run ./model.gguf refusesEsperado: run toma nombres de modelos, no rutas de archivos. Usa la vía Modelfile de arriba.
Último ángulo: un endpoint GGUF local hace pareja perfecta con las herramientas de codificación agéntica — apunta ahí un cliente compatible con OpenAI; las completaciones solo cuestan luz.
Una vez la fontanería funciona, la pregunta es qué modelo merece el hueco; la pieza del garaje del motor lee el expediente llama.cpp-versus-Ollama de principio a fin.
¿Un modelo, muchos usuarios? El modo GGUF de vLLM funciona — solo GPU, pasajero de segunda clase junto a sus formatos nativos.
fin del primer vuelo · nada descargado · todo local