EXO : Exécution de grappes d'IA distribuées à l'aide d'appareils domestiques inactifs, prise en charge de plusieurs moteurs d'inférence et découverte automatisée d'appareils.

Introduction générale

Exo est un projet open source qui vise à faire fonctionner sa propre grappe d'IA à l'aide d'appareils courants (iPhone, iPad, Android, Mac, Linux, etc.). Grâce au partitionnement dynamique des modèles et à la découverte automatisée des appareils, Exo est capable d'unifier plusieurs appareils en un seul GPU puissant qui prend en charge plusieurs modèles tels que LLaMA, Mistral, LlaVA, Qwen et Deepseek. Exo fournit également une API compatible avec ChatGPT qui permet aux utilisateurs d'exécuter facilement des modèles sur leur propre matériel.

EXO:利用闲置家用设备运行分布式AI集群,支持多种推理引擎和自动设备发现。

 

Liste des fonctions

  • Large soutien du modèleLe logiciel est compatible avec une large gamme de modèles tels que LLaMA, Mistral, LlaVA, Qwen et Deepseek.
  • Séparation dynamique des modèlesOptimiser le partitionnement du modèle en fonction de la topologie actuelle du réseau et des ressources de l'appareil.
  • Découverte automatisée des appareils:自动发现其他设备,无需手动配置。
  • API compatible avec ChatGPT: Fournit une API compatible avec ChatGPT pour faciliter l'exécution des modèles sur votre propre matériel.
  • égalité des équipementsLes appareils sont reliés entre eux par une connexion point à point et n'utilisent pas d'architecture maître-esclave.
  • Stratégies de partitionnement multiplesLe système d'information sur la santé (SIS) permet d'appliquer diverses stratégies de partitionnement, telles que le partitionnement pondéré en fonction de la mémoire en anneau.

 

Utiliser l'aide

Utiliser l'aide

Processus d'installation

  1. préliminaire: :
    • Assurez-vous que la version de Python est >= 3.12.0.
    • Si vous utilisez Linux et prenez en charge les GPU NVIDIA, installez les pilotes NVIDIA, le kit d'outils CUDA et la bibliothèque cuDNN.
  2. Installation à partir de la source: :
    • Projet de clonage :git clone https://github.com/exo-explore/exo.git
    • Accédez au catalogue de projets :cd exo
    • Installer la dépendance :pip install -e .
    • Ou utilisez un environnement virtuel pour l'installer :source install.sh

Fonction Opération Déroulement

  1. modèle opérationnel: :
    • Exécutez l'exemple sur plusieurs appareils macOS :
      • Équipement 1 :exo
      • Équipement 2 :exo
      • Exo découvre automatiquement d'autres appareils et lance une interface Web de type ChatGPT (alimentée par tinygrad tinychat) à l'adresse suivantehttp://localhost:52415.
    • Exécutez l'exemple sur un seul appareil :
      • Utilisez la commande :exo run llama-3.2-3b
      • Utiliser une invite personnalisée :exo run llama-3.2-3b --prompt "What is the meaning of exo?"
  2. Stockage de modèles: :
    • Par défaut, les modèles sont stockés dans le répertoire~/.cache/huggingface/hub.
    • Pour ce faire, il suffit de définir la variable d'environnementHF_HOMEpour modifier l'emplacement de stockage du modèle.
  3. ajuster les composants pendant les essais: :
    • Utilisation des variables d'environnementDEBUG(0-9) Activation de la journalisation de débogage :DEBUG=9 exo
    • Pour le moteur d'inférence tinygrad, utilisez un drapeau de débogage distinctTINYGRAD_DEBUG(1-6) :TINYGRAD_DEBUG=2 exo
  4. Code de formatage: :
    • utiliseryapfCode de formatage :
      • Exigences en matière de formatage de l'installation :pip3 install -e '.[formatting]'
      • Exécutez le script de formatage :python3 format.py ./exo

Utilisation

  1. Lancer EXO: :
   exo

L'EXO découvrira et se connectera automatiquement à d'autres appareils sans configuration supplémentaire.

  1. modèle opérationnel: :
    • Utiliser le modèle par défaut :
     exo run llama-3.2-3b
    
    • Conseils personnalisés :
     exo run llama-3.2-3b --prompt "EXO的意义是什么?"
    
  2. Exemples d'utilisation de l'API: :
    • Envoyer une demande : bash
      curl http://localhost:52415/v1/chat/completions \
      -H "Content-Type: application/json" \
      -d '{
      "model": "llama-3.2-3b",
      "messages": [{"role": "user", "content": "EXO的意义是什么?"}],
      "temperature": 0.7
      }'

l'optimisation des performances

  • Utilisateurs de macOS: :
    • Passez à la dernière version de macOS.
    • être en mouvement./configure_mlx.shOptimiser l'allocation de la mémoire du GPU.

problèmes courants

  • Erreur SSLSur certaines versions de MacOS/Python, le certificat n'est pas installé correctement. Exécutez la commande suivante pour corriger le problème :
  /Applications/Python 3.x/Install Certificates.command
  • Journal de débogage: Activation de la journalisation de débogage :
  DEBUG=9 exo
© déclaration de droits d'auteur
AiPPT

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...