¿Puede una RTX 3060 ejecutar 35B? --n-cpu-moe de llama.cpp mantiene útiles los PC antiguos para LLM locales

En un PC antiguo con RTX 3060 12GB, Ryzen 7 3700X y 32GB de RAM, las versiones recientes de llama.cpp, Qwen3.6-35B-A3B GGUF y --n-cpu-moe pueden hacer mucho más usable un modelo MoE local de 35B.

Hace poco vi una prueba interesante de LLM local: el mismo PC antiguo de unos 3000 yuanes, sin cambiar hardware, dio un salto notable al ejecutar un modelo MoE de 35B tras usar una versión más reciente de llama.cpp y un conjunto de parámetros mejor ajustado.

La máquina de prueba no es de gama alta:

Hardware Configuración
CPU AMD Ryzen 7 3700X
GPU RTX 3060 12GB
Memoria 32GB DDR4
Sistema Windows 11
Modelo Qwen3.6-35B-A3B GGUF Q4_K_M

La conclusión es directa: el mismo hardware que antes apenas podía ejecutar versiones muy cuantizadas ahora puede acercarse a un uso diario con una versión nueva de llama.cpp, cuantización Q4 y contexto de 64K.

La Clave No Es Cambiar la GPU, Sino Planificar MoE

El parámetro más importante es:

1
--n-cpu-moe 32

Qwen3.6-35B-A3B es un modelo MoE, Mixture of Experts. Su número total de parámetros parece enorme, pero cada paso de inferencia no activa todos los expertos. Solo se usa una parte del conjunto de expertos para cada token.

Esto abre margen para la inferencia local. No todo tiene que caber en la GPU. El parámetro --n-cpu-moe de llama.cpp permite ajustar cómo se reparten las capas expertas de MoE entre CPU y GPU, de modo que una GPU de consumo con VRAM limitada también pueda ejecutar modelos más grandes.

En una RTX 3060 12GB, --n-cpu-moe 32 es un buen punto inicial. La GPU se encarga del trabajo CUDA que maneja bien, mientras la CPU comparte parte de las capas expertas. Esta planificación mixta puede ser más rápida que cargar todo en la GPU o depender demasiado de la CPU.

¿Cuánto Mejora la Velocidad?

Una comparación típica se puede entender así:

Elemento Configuración anterior Configuración nueva
Velocidad de generación Unos 15 tok/s Unos 33-36 tok/s
Cuantización Q2_K_M Q4_K_M
Contexto 4K 64K
Uso de VRAM Unos 5GB Unos 7GB
Experiencia Funciona, pero con calidad inestable Más fluida y con respuestas claramente mejores

Lo importante no es solo duplicar la velocidad. La calidad de cuantización y la longitud de contexto mejoran al mismo tiempo.

Antes, muchos usuarios con 12GB de VRAM tenían que usar Q2 para arrancar modelos de 30B o más. El modelo podía iniciar, pero la calidad de inferencia sufría. Poder pasar a Q4 significa que el modelo local se acerca más a “sirve para trabajar” que a “solo sirve para probar”.

Una Plantilla de Arranque para Windows

Esta es una plantilla de batch para Windows. Cambia las rutas según tu máquina:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@echo off
chcp 65001 >nul

cd /d C:\Users\你的用户名\llama-b9297-bin-win-cuda-13.1-x64

llama-server.exe ^
 -m "D:\Qwen3.6-35B-A3B-UD-Q4_K_M.gguf" ^
 -ngl 99 ^
 --n-cpu-moe 32 ^
 --flash-attn on ^
 --jinja ^
 -c 65536 ^
 -t 8 ^
 -b 512 ^
 -ub 128 ^
 --cache-type-k q4_0 ^
 --cache-type-v q4_0 ^
 -np 1 ^
 --cache-ram 0 ^
 --host 127.0.0.1 ^
 --port 8080

pause

Parámetros clave:

  • -ngl 99: intenta descargar a GPU tantas capas elegibles como sea posible;
  • --n-cpu-moe 32: controla la planificación de capas expertas MoE y es el ajuste principal de esta mejora;
  • --flash-attn on: activa Flash Attention para reducir la presión del contexto largo;
  • -c 65536: define un contexto de 64K;
  • --cache-type-k q4_0 / --cache-type-v q4_0: cuantiza la KV cache para reducir el uso de VRAM en contexto largo;
  • -np 1: una sola concurrencia, adecuada para una máquina con 32GB de RAM;
  • --cache-ram 0: desactiva prompt cache para controlar mejor la memoria.

Hay que tener en cuenta que b9297 es solo un punto de prueba. Al 26 de mayo de 2026, la página de releases de llama.cpp ya tiene versiones más recientes, así que en la práctica conviene probar primero un build CUDA más nuevo.

Cómo Ajustar Según la GPU

Para este tipo de modelo MoE, la idea no es “si falta VRAM, se abandona”. La idea es buscar un reparto adecuado entre CPU y GPU.

Hardware Sugerencia
RTX 3060 12GB / 3080 10GB Empieza con --n-cpu-moe 32
RTX 3070 8GB / 4060 8GB Aumenta --n-cpu-moe, por ejemplo a 128 o 256
RTX 3050 6GB / GTX 1650 4GB Prueba más CPU offload, pero espera una caída clara de velocidad
Apple Silicon Mac Usa el backend Metal; la memoria unificada ayuda con modelos grandes

No trates estos valores como respuestas absolutas. El mejor valor de --n-cpu-moe depende del modelo, la cuantización, la GPU, la CPU y el ancho de banda de memoria. Es más seguro probar varios puntos:

1
0 / 16 / 32 / 64 / 128 / 256

Compara tok/s, uso de memoria, latencia del primer token y estabilidad de las respuestas antes de decidir la configuración final.

¿Bastan 32GB de RAM?

La respuesta corta: puede correr, pero no sobra mucho margen.

Con una configuración así, el working set de llama-server puede superar los 20GB. El sistema también necesita memoria para el navegador, el editor, drivers y servicios en segundo plano. Para uso local individual, 32GB merece la pena probar. Para un servicio permanente o llamadas concurrentes, 64GB será mucho más cómodo.

Recomendaciones:

  • Prueba primero con una sola concurrencia;
  • Cierra programas en segundo plano innecesarios;
  • No mantengas demasiadas pestañas del navegador abiertas;
  • Confirma que el backend CUDA se carga correctamente;
  • No empieces intentando subir el contexto a 128K.

Por Qué Importa

Los LLM locales siempre han estado rodeados de ansiedad por la VRAM. Mucha gente asume que un modelo de clase 35B exige 24GB de VRAM, preferiblemente una RTX 4090.

Esta prueba apunta a otra dirección: las mejoras en arquitectura de modelos y frameworks de inferencia pueden mantener útil el hardware antiguo. MoE, cuantización de KV cache, Flash Attention, optimización de kernels CUDA y CPU/GPU mixed offload pueden influir más en la experiencia real que una simple actualización de GPU.

Por supuesto, no es magia. Ejecutar un 35B MoE en GPUs de 8GB o 12GB sigue exigiendo compromisos entre velocidad, contexto, calidad de cuantización y memoria. Pero para bases de conocimiento personales, asistentes de código, preguntas sobre documentos largos o pruebas offline, este tipo de configuración ya merece experimentación.

Mi Conclusión

Si tienes una RTX 3060 12GB, una RTX 3080 10GB o incluso una GPU de 8GB, vale la pena volver a mirar las versiones nuevas de llama.cpp.

Lo importante no es copiar un parámetro sin pensar, sino entender el patrón:

Un modelo MoE no necesita necesariamente meter todos sus expertos en la GPU. Un reparto razonable entre CPU y GPU puede importar más que la cantidad bruta de VRAM.

Los PC antiguos no están condenados a ejecutar solo modelos pequeños. Mientras los frameworks de inferencia y las técnicas de cuantización sigan mejorando, muchos modelos locales antes considerados “demasiado pesados” volverán a ser utilizables.

Referencias

记录并分享
Creado con Hugo
Tema Stack diseñado por Jimmy