Tu MacBook con 8 GB de RAM ya puede correr un LLM de 80B parámetros: esto es Swiftlet

Tu MacBook con 8 GB de RAM ya puede correr un LLM de 80B parámetros: esto es Swiftlet

Tu MacBook con 8 GB de RAM ya puede correr un LLM de 80B parámetros: esto es Swiftlet

Hace un año, si querías correr un modelo decente de IA en tu computador, necesitabas una GPU de gama alta o pagarle a OpenAI por cada token. Los modelos locales existían, pero el hardware que pedían era ridículo: 32 GB de RAM mínimo, tarjeta gráfica dedicada, y un ventilador que sonaba como turbina de avión. Eso era la norma. Hoy, un proyecto llamado Swiftlet acaba de romper esa norma en pedazos.

¿Qué hace Swiftlet?

Swiftlet es un runtime escrito en Swift y Metal (el framework de GPU de Apple) que permite ejecutar modelos Qwen3-Next de 80B y Qwen3.6 de 35B parámetros en dispositivos comunes: un MacBook Air con chip M5, e incluso un iPhone 17. La clave no es magia, es ingeniería seria.

El truco está en la arquitectura Mixture-of-Experts (MoE). Estos modelos no usan todos sus parámetros para cada token. Solo activan un pequeño subconjunto de «expertos» por inferencia. Swiftlet aprovecha esto al máximo: mantiene en memoria solo el núcleo denso del modelo (unos 3B de parámetros activos) y stream los pesos de los expertos desde el disco bajo demanda. Es como tener una biblioteca entera en tu casa, pero solo sacar los libros que necesitas en ese momento.

Los números que importan

Según el propio repositorio, estos son los datos reales:

  • Qwen3.6-35B-A3B (4-bit): 18 GB en disco, 2.6 GB de RAM pico, 7 a 11 tokens/segundo en un Mac M5. También corre en un iPhone 17 con ~2.5 GB de RAM a 1 token/segundo.
  • Qwen3-Next-80B-A3B (4-bit): 42 GB en disco, 4.3 GB de RAM pico, 4.5 a 5 tokens/segundo en un Mac M5.

Para ponerlo en perspectiva: hace dos años, correr un modelo de 7B parámetros en una laptop sin GPU ya era noticia. Ahora estamos hablando de 80B parámetros en 4.3 GB de RAM. Eso es diez veces más modelo con la mitad de recursos. No es evolución, es un salto.

¿Por qué me importa esto?

En mi pega como ingeniero de sistemas, veo constantemente cómo las empresas se vuelven dependientes de APIs en la nube. Pagás por cada consulta, cada resumen, cada línea de código que genera la IA. Y peor aún: mandás tus datos a servidores que no controlás. Swiftlet no es solo una demostración técnica bacán. Es una demostración de que la privacidad y el rendimiento no son excluyentes.

Imaginate un médico que puede consultar un modelo de 80B parámetros en su iPhone sin conexión a internet. O un periodista en una zona sin cobertura que necesita resumir documentos sensibles. O simplemente alguien que no quiere que su conversación con la IA termine en un dataset de entrenamiento de Silicon Valley. Eso es lo que habilita esta tecnología.

Lo que viene

El autor del proyecto, Leonickson, dice que el loop de decodificación todavía está limitado por dispatch, no por IO. Traducción: hay margen de mejora. Si optimizan los kernels de Metal, esos 5 tokens/segundo del modelo 80B podrían subir. Y si Apple sigue metiendo más RAM en los iPhones (algo que hacen religiosamente cada año), no me sorprendería ver modelos de 100B+ corriendo nativamente en un teléfono antes de 2027.

Lo que me deja pensando es el efecto en la industria. Si un desarrollador indie puede hacer esto con Swift y Metal, ¿qué están haciendo las grandes empresas con sus billones de dólares? La respuesta, sospecho, es que les conviene que sigamos creyendo que necesitamos la nube para todo. Proyectos como Swiftlet demuestran que no es así.

Mi take: descargué el repo, leí el código, y la implementación es sólida. No es un hack de fin de semana. Usa cuantización 4-bit, streaming de expertos, y aprovecha la unificación de memoria de Apple Silicon. Si eres de los que pensaba que los LLMs locales eran cosa de gente con RTX 4090, cachai que ya no. La era de la IA en el edge, de verdad, acaba de empezar.

Fuente de inspiración: Swiftlet: Run 35B and 80B Qwen models on ordinary Apple devices

Comentarios

Aún no hay comentarios. ¿Por qué no comienzas el debate?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *