Show HN: Motor de código abierto que ejecuta Gemma 4 26B en 2 GB de RAM en cualquier Mac con serie M
Un motor de código abierto demuestra cómo el modelo Gemma 4 26B MoE de Google puede ejecutarse en Macs con serie M usando apenas 2 GB de RAM al transmitir los pesos de los “expertos” desde SSD, intercambiando velocidad bruta por un uso de memoria drásticamente menor. Los comentaristas analizan cómo este enfoque se compara con MLX, llama.cpp y proyectos como Colibri y DwarfStar, y señalan que el ancho de banda del SSD, la caché de páginas del sistema operativo y la memoria unificada de Apple ahora son tan críticos como los FLOPs de la GPU para la inferencia local. El hilo también plantea preguntas más amplias sobre hasta dónde pueden escalar estas técnicas a modelos MoE más grandes, si son prácticas para trabajo real de programación y qué implican para el hardware de consumo futuro y la IA en el dispositivo.
Resumen y objetivos
- El motor ejecuta localmente Gemma 4 26B MoE en Macs con serie M usando ~2 GB de RAM, transmitiendo expertos desde SSD en lugar de cargar los 14 GB completos de pesos.
- Objetivo: uso para tareas cotidianas y con poca RAM en portátiles/escritorios Apple, intercambiando velocidad por huella de memoria y privacidad sin conexión.
Rendimiento y dependencia del hardware
- Velocidades reportadas:
- ~4–6 tok/s en M1/M2 Air/Neo con 8 GB de RAM.
- ~5 tok/s en M4 mini con SSD base; ~12 tok/s en M1 Max Studio.
- ~31–35 tok/s en M5 MacBook Pro; ~48 tok/s en M4 Max de 64 GB.
- La amplia variación se atribuye a:
- Velocidad del SSD (los SSD de M5/M4 Max pueden ser de 3–7 GB/s frente a ~2 GB/s).
- Ancho de banda de memoria y caché a nivel de sistema.
- Caché de páginas del SO: más RAM permite que la mayoría de los pesos de los expertos permanezcan en caché, reduciendo drásticamente las lecturas reales de disco.
- Bajo fuerte presión de memoria, la velocidad cae, pero se degrada gradualmente en lugar de colapsar.
Enfoque técnico (MoE + transmisión desde SSD)
- Usa la dispersión de MoE: solo un pequeño subconjunto de expertos está activo por token.
- Implementa una caché explícita de expertos (~16 ranuras por defecto; más ranuras usan más RAM pero mejoran la velocidad).
- Tasas de acierto de caché alrededor del 60–70%; reutilización parcial durante 1–2 tokens.
- Cambio crítico: pasar de
mmapapreadparalelo para los expertos:- Los benchmarks muestran ~10 ms frente a ~2,8–3 ms por experto de 3,36 MB, y ~0,5 → ~4 tok/s en un M2 de 8 GB.
- Superpone lecturas de SSD con cómputo de GPU para ocultar la latencia cuando es posible.
- Lee
250–320 MB desde SSD por token en M2 (3 GB/s durante la fase de E/S).
Comparaciones con otros motores/modelos
- MLX con Gemma 4 completa en RAM en M5: ~75 tok/s pero usa ~14 GB de RAM.
- Este motor: ~31–35 tok/s en una máquina de la misma clase usando ~2 GB de RAM.
- La discusión sugiere que llama.cpp con descarga basada en
mmappuede caber en 2 GB pero sería más lento. - Se mencionan otros motores MoE con transmisión desde SSD (Colibri, Flash-MoE, DwarfStar, MoEspresso), por lo general orientados a modelos más grandes y Macs de gama más alta con más RAM.
Alcance de la plataforma y limitaciones
- Solo Mac: depende de Metal y de memoria unificada; portar a Windows/Linux o a GPU discretas requeriría un rediseño (CUDA/Vulkan).
- Actualmente centrado en Gemma 4 MoE; Qwen 3.6 MoE podría funcionar, pero la arquitectura es más compleja.
- No es مناسب para modelos densos ni modelos de difusión en esta implementación.
- MoE muy grandes (p. ej., Kimi K3) podrían ser teóricamente ejecutables con ideas similares, pero serían efectivamente inutilizables en máquinas de 16–64 GB debido al E/S extrema por token.
Utilidad, escepticismo y UX
- Entusiasmo: muchos lo ven como un gran paso para la inferencia local en Macs de consumo; una ingeniería impresionante de “26B en 2 GB”; atractivo para uso sin conexión y con privacidad preservada.
- Escepticismo:
- Algunos sostienen que 5–30 tok/s sigue siendo demasiado lento frente a modelos en la nube para programación seria o trabajo interactivo.
- Otros señalan que los asistentes locales de programación de alta calidad siguen exigiendo GPUs grandes o modelos de clase frontera.
- Gemma se considera fuerte para tareas generales y lo básico multilingüe, pero más débil para programación que Qwen; aun así, “lo bastante bueno” para cierto uso en producción.
Direcciones futuras e ideas de investigación
- Ideas planteadas:
- Cachés de expertos más grandes cuando haya más RAM disponible.
- Aplicar el mismo enfoque de transmisión a modelos MoE más grandes a medida que crezcan los SSD y la RAM.
- Precarga especulativa de expertos usando cabezas tipo MTP; la réplica señala que esto es difícil porque el enrutamiento de expertos es por capa y depende de las salidas de capas previas.
- Se cita que los nuevos modelos fundacionales de Apple usan carga de expertos a nivel de prompt como un enfoque relacionado pero distinto.
Meta: seguridad y “LLM-ese”
- Un comentarista usó un LLM para hacer una revisión rápida de seguridad del repositorio; otros debaten el valor y el riesgo de las afirmaciones de “IA dice que es seguro”.
- Largo subhilo sobre el estilo de escritura pulido por LLM en el README:
- A algunos no les gustan las frases reconocibles de “LLM-ese”; otros defienden a quienes no son nativos usando herramientas para pulir el idioma.
- El consenso de varios participantes: el código y los experimentos importan más que la prosa perfecta.