Goodbye ai box: clustering macbooks for llms using thunderbolt and nas
En este recorrido integral, el creador de contenido se despide de la tradicional caja de hardware de IA que es "ruidosa, grande y caliente", reemplazándola con una configuración de vanguardia utilizando cuatro MacBooks, un NAS (almacenamiento conectado a la red) de alta velocidad y un puente Thunderbolt. Términos como llms (modelos de lenguaje grandes), NAS solo SSD, flujos de trabajo de agrupamiento y herramientas de agrupamiento de código abierto (específicamente EXO) ocupan el centro del escenario mientras profundizamos en una configuración de desarrollo altamente eficiente, mecánicamente silenciosa y escalable.
¡Esto marca el comienzo del intercambio del hardware voluminoso por un ligero clúster de MacBook de alto rendimiento!
replacing the outdated "ai box"
El presentador comienza describiendo las desventajas de depender únicamente de la “caja de ia.” Este gigantesco hardware, utilizado anteriormente para ejecutar flujos de trabajo de llm, consume una enorme cantidad de espacio y energía, mientras genera un considerable calor y ruido. Reconociendo estas ineficiencias, el creador de contenido introduce una alternativa: agrupar cuatro MacBooks ligeras y usar un NAS compartido solo SSD para los flujos de trabajo de llm. Este cambio promete velocidad impresionante, eficiencia energética y beneficios de ahorro de espacio sin comprometer el rendimiento.
components of the new setup
En el corazón de este experimento hay un NAS solo SSD y un puente Thunderbolt, emparejado con MacBooks con configuraciones variadas. Los componentes esenciales se discuten a continuación.
The nas (network attached storage)
El hardware de almacenamiento central en este ecosistema es un nuevo NAS solo SSD de TerraMaster. A diferencia del DAS (almacenamiento directo conectado), que se conecta directamente a una sola máquina, el NAS está basado en la red y permite que múltiples dispositivos accedan al almacenamiento compartido simultáneamente. Esta característica es crítica para agrupar múltiples máquinas porque:
- Reducción de la redundancia de datos: Almacenar modelos centralmente en el NAS elimina la necesidad de descargar llms voluminosos por separado en cada máquina.
- Velocidad y silencio: Al ser basado en SSD, el NAS es excepcionalmente rápido y prácticamente silencioso.
- Escalabilidad: El NAS TerraMaster incluye una NIC (tarjeta de interfaz de red) de 10 Gigabits. Si bien la configuración utiliza solo 2.5 Gbps debido a limitaciones de red, esto aún asegura velocidades de transferencia de datos rápidas para tareas de agrupamiento.
El presentador también menciona una posibilidad emocionante: usar el NAS como un servidor multimedia en el futuro debido a sus capacidades.
The thunderbolt bridge
La transición de WiFi (utilizado anteriormente) a un puente Thunderbolt por cable es otra mejora significativa. Con conexiones notablemente estables, este nuevo enfoque aprovecha el poder de los puertos Thunderbolt en las MacBooks para conectar los sistemas directamente sin depender de redes WiFi más lentas. Cada MacBook se asigna manualmente una dirección IP para una comunicación clara y simplificada.
Para aclarar:
- La MacBook Pro principal actúa como un hub, conectándose con cables Thunderbolt a hasta tres otras MacBooks.
- La configuración manual de IP asegura estabilidad y un rendimiento más rápido al transferir datos o distribuir cargas de trabajo de procesamiento de llm entre máquinas.
Asignando manualmente direcciones IP para garantizar conexiones Thunderbolt sin problemas entre MacBooks.
open-source tool: "exo" for clustering
Agrupar las MacBooks para distribuir tareas pesadas de llm se logra utilizando la herramienta EXO de Exo Labs. El presentador describe EXO como un marco de trabajo de código abierto eficiente y fácil de usar diseñado para dividir grandes cargas de trabajo entre múltiples dispositivos.
Hardware stack for clustering:
- MacBook Pro 16: Conductor principal con 64GB de RAM.
- MacBook Airs: Variantes M1, M2 y M3, cada una equipada con 8GB de RAM.
La ventaja de EXO radica no solo en el agrupamiento, sino en la asignación inteligente de recursos. Los modelos que consumen mucha RAM se dividen entre todos los sistemas aprovechando la huella de memoria única de cada MacBook. Esto asegura una distribución eficiente, incluso entre dispositivos limitados en memoria, como las MacBook Air de 8GB.
Mejoras clave:
- En experimentos anteriores (con solo tres dispositivos), los modelos tenían que descargarse localmente en cada computadora. Sin embargo, al integrar el NAS compartido, se elimina la redundancia, ya que todos los sistemas obtienen los modelos de un lugar centralizado.
- Además, establecer variables de entorno personalizadas como
HF_HOME
permite que EXO haga referencia automáticamente a los modelos almacenados en el NAS al inicializar.
El proceso para la integración del NAS implica:
- Mapeo de carpetas SMB desde el NAS, con directorios específicos para los modelos.
- Establecer
HF_HOME
como una variable de entorno utilizando las rutas de las carpetas (por ejemplo,/Volumes/AlexModels/HuggingFace/
). - Reiniciar la terminal después de la configuración para permitir que EXO acceda a esta ruta de almacenamiento compartido.
Configurando EXO para extraer sin problemas grandes modelos de llm directamente desde el NAS.
testing: llm performance across nodes
Una vez que la configuración está completa, el presentador prueba la eficiencia del agrupamiento trabajando directamente con modelos de diversas escalas. Los pasos incluyen:
- Inicializando una sola MacBook: La configuración inicial de EXO se ejecuta en solo un nodo. El sistema se prueba con modelos más pequeños como la variante de 1 mil millones de parámetros de LLaMA 3, que opera localmente en esta única máquina.
- Ampliando el clúster: Se conectan MacBooks adicionales y son detectadas por EXO, extendiendo el clúster a tres, y finalmente cuatro nodos.
- Manejo de grandes modelos: Ejecutar modelos intensivos en recursos como Quen-2.5B con 14 mil millones de parámetros demuestra cuán efectivamente EXO distribuye la carga entre máquinas. A pesar de que las MacBook Air tienen memoria limitada, EXO asegura que la carga de trabajo se mantenga manejable debido a la RAM compartida.
Observaciones:
- Los modelos más pequeños (por ejemplo, 1B de parámetros) se procesan más rápido (hasta 40 tokens/segundo).
- Sin embargo, el procesamiento de modelos más grandes requiere distribuir la carga de trabajo entre todos los cuatro sistemas para superar las limitaciones de memoria en nodos individuales.
- EXO utiliza inteligentemente la RAM de 64GB de la MacBook Pro para realizar las tareas más pesadas, asegurando que las MacBook Air no excedan sus límites de 8GB de memoria.
EXO detecta e integra sin problemas las cuatro MacBooks en un único clúster funcional.
additional setup challenges
Configurar un entorno multi-dispositivo inevitablemente introduce desafíos. Uno de los problemas encontrados fue un error de permisos, particularmente relacionado con el acceso a la carpeta NAS en cuatro Macs simultáneamente. El problema se resolvió rápidamente, permitiendo que incluso el recurso intensivo modelo Quen 14B se ejecutara sin problemas en todo el clúster.
Interesting benchmarks:
- El rendimiento (tokens/segundo) varía drásticamente según la máquina:
- MacBook Air M1: 23 tokens/segundo.
- MacBook Air M2: 18 tokens/segundo.
- MacBook Air M3: 30 tokens/segundo.
- MacBook Pro M2 Max: 48 tokens/segundo.
Estos resultados destacan la eficiencia de EXO al aprovechar las habilidades específicas de cada dispositivo para trabajar en armonía.
final thoughts: a compact, scalable solution
Este experimento prueba que agrupar MacBooks con la ayuda de NAS y la herramienta EXO es un reemplazo viable y eficiente para configuraciones de hardware de IA voluminosas. El NAS no solo centraliza el almacenamiento de modelos, sino que también reduce significativamente la duplicación de datos, mientras que el puente Thunderbolt asegura una comunicación rápida y estable entre máquinas.
Takeaways:
- El NAS solo SSD, aunque no es el más económico, vale la pena la inversión para aquellos que requieren soluciones de almacenamiento silenciosas, rápidas y centralizadas.
- EXO simplifica la tarea de ejecutar llms a gran escala en clústeres, especialmente cuando se combina con buen hardware y almacenamiento compartido.
En general, la nueva configuración abre emocionantes oportunidades para desarrolladores que pueden carecer de acceso a servidores pesados en GPU pero desean experimentar con flujos de trabajo de IA utilizando computadoras portátiles ligeras.
¿Buscando más experimentos? ¡Consulta los experimentos anteriores del creador con configuraciones de IA y una mayor exploración de EXO!
¡Asegúrate de verificar la innovación en el aprendizaje automático distribuido de EXO!