Qué LLM local usar en un RAG sin GPU: Qwen 4B, Gemma E4B y Qwen 9B medidos
Parte 9 de 1113 de octubre de 2026 · 2 min · David Silvente López
Mi primer experimento con un modelo de 1,5B en CPU dejó dos problemas: ni se abstenía (0 de 80 respuestas) ni citaba la fuente. Para la segunda vuelta pedí una respuesta estructurada y probé tres modelos mayores con llama.cpp.
Cómo lo medí
- Equipo: CPU Snapdragon X, sin GPU, 7,5 GB de memoria visibles en WSL; modelos GGUF Q4_K_M.
- Contexto: híbrido + reranker, 4 artículos recortados a 1.200 caracteres.
- Salida JSON:
suficiente(sí/no),respuestayfuentes(identificadores de artículo). - 16 preguntas dentro de ámbito y 16 fuera. Métricas objetivas: JSON válido, abstención, citas y tiempo. Sin juez LLM ni notas subjetivas.
Resultados
| Modelo | JSON válido | Fuera de ámbito: se abstiene | Cita los artículos esperados | Inventa fuentes | Mediana por respuesta |
|---|---|---|---|---|---|
| Qwen3.5-4B | 100 % | 100 % | 62 % | 3 % (1 caso) | 25 s |
| Gemma 4 E4B | 100 % | 87,5 % | 56 % | 0 % | 32 s |
| Qwen3.5-9B | 100 % | 100 % | 66 % | 0 % | 42 s |
Dato clave: solo el 72 % de los artículos necesarios llegó al contexto, así que ese es el techo de las citas. El 9B cita el 92 % de lo que tenía a mano. Si el artículo no llega, ningún modelo lo arregla.
Qué aprendí
- La salida estructurada cambia el juego. Con JSON y una instrucción clara, los tres modelos se abstienen en preguntas ajenas y citan fuentes. Con texto libre, el modelo de 1,5B no lo hacía.
- El 9B no compensa en CPU: +4 puntos de citas sobre el 4B a cambio de +17 s por respuesta.
- Gemma E4B fue el único que contestó a preguntas fuera de ámbito (2 de 16).
- Combina puertas: el umbral del reranker más el campo
suficientedejó 13 respuestas de 16 dentro de ámbito y 0 de 16 fuera. - Memoria: el 4B y el 9B se cayeron por falta de memoria por la caché de prompts de llama.cpp; con
--cache-ram 0y contexto de 4.096 tokens funcionaron.
Mi elección provisional
Qwen3.5-4B para un RAG sobre normativa en CPU: mejor equilibrio entre abstención, citas y tiempo. 25 s sirve para un informe, no para un chat.
Limitaciones: 16+16 preguntas, un solo contexto de recuperación y sin evaluar si el contenido de la respuesta es correcto (solo formato, citas y abstención).
Preguntas frecuentes
¿Qué LLM local usar para un RAG sin GPU?
En esta prueba, Qwen3.5-4B: mejor equilibrio entre abstención, citas y tiempo (25 s de mediana por respuesta), suficiente para un informe pero no para un chat.
¿Cómo conseguir que un LLM pequeño cite fuentes y se abstenga?
Pidiendo una salida estructurada en JSON con los campos suficiente, respuesta y fuentes. Con eso los tres modelos probados se abstuvieron en preguntas ajenas y citaron fuentes.
¿Compensa Qwen 9B frente a Qwen 4B en CPU?
No: el 9B gana 4 puntos de citas (66 % frente a 62 %) a cambio de 17 s más por respuesta (42 s frente a 25 s).
¿Por qué se cae llama.cpp por falta de memoria?
En la prueba, el 4B y el 9B se cayeron por la caché de prompts de llama.cpp; con --cache-ram 0 y contexto de 4.096 tokens funcionaron.
¿Tienes un RAG o un proyecto de IA con normativa o documentación?
Te ayudo a medirlo antes de gastar: preguntas de prueba, recuperación, abstención y coste.
Agenda tu diagnósticoSígueme en LinkedIn, donde comento cada artículo · Compartir: LinkedIn · X