21 points par GN⁺ 2024-07-17 | 1 commentaires | Partager sur WhatsApp
  • Oubliez les coûteux GPU NVIDIA : regroupez vos appareils existants comme des iPhone, iPad, Android, Mac ou Linux pour les utiliser comme un seul GPU puissant
  • Prend en charge LLaMA ainsi que divers modèles
  • Le « partitionnement dynamique de modèle » répartit le modèle de manière optimale en fonction de la topologie réseau actuelle et des ressources disponibles sur les appareils
    • Permet d’exécuter des modèles plus volumineux que ce qu’un seul appareil peut faire tourner
  • Découvre automatiquement les autres appareils grâce à la découverte automatique de périphériques
  • Fournit une API compatible ChatGPT
  • Les appareils sont reliés en mode pair à pair plutôt qu’avec une architecture master-worker (la stratégie de partitionnement par défaut est une répartition pondérée de la mémoire en anneau)
  • Moteurs d’inférence pris en charge :
    • ✅ MLX
    • ✅ tinygrad
    • 🚧 llama.cpp
  • Prend en charge les modules réseau :
    • ✅ GRPC
    • 🚧 Radio
    • 🚧 Bluetooth
  • Problèmes connus
    • La bibliothèque évoluant rapidement, l’implémentation iOS est en retard par rapport à celle en Python
    • À long terme, une approche unifiée est prévue afin d’éviter d’avoir à maintenir des implémentations séparées

Le récapitulatif de GN⁺

  • exo est un logiciel expérimental capable d’unifier divers appareils en un seul cluster d’IA puissant
  • Il propose plusieurs fonctionnalités, comme la découverte automatique des appareils et le partitionnement dynamique des modèles, permettant d’exécuter des modèles plus grands que sur un appareil unique
  • Il fournit une API compatible ChatGPT pour exécuter facilement des modèles
  • Une approche unifiée est en cours pour résoudre le retard de l’implémentation iOS

1 commentaires

 
GN⁺ 2024-07-17
Avis Hacker News
  • La bibliothèque mlx, réservée à Apple Silicon, est nécessaire. Il est indiqué que cela fonctionne sur « iPhone, iPad, Android, Mac, Linux, à peu près n’importe quel appareil », mais je me demande si cela a réellement été testé
  • Je réfléchis à un moyen d’utiliser facilement ce système, optimisé pour un réseau local, de manière crowdsourcée. Je cherche une façon pour que tout le monde dans un bureau puisse rejoindre facilement le réseau, ou contribuer à un modèle spécifique à un domaine en scannant un QR code
  • L’idée est excellente et conviviale. Elle pourrait permettre de redonner une utilité à plusieurs anciens appareils. Mais j’aurais aimé voir des résultats sur les tok, la latence et les configurations d’exemple
  • J’ai fait fonctionner paddler de GitHub sous Windows sur deux appareils pour faire du load balancing. Cela serait utile pour exécuter Llama 400B sur plusieurs appareils. Mais il n’y a pas encore de support Windows
  • Cette fonctionnalité permet d’exécuter des modèles plus gros que ce qu’un seul appareil peut faire tourner. Cependant, il manque des explications sur le fonctionnement concret. Par exemple, si certaines couches du réseau neuronal sont sur deviceA et d’autres sur deviceB, il faut alors transférer à chaque génération de token les données de sortie de la dernière couche de deviceA vers deviceB
  • Le swarm computing devrait devenir la norme de toute l’informatique. Il y a trop de CPU inutilisés sur tous les appareils que nous possédons
  • Ça ne fonctionnera probablement pas à cause du goulot d’étranglement réseau. Il faut transférer des gigaoctets de données. Il faut donc une bonne connexion Internet (plus de 20 mb/s) et de bons appareils. Ce système finira comme une démo sympa sur Twitter. J’espère qu’on me prouvera le contraire
  • Le cloud est imbattable en termes de calcul/prix, mais passer en local peut résoudre les problèmes de confidentialité. Le monde a besoin d’un deuxième amendement pour le calcul
  • Avant, l’idée d’exécuter des modèles localement sur Mac, PC, etc. m’intéressait. Mais maintenant, je pense que la plupart des calculs IA vraiment utiles se feront dans le cloud. On peut faire tourner un modèle Llama3 lent sur un réseau domestique, mais comme on peut l’exécuter à bas prix ou gratuitement sur un service cloud, il n’y a pas vraiment de raison de s’en donner la peine. Apple pousse l’IA locale, mais j’ai de sérieuses inquiétudes concernant l’impact sur l’autonomie de la batterie
  • De grands clusters indiquent que l’overhead de communication est un goulot d’étranglement, même avec des réseaux RDMA, donc je me demande comment ce système pourrait éviter d’énormes goulots d’étranglement sur un réseau domestique à grande échelle