Benchmark Flash-MOE en M5 Max: 12.99 tok/s con Qwen3.5-397B

Resultados de Rendimiento
Un usuario evaluó la implementación flash-moe en un MacBook Pro M5 Max con 128 GB de memoria unificada, ejecutando el modelo mlx-community/Qwen3.5-397B-A17B-4bit. La evaluación original de Dan Woods en un M3 Max con 48 GB de RAM logró 4.36 tokens por segundo. En el M5 Max, la configuración base con cuantización de 4 bits y sin cache-io-split alcanzó 12.48 tok/s. Con la configuración óptima --cache-io-split 4, el rendimiento aumentó a 12.99 tok/s, haciéndolo tres veces más rápido que la evaluación original.
Análisis de Cache-IO-Split
El usuario realizó un barrido completo de valores cache-io-split utilizando el fork Anemll de flash-moe, que agrega soporte Metal 4 NAX para chips M5+. Los resultados muestran que las divisiones 2 y 3 degradan el rendimiento, mientras que la división 4 proporciona la mejor optimización:
- cache-io-split 1 (ninguno): 12.48 tok/s, 28.4ms de E/S de experto por token
- cache-io-split 2: 9.94 tok/s, 28.2ms de E/S de experto por token
- cache-io-split 3: 9.99 tok/s, 36.1ms de E/S de experto por token
- cache-io-split 4: 12.99 tok/s, 25.9ms de E/S de experto por token
- cache-io-split 5: 12.64 tok/s, 27.5ms de E/S de experto por token
- cache-io-split 8: 12.90 tok/s, 26.4ms de E/S de experto por token
El análisis sugiere que la división 4 se alinea con el paralelismo interno del controlador SSD del M5 Max, mientras que valores más altos agregan sobrecarga de programación. La recomendación es usar --cache-io-split 4 o ninguna división, evitando las divisiones 2 y 3.
Comparación de Cuantización
Las pruebas de cuantización de 2 bits versus 4 bits revelaron que 2 bits no ofrece ventaja de velocidad en el M5 Max, ya que la velocidad del SSD hace innecesarios archivos más pequeños y la sobrecarga de desquantización cancela cualquier ganancia. La calidad sufre significativamente con 2 bits:
- 4 bits: 12.99 tok/s, 3.64 de perplejidad en WikiText-2
- 2 bits: ~12.65 tok/s, 5.71 de perplejidad en WikiText-2 (57% peor)
La conclusión es usar cuantización de 4 bits para mejor calidad sin sacrificar velocidad.
Detalles Técnicos
La evaluación utilizó el fork Anemll disponible en https://github.com/Anemll/flash-moe. El rendimiento sostenido se mantuvo estable en 11.23 tok/s durante 1000 tokens sin degradación. El usuario señaló que los procesos en segundo plano que usan Metal/GPU, como LM Studio, pueden afectar significativamente el rendimiento y deben cerrarse durante las evaluaciones.
📖 Read the full source: r/LocalLLaMA
👀 Ver también

El Marco de Agentes Jork Desarrollado con Claude se Clasifica entre los 10 Mejores en un Hackatón de $4 Millones
Un desarrollador construyó un framework agéntico llamado Jork usando modelos Claude y GLM que se ubicó entre los 10 primeros entre más de 2000 aplicaciones en un hackathon de 4 millones de dólares. El framework desarrolló de forma autónoma herramientas incluyendo un radar de lanzamientos en Solana y un juego funcional de búsqueda de palabras.

SlackClaw: Instancia Administrada de OpenClaw para Integración con Slack
SlackClaw es un producto comercial basado en OpenClaw que proporciona una instancia gestionada específicamente para Slack. Ofrece instalación con un clic, conexiones de herramientas OAuth, servidores dedicados por espacio de trabajo y memoria persistente.

Construyendo un Lenguaje de Programación con Claude Code: El Experimento Cutlet
Ankur Sethi construyó un lenguaje de programación completo llamado Cutlet usando Claude Code durante cuatro semanas, con la IA generando cada línea de código mientras él se enfocaba en barreras de seguridad y pruebas. El lenguaje cuenta con tipado dinámico, operaciones vectorizadas y un REPL, ejecutándose en macOS y Linux.

Sistema de Memoria Basado en Archivos de Claude Code: Una Alternativa Pragmática a las Bases de Datos Vectoriales
Claude Code implementa un sistema de memoria basado en archivos utilizando archivos .md con metadatos de frontmatter y un índice MEMORY.md, evitando bases de datos vectoriales y pipelines de embeddings al escanear archivos, construir manifiestos y usar un modelo pequeño para seleccionar recuerdos relevantes.