Descargaste Gemma 4, lo ejecutaste, y... es dolorosamente lento. Quiza 2 tokens por segundo. Quiza peor. Antes de culpar al modelo, vamos a descubrir que esta pasando realmente — porque en la mayoria de casos, unos pocos ajustes de configuracion pueden multiplicar tu velocidad por 5-10x.
Paso 1: Diagnostica por que va lento
Hay cinco razones comunes por las que Gemma 4 funciona mas lento de lo esperado. Vamos a verificar cada una.
Razon 1: Fallback a CPU
Este es el asesino de velocidad numero uno. Tu modelo se esta ejecutando en CPU en lugar de GPU, y puede que ni te des cuenta.
Como verificar:
# Mac: Monitor de Actividad → Historial GPU (menu Ventana)
# O verifica si se esta usando Metal:
sudo powermetrics --samplers gpu_power -n 1
# NVIDIA: La utilizacion de GPU deberia ser > 0%
nvidia-smi
# AMD: Misma verificacion
rocm-smiSi la utilizacion de la GPU se mantiene en 0% durante la inferencia, estas en CPU. Soluciona esto primero — nada mas importa hasta que la aceleracion por GPU este funcionando.
Razon 2: Cuantizacion incorrecta
No todas las cuantizaciones son iguales en velocidad:
| Cuantizacion | Tamano archivo (12B) | Velocidad | Calidad | Ideal para |
|---|---|---|---|---|
| Q4_K_M | ~7 GB | La mas rapida | Buena | Uso diario, mayoria de tareas |
| Q5_K_M | ~8.5 GB | Rapida | Mejor | Cuando la calidad importa |
| Q6_K | ~10 GB | Media | Muy buena | Equilibrado |
| Q8_0 | ~13 GB | Lenta | Casi original | Tareas criticas de calidad |
| FP16 | ~24 GB | La mas lenta | Original | Solo si tienes la VRAM |
| IQ4_XS | ~6 GB | La mas rapida | Aceptable | Presupuesto ajustado de VRAM |
Si estas ejecutando Q8 o FP16 y te preguntas por que va lento, cambia a Q4_K_M. La diferencia de calidad es marginal para la mayoria de tareas, pero la diferencia de velocidad es dramatica. Nuestra guia GGUF tiene benchmarks detallados para cada nivel de cuantizacion.
Razon 3: Longitud de contexto demasiado larga
Gemma 4 soporta hasta 256K de contexto, pero mas contexto = inferencia mas lenta. La relacion no es lineal — empeora a medida que crece el contexto:
| Longitud de contexto | Velocidad relativa | Uso de VRAM (12B Q4) |
|---|---|---|
| 2K | 1.0x (base) | ~7 GB |
| 8K | ~0.9x | ~8 GB |
| 32K | ~0.7x | ~12 GB |
| 128K | ~0.4x | ~20 GB |
| 256K | ~0.25x | ~30 GB+ |
Solucion: Configura una longitud de contexto razonable para tu tarea:
# Ollama: limita el contexto
ollama run gemma4:12b --ctx-size 8192
# llama.cpp
./llama-server -m model.gguf -c 8192
# No uses 256K a menos que realmente lo necesitesRazon 4: Inflacion del KV cache
El KV cache (cache clave-valor) almacena informacion de atencion y crece con la longitud de la conversacion. Conversaciones largas consumen VRAM y ralentizan las cosas.
Solucion: Inicia conversaciones nuevas regularmente, o configura un limite de cache:
# llama.cpp: limita el KV cache
./llama-server -m model.gguf -c 8192 --cache-type-k q8_0 --cache-type-v q8_0
# KV cache cuantizado usa menos VRAM con perdida minima de calidadRazon 5: Problemas de tamano de lote
Si estas sirviendo multiples solicitudes, tamanos de lote incorrectos perjudican el rendimiento:
# vLLM: ajusta el tamano de lote
python -m vllm.entrypoints.openai.api_server \
--model google/gemma-4-12b-it \
--max-num-batched-tokens 4096 \
--max-num-seqs 8Soluciones especificas por plataforma
Mac (Apple Silicon)
El rendimiento en Mac depende totalmente de que la aceleracion por GPU Metal funcione correctamente:
# Verifica soporte de Metal
system_profiler SPDisplaysDataType | grep Metal
# Ollama usa Metal automaticamente en Apple Silicon
# Si la velocidad sigue siendo lenta, verifica la presion de memoria unificada:
memory_pressure
# Para llama.cpp, asegurate de que Metal esta activado
cmake -B build -DGGML_METAL=ON
cmake --build build
# Configuracion recomendada para M1/M2/M3
./llama-server -m model.gguf -ngl 999 -c 8192| Modelo Mac | Memoria unificada | Velocidad 12B Q4 | Notas |
|---|---|---|---|
| M1 8GB | 8GB | ~12 tok/s | Usable pero justo |
| M1 Pro 16GB | 16GB | ~18 tok/s | Comodo |
| M2 Pro 16GB | 16GB | ~22 tok/s | Buen uso diario |
| M3 Pro 18GB | 18GB | ~25 tok/s | Punto ideal |
| M3 Max 36GB | 36GB | ~30 tok/s | Puede ejecutar 27B Q4 |
| M4 Max 48GB | 48GB | ~35 tok/s | Ejecuta todo |
Consejo especifico para Mac: Cierra apps que consumen mucha memoria (Chrome, Docker) antes de ejecutar modelos grandes. Apple Silicon comparte memoria entre CPU y GPU, asi que no hay una VRAM separada.
Windows (NVIDIA CUDA)
# Asegurate de que CUDA se esta usando realmente
# En Ollama, verifica con:
ollama ps
# Problema comun de Windows: configuracion de energia
# Configura "Alto rendimiento" en las opciones de energia de Windows
# Las GPUs de portatil se ralentizan agresivamente en "Equilibrado"
# Para llama.cpp en Windows:
cmake -B build -DGGML_CUDA=ON
cmake --build build --config ReleaseConsejo especifico para Windows: Desactiva el escaneo en tiempo real de Windows Defender para tu directorio de modelos. Escanea cada lectura de archivo y puede arruinar el rendimiento:
# PowerShell (admin)
Add-MpPreference -ExclusionPath "C:\Users\you\models"Linux (NVIDIA o AMD)
# NVIDIA: Asegurate de que el modo de persistencia esta activado
sudo nvidia-smi -pm 1
# Configura la GPU a rendimiento maximo
sudo nvidia-smi -ac 1215,1410 # Los valores varian segun la GPU
# AMD: Verifica que ROCm esta activo
rocm-smi
# Para ambos: asegurate de no estar ejecutando un compositor Wayland
# X11 tiene menos sobrecarga de GPU para tareas de computoLista de verificacion rapida de velocidad
Repasa esta lista para maximizar la velocidad:
1. [ ] La aceleracion por GPU esta funcionando (no fallback a CPU)
2. [ ] Usando cuantizacion Q4_K_M (a menos que la calidad sea critica)
3. [ ] Longitud de contexto configurada a lo que realmente necesitas (no 256K por defecto)
4. [ ] KV cache cuantizado (--cache-type-k q8_0)
5. [ ] Flash Attention activado (si esta disponible)
6. [ ] Sin apps pesadas en segundo plano
7. [ ] Configuracion de energia en "Alto rendimiento" (portatiles)
8. [ ] Ultimos controladores instaladosCuando la lentitud es esperada
A veces Gemma 4 va lento y asi es como es:
- Latencia del primer token: El primer token siempre tarda mas (procesamiento del prompt). Esto es normal.
- Prompts muy largos: Procesar una entrada de 100K tokens toma tiempo sin importar que.
- Modelo 27B en 16GB: Cabe, pero apenas. Considera el 12B en su lugar.
- Inferencia solo CPU: Sin GPU, espera 1-5 tok/s. Esa es la realidad de ejecutar LLMs en CPU.
Si experimentas problemas mas alla de solo velocidad, como cuelgues o errores, consulta nuestra guia de solucion de problemas para soluciones a errores OOM, problemas de deteccion de GPU y mas.
Siguientes pasos
- ¿No estas seguro de que tu hardware sea suficiente? Consulta la guia de requisitos de hardware para especificaciones minimas y recomendadas
- ¿Confundido sobre que tamano de modelo elegir? Lee ¿Que modelo de Gemma 4 deberia elegir? para emparejar tamano de modelo con tu hardware
- ¿Quieres entender mejor la cuantizacion? Consulta nuestra guia de cuantizacion GGUF para comparaciones detalladas
La optimizacion de velocidad es principalmente acertar con lo basico. Soluciona el fallback a CPU, elige la cuantizacion correcta y configura una longitud de contexto razonable — esos tres cambios solos resolveran el 90% de las quejas de rendimiento.



