# Optimización de Modelos MoE en GPUs de Gama Baja: Ejecución de GPT-OSS-120B con 6 GB de VRAM a hasta 30 t/s
El modelo GPT-OSS-120B con 120B parámetros se ejecuta en una GPU con 6 GB de VRAM a una velocidad de 30 tokens/s. El factor clave es usar RAM en lugar de VRAM gracias a la arquitectura de Mezcla de Expertos (MoE) y el parámetro -cmoe. Esto permite una distribución eficiente de tensores entre CPU y GPU sin necesidad de actualizar el hardware.
Arquitectura de Mezcla de Expertos
Los modelos MoE activan un número limitado de expertos de un conjunto compartido en cada capa. El enrutador (red de compuerta) selecciona 2–4 expertos de entre 128 para la generación de tokens, lo que reduce la carga computacional hasta 24 veces en comparación con los modelos densos.
Cada capa contiene:
- Bloques de atención (tensores compartidos)
- Bloques FFN, reemplazados por un grupo de expertos
- Enrutador para el enrutamiento
Los expertos son mini-FFN aislados que se especializan en rangos de datos de entrada. Durante la generación de tokens, pasa por todas las capas (12–100+), alternando capas MoE y densas.
En los modelos densos, el FFN es un bloque monolítico; en MoE, es una estructura dispersa. El volumen total de parámetros es grande, pero el activo por pasada es pequeño. Problemas: solapamiento de expertos, enrutamiento subóptimo del enrutador.
Por Qué la VRAM es Ineficiente para MoE
Descargar capas MoE completas a la GPU genera tiempo inactivo: de 128 expertos, solo 4 están activos, el resto desperdicia VRAM. Los tensores de atención (compartidos) son pequeños en volumen; descargarlos asegura una utilización constante de la GPU.
Comparación de configuraciones:
| Configuración | VRAM usada | Calculado | Eficiencia |
|--------------------|------------|------------|------------|
| Capas completas | 16 bloques | 8 bloques | 50% |
| Tensores de atención | 16 bloques | 16 bloques | 100% |
Para GPT-OSS-120B con -cmoe, el uso de VRAM es ~3 GB, velocidad 30 t/s. Los modelos densos no tienen huecos, VRAM proporcional a las computaciones.
Parámetros de Optimización en llama.cpp
Parámetro Principal -cmoe / --cpu-moe
Deja los expertos MoE (tensores exps) en CPU, descarga:
- Tensores de atención de todas las capas
- Capas compartidas (sin
expsen el nombre) - Expertos compartidos (
shexp)
Lógica de lanzamiento:
-ngl 999— todo en GPU-cmoe— MoE de vuelta a CPU
Importante: No uses ik_llama para GPT-OSS-120B.
-ncmoe N / --n-cpu-moe N
Controla las capas en CPU cuando hay VRAM abundante. GPT-OSS-120B: 37 capas.
-cmoe— 3 GB VRAM-ncmoe 30— llena hasta el límite
-ncmoe se ignora con -cmoe (este último tiene prioridad).
Nuevo Parámetro --fit (diciembre de 2025)
Relleno automático de VRAM:
--fit— por defecto, para MoE incluyencmoe--fit-ctx 4096— límite de contexto (por defecto 4096 en lugar de 128k)--fit-target 1024— VRAM libre en MB (por defecto 1 GB)
Establece automáticamente -fa, -ngl, -t al máximo. Problema: -t = núcleos CPU - 1, para CPUs híbridas (núcleos E/P) especifica explícitamente -t 8.
Optimizaciones Adicionales de Memoria
-fa 1— flash attention / swa / mla, detección automática-ub 4096 -b 4096— cuantización de KV-cache-ctk q8_0 -ctv q8_0— cuantización de contexto
Nuevo --models-dir — cambia modelos desde la UI, --models-max 1 contra OOM.
Puntos Clave
- Modelos MoE (GPT-OSS-120B, DeepSeek V3) requieren RAM > VRAM
-cmoedescarga solo tensores de atención a GPU--fitautomatiza el ajuste de parámetros- Velocidad de 30 t/s en 6 GB VRAM alcanzable
- Evita
ik_llamay auto---ten CPUs híbridas
— Editorial Team
Aún no hay comentarios.