AI Personal Learning
und praktische Anleitung
豆包Marscode1

EXO: Betrieb verteilter KI-Cluster unter Verwendung ungenutzter Haushaltsgeräte, Unterstützung mehrerer Inferenz-Engines und automatischer Geräteerkennung.

Allgemeine Einführung

Exo ist ein Open-Source-Projekt, das darauf abzielt, einen eigenen KI-Cluster auf alltäglichen Geräten (z.B. iPhone, iPad, Android, Mac, Linux, etc.) zu betreiben. Durch dynamische Modellpartitionierung und automatische Geräteerkennung ist Exo in der Lage, mehrere Geräte zu einem einzigen leistungsstarken Grafikprozessor zu vereinen, der mehrere Modelle wie LLaMA, Mistral, LlaVA, Qwen und Deepseek unterstützt.Exo bietet auch eine ChatGPT-kompatible API, mit der Benutzer Modelle auf ihrer eigenen Hardware ausführen können.

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


 

Funktionsliste

  • Breite ModellunterstützungUnterstützt eine breite Palette von Modellen wie LLaMA, Mistral, LlaVA, Qwen und Deepseek.
  • Dynamische ModellpartitionierungOptimierung der Modellpartitionierung auf der Grundlage der aktuellen Netzwerktopologie und der Geräteressourcen.
  • Automatisierte GeräteerkennungAutomatische Erkennung anderer Geräte ohne manuelle Konfiguration.
  • ChatGPT-kompatible APIChatGPT: Bietet eine ChatGPT-kompatible API, die die Ausführung von Modellen auf Ihrer eigenen Hardware erleichtert.
  • AusstattungsgleichheitDie Geräte sind über eine Punkt-zu-Punkt-Verbindung miteinander verbunden und verwenden keine Master-Slave-Architektur.
  • Mehrere PartitionierungsstrategienUnterstützt eine Vielzahl von Partitionierungsstrategien, wie z. B. die Partitionierung mit Ringspeichergewichtung.

 

Hilfe verwenden

Hilfe verwenden

Einbauverfahren

  1. vorläufig::
    • Stellen Sie sicher, dass die Python-Version >= 3.12.0 ist.
    • Wenn Sie Linux verwenden und NVIDIA-GPUs unterstützen, installieren Sie die NVIDIA-Treiber, das CUDA-Toolkit und die cuDNN-Bibliothek.
  2. Installation von der Quelle aus::
    • Projekt Klonen:git clone https://github.com/exo-explore/exo.git
    • Rufen Sie den Projektkatalog auf:cd exo
    • Installieren Sie die Abhängigkeit:pip install -e .
    • Oder verwenden Sie eine virtuelle Umgebung, um es zu installieren:source install.sh

Funktion Betriebsablauf

  1. Betriebsmodell::
    • Führen Sie das Beispiel auf mehreren macOS-Geräten aus:
      • Ausrüstung 1:exo
      • Ausrüstung 2:exo
      • Exo erkennt automatisch andere Geräte und startet eine ChatGPT-ähnliche WebUI (powered by tinygrad tinychat) unterhttp://localhost:52415.
    • Führen Sie das Beispiel auf einem einzelnen Gerät aus:
      • Verwenden Sie den Befehl:exo run llama-3.2-3b
      • Verwenden Sie eine benutzerdefinierte Eingabeaufforderung:exo run llama-3.2-3b --prompt "What is the meaning of exo?"
  2. Modell Lagerung::
    • Standardmäßig werden die Modelle in der Datei~/.cache/huggingface/hub.
    • Dies kann durch Setzen der UmgebungsvariablenHF_HOMEum den Speicherort des Modells zu ändern.
  3. Komponenten während der Prüfung anpassen::
    • Verwendung von UmgebungsvariablenDEBUG(0-9) Aktiviert die Debug-Protokollierung:DEBUG=9 exo
    • Verwenden Sie für die tinygrad-Inferenzmaschine ein separates Debug-FlagTINYGRAD_DEBUG(1-6):TINYGRAD_DEBUG=2 exo
  4. Formatierung des Codes::
    • ausnutzenyapfFormatierungscode:
      • Anforderungen an die Formatierung der Installation:pip3 install -e '.[formatting]'
      • Führen Sie das Formatierungsskript aus:python3 format.py ./exo

Verwendung

  1. EXO starten::
   exo

EXO erkennt und verbindet sich automatisch mit anderen Geräten ohne zusätzliche Konfiguration.

  1. Betriebsmodell::
    • Verwenden Sie das Standardmodell:
     exo run llama-3.2-3b
    
    • Benutzerdefinierte Tipps:
     exo run llama-3.2-3b --prompt "EXO的意义是什么?"
    
  2. API-Verwendungsbeispiele::
    • Anfrage senden: 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
      }'

Leistungsoptimierung

  • macOS-Benutzer::
    • Aktualisieren Sie auf die neueste Version von macOS.
    • in Bewegung sein./configure_mlx.shOptimieren Sie die GPU-Speicherzuweisung.

allgemeine Probleme

  • SSL-FehlerAuf einigen MacOS/Python-Versionen wird das Zertifikat nicht korrekt installiert. Führen Sie den folgenden Befehl aus, um dies zu beheben:
  /Applications/Python 3.x/Install Certificates.command
  • Debugging-ProtokollDebugging-Protokollierung einschalten:
  DEBUG=9 exo
Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " EXO: Betrieb verteilter KI-Cluster unter Verwendung ungenutzter Haushaltsgeräte, Unterstützung mehrerer Inferenz-Engines und automatischer Geräteerkennung.
de_DEDeutsch