AI Personal Learning
und praktische Anleitung

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: Betrieb von verteilten KI-Clustern mit ungenutzten Heimcomputern mit Unterstützung für mehrere Inferenz-Engines und automatischer Geräteerkennung. -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

Ablauf der Installation

  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:Quelle 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 lama-3.2-3b
      • Verwenden Sie eine benutzerdefinierte Eingabeaufforderung:exo run llama-3.2-3b --prompt "Was ist die Bedeutung von 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 '. [Formatierung]'
      • 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 lama-3.2-3b
    
    • Benutzerdefinierte Tipps:
     exo run llama-3.2-3b --prompt "Was ist die Bedeutung von EXO?"
    
  2. API-Verwendungsbeispiele::
    • Anfrage senden: bash
      locken http://localhost:52415/v1/chat/completions \
      -H "Content-Type: application/json" \
      -d '{
      "model": "llama-3.2-3b".
      "messages": [{"role": "user", "content": "Was ist die Bedeutung von EXO?"}] ,
      "Temperatur": 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:
  /Programme/Python 3.x/Zertifikate installieren.Befehl
  • Debugging-ProtokollDebugging-Protokollierung einschalten:
  DEBUG=9 exo
Darf nicht ohne Genehmigung vervielfältigt werden:Chef-KI-Austauschkreis " EXO: Betrieb verteilter KI-Cluster unter Verwendung ungenutzter Haushaltsgeräte, Unterstützung mehrerer Inferenz-Engines und automatischer Geräteerkennung.

Chef-KI-Austauschkreis

Der Chief AI Sharing Circle konzentriert sich auf das KI-Lernen und bietet umfassende KI-Lerninhalte, KI-Tools und praktische Anleitungen. Unser Ziel ist es, den Nutzern dabei zu helfen, die KI-Technologie zu beherrschen und gemeinsam das unbegrenzte Potenzial der KI durch hochwertige Inhalte und den Austausch praktischer Erfahrungen zu erkunden. Egal, ob Sie ein KI-Anfänger oder ein erfahrener Experte sind, dies ist der ideale Ort für Sie, um Wissen zu erwerben, Ihre Fähigkeiten zu verbessern und Innovationen zu verwirklichen.

Kontaktieren Sie uns
de_DE_formalDeutsch (Sie)