21 puntos por GN⁺ 2024-07-17 | 1 comentarios | Compartir por WhatsApp
  • Olvídate de las costosas GPU de NVIDIA y aprovecha equipos que ya tienes, como iPhone, iPad, Android, Mac y Linux, agrupándolos como una sola GPU potente
  • Compatible con LLaMA y varios otros modelos
  • Con "particionamiento dinámico de modelos", divide el modelo de forma óptima según la topología actual de la red y los recursos disponibles de los dispositivos
    • Permite ejecutar modelos más grandes de los que podrían correr en un solo dispositivo
  • Encuentra otros equipos mediante descubrimiento automático de dispositivos
  • Ofrece una API compatible con ChatGPT
  • Cada dispositivo se conecta en modo p2p, no con una estructura Master-Worker (la estrategia de partición predeterminada es ring memory weighted partitioning)
  • Compatibilidad con motores de inferencia:
    • ✅ MLX
    • ✅ tinygrad
    • 🚧 llama.cpp
  • Compatibilidad con módulos de red:
    • ✅ GRPC
    • 🚧 Radio
    • 🚧 Bluetooth
  • Problemas conocidos
    • Como la librería evoluciona rápidamente, la implementación de iOS va rezagada frente a Python
    • A largo plazo, planean impulsar un enfoque unificado para evitar tener que mantener implementaciones separadas

Resumen de GN⁺

  • exo es un software experimental que puede integrar varios dispositivos en un solo clúster de IA potente
  • Ofrece varias funciones, como descubrimiento automático de dispositivos y particionamiento dinámico de modelos, para ejecutar modelos más grandes que en un solo dispositivo
  • Proporciona una API compatible con ChatGPT para ejecutar modelos fácilmente
  • Están impulsando un enfoque unificado para resolver el problema del rezago de la implementación en iOS

1 comentarios

 
GN⁺ 2024-07-17
Opiniones de Hacker News
  • Requiere mlx, una biblioteca exclusiva para Apple Silicon. Dice que funciona en "iPhone, iPad, Android, Mac, Linux, pretty much any device", pero dudo que realmente lo hayan probado
  • Estoy pensando en una forma de usar fácilmente este sistema optimizado para redes locales mediante crowdsourcing. Busco una manera de que todos en una oficina puedan unirse fácilmente a la red o contribuir a un modelo específico de dominio escaneando un código QR
  • La idea es excelente y fácil de usar. Tiene el potencial de convertir varios dispositivos viejos en algo útil. Pero me gustaría que dieran resultados sobre tok, latencia y configuraciones de ejemplo
  • Hice funcionar paddler de GitHub en Windows para balanceo de carga entre dos dispositivos. Sería útil para ejecutar Llama 400B en varios dispositivos. Pero todavía no hay soporte para Windows
  • Esta función permite ejecutar modelos más grandes que los que se pueden correr en un solo dispositivo. Sin embargo, falta explicar cómo funciona en concreto. Por ejemplo, si algunas capas de la red neuronal están en deviceA y otras en deviceB, cada vez que se genera un token hay que transferir a deviceB los datos de salida de la última capa de deviceA
  • La computación en enjambre debería convertirse en el estándar de toda la computación. Hay demasiadas CPU sin usar en todos los dispositivos que poseemos
  • No va a funcionar por los cuellos de botella de red. Hay que transferir gigabytes de datos. Así que se necesita buen internet (más de 20mb/s) y buenos dispositivos. Esto va a terminar siendo una demo vistosa en Twitter. Ojalá me demuestren que estoy equivocado
  • La nube no puede ser superada en cómputo/precio, pero pasarse a lo local puede resolver los problemas de privacidad. El mundo necesita una segunda enmienda para la computación
  • Antes me interesaba ejecutar modelos localmente en Mac, PC, etc. Pero ahora creo que la mayor parte del cómputo de IA útil ocurrirá en la nube. Puedes ejecutar un modelo Llama3 lento en tu red doméstica, pero no hace falta cuando puedes usar un servicio en la nube barato o gratis. Apple está impulsando los modelos de IA locales, pero tengo serias preocupaciones sobre su impacto en la batería
  • Los clústeres grandes reportan que usan redes RDMA porque la sobrecarga de comunicación es un cuello de botella, así que me pregunto cómo es posible que este sistema no sufra un cuello de botella enorme en una red doméstica