Vous auriez généralement besoin de matériel avec une grande quantité de mémoire et de bande passante et plusieurs GPU, si vous souhaitez exécuter les derniers modèles de gros langues (LLM), tels que Deepseek R1 avec 671 milliards de paramètres. Mais un tel matériel n’est pas abordable ou même disponible pour la plupart des gens, et le logiciel EXO fonctionne autour de celui-ci en tant que solution LLM distribuée travaillant sur un groupe d’ordinateurs avec ou sans GPU NVIDIA, smartphones et / ou ordinateurs à carte unique comme Raspberry Pi Boards.
À certains égards, EXO fonctionne comme DISTCC lors de la compilation de programmes C sur une ferme de construction, mais cible plutôt des charges de travail de l’IA telles que les LLM.

Caractéristiques clés du logiciel EXO:
- Support pour Llama (MLX et Tinygrad), Mistral, Llava, Qwen et Deepseek.
- Partionnement dynamique des modèles – La solution divise les modèles basés sur la topologie du réseau actuel et les ressources de l’appareil disponibles afin d’exécuter des modèles plus grands que vous ne le pourriez sur n’importe quel appareil. C’est ce que j’appelle une «solution LLM distribuée». Plusieurs stratégies de partitionnement sont disponibles et la valeur par défaut est «Partionnement pondéré en fonction de la mémoire» où chaque périphérique exécute un certain nombre de couches de modèle proportionnelles à la mémoire de l’appareil.
- Configuration manuelle automatique du périphérique / zéro – Exo découvrira automatiquement d’autres périphériques en utilisant la meilleure méthode disponible.
- API compatible ChatGpt. Il permet un changement en ligne dans votre application pour exécuter des modèles sur votre propre matériel à l’aide d’EXO.
- Égalité de l’appareil – EXO n’utilise pas une architecture de maître-travailleur et se connecte à la place d’une manière entre pairs (P2P). Tant qu’un appareil est connecté quelque part dans le réseau, il peut être utilisé pour exécuter des modèles.
La prise en charge du système d’exploitation n’est pas claire et je ne vois aucune prise en charge de Windows. Au lieu de cela, des instructions liées à Linux, Mac OS, Android et iOS sont disponibles. La seule autre exigence logicielle est Python> = 3.12.0. Les systèmes Linux avec NVIDIA GPU ont également besoin du pilote NVIDIA, de la boîte à outils CUDA et d’une bibliothèque CUDNN.
Sur le plan matériel, l’important est d’avoir suffisamment de mémoire sur tous les appareils pour s’adapter au modèle en mémoire. Par exemple, comme l’exécution de LLAMA 3.1 8B (FP16) nécessite 16 Go de RAM, la configuration suivante fonctionnerait:
- 2x 8 Go M3 MacBook Airs ou
- 1x 16 Go Nvidia RTX 4070 TI ordinateur portable
- 2x Raspberry Pi 400 avec 4 Go de RAM chacun (fonctionnant sur CPU) et 1x 8 Go Mac Mini; Les architectures hétérogènes peuvent donc fonctionner ensemble.
Si je comprends bien, il serait possible d’exécuter Deepseek R1 (complet 671b – FP16) sur un groupe de Raspberry Pi avec 8 Go ou 16 Go, tant qu’il y a un combiné de ~ 1,3 To de RAM, ou environ 170 Raspberry Pi 5 avec 8 Go BÉLIER. Les performances seraient horribles probablement mieux exprimées dans les jetons par heure, mais cela devrait fonctionner en théorie,… les développeurs expliquent que «l’ajout de dispositifs moins capables ralentira la latence d’inférence individuelle mais augmentera le débit global du cluster».
EXO doit être installé à partir de la source sur toutes les machines comme suit:
Une fois terminé, il vous suffit d’exécuter la commande suivante sur toutes les machines:

C’est ça! Un webui de type Chatgpt sera démarré sur http: // localhost: 52415. C’est à quoi il ressemble sur ma machine (je l’ai installé uniquement sur la machine Ubuntu 24.04).

Vous pouvez télécharger divers modèles lama directement à partir de l’interface. Il a d’abord échoué lorsque j’ai essayé en raison d’une erreur «llvmlite», mais je l’ai corrigé après l’installation de la bibliothèque manquante:
source .venv / bin / activer pip install llvmlite
|
source .venv / bin / activer pip install llvmlite |
J’ai installé deux modèles LLAMA 1B à partir de l’interface Web, mais ils utilisent toujours beaucoup de mémoire (tous les 16 Go), et mon ordinateur portable s’accrochera généralement lorsque toute la mémoire est utilisée… même après avoir redémarré mon ordinateur portable et exécuté uniquement Exo et l’interface Web , il est également suspendu. Notez que l’EXOS est également un logiciel expérimental, donc c’est peut-être pourquoi.

Vous trouverez le code source, les instructions supplémentaires pour MacOS et la documentation du développeur (API) sur GitHub.
Merci à Onebir pour le conseil
Retrouvez l’histoire de Raspberry Pi dans cette vidéo :

-
Module DVP20SX211S
