Heim >Technologie-Peripheriegeräte >KI >so cool! Alte iPhone-, iPad- und MacBook-Geräte bilden einen heterogenen Cluster und können Llama 3 ausführen

so cool! Alte iPhone-, iPad- und MacBook-Geräte bilden einen heterogenen Cluster und können Llama 3 ausführen

PHPz
PHPzOriginal
2024-07-19 05:09:59999Durchsuche
Wenn Sie ungenutzte Geräte haben, können Sie es vielleicht einmal versuchen.

Dieses Mal kann das Hardwaregerät in Ihrer Hand auch im Bereich KI seine Muskeln spielen lassen.

Durch die Kombination von iPhone, iPad und Macbook können Sie eine „heterogene Cluster-Inferenzlösung“ zusammenstellen und dann das Llama3-Modell reibungslos ausführen.

太酷了!iPhone、iPad、MacBook老旧设备组成异构集群,能跑Llama 3

Es ist erwähnenswert, dass dieser heterogene Cluster ein Windows-, Linux- oder iOS-System sein kann und die Unterstützung für Android bald verfügbar sein wird. Der heterogene Cluster wird ausgeführt.

太酷了!iPhone、iPad、MacBook老旧设备组成异构集群,能跑Llama 3Laut dem Projektautor @evilsocket umfasst dieser heterogene Cluster iPhone 15 Pro Max, iPad Pro, MacBook Pro (M1 Max), NVIDIA GeForce 3080, 2x NVIDIA Titan X Pascal. Der gesamte Code wurde auf GitHub hochgeladen. Als die Internetnutzer dies sahen, äußerten sie, dass dieser alte Mann tatsächlich nicht einfach sei.

Einige Internetnutzer beginnen jedoch, sich Sorgen über den Energieverbrauch zu machen. Unabhängig von der Geschwindigkeit kann die Stromrechnung nicht bezahlt werden. Das Hin- und Herschieben von Daten verursacht zu viel Verlust.

太酷了!iPhone、iPad、MacBook老旧设备组成异构集群,能跑Llama 3

太酷了!iPhone、iPad、MacBook老旧设备组成异构集群,能跑Llama 3

Projekteinführung

太酷了!iPhone、iPad、MacBook老旧设备组成异构集群,能跑Llama 3

Die Implementierung der oben genannten Funktionen ist untrennbar mit einem Rust-Framework namens Cake verbunden. Cake kann die verteilte Inferenz großer Modelle (z. B. Llama3) durchführen und ist darauf ausgelegt, Consumer-Hardware in heterogenen Clustern zu kombinieren. Die Consumer-Hardware verwendet eine Vielzahl von Betriebssystemen, darunter: iOS, Android, macOS, Linux und Windows. damit KI zugänglicher wird.

Projektadresse: https://github.com/evilsocket/cake

Die Hauptidee von Cake besteht darin, Transformatorblöcke auf mehrere Geräte aufzuteilen, um Inferenzen auf Modelle ausführen zu können, die normalerweise nicht hineinpassen der GPU-Speicher eines einzelnen Geräts. Der Rückschluss auf aufeinanderfolgende Transformatorblöcke im selben Arbeitsthread erfolgt stapelweise, um durch die Datenübertragung verursachte Verzögerungen zu minimieren. 太酷了!iPhone、iPad、MacBook老旧设备组成异构集群,能跑Llama 3

Cake unterstützt derzeit die folgenden Systeme und Geräte:

Kompilieren

太酷了!iPhone、iPad、MacBook老旧设备组成异构集群,能跑Llama 3

Führen Sie nach der Installation von Rust den folgenden Code aus:

cargo build --release

Wenn der Benutzer iOS-Bindungen in der Anwendung generieren möchte, können Sie fortfahren wie folgt beschriebener Vorgang:

make ios

Verwenden Sie

, um den Worker-Knoten auszuführen:

cake-cli --model /path/to/Meta-Llama-3-8B \ # model path, read below on how to optimize model size for workers --mode worker \# run as worker --name worker0 \ # worker name in topology file --topology topology.yml \# topology         --address 0.0.0.0:10128            # bind address

Führen Sie den Master-Knoten aus:

cake-cli --model /path/to/Meta-Llama-3-8B \         --topology topology.yml
Die topology.yml bestimmt, welche Schichten von welchem ​​Worker bedient werden:

linux_server_1:host: 'linux_server.host:10128'description: 'NVIDIA Titan X Pascal (12GB)'layers:- 'model.layers.0-5'linux_server_2:host: 'linux_server2.host:10128'description: 'NVIDIA GeForce 3080 (10GB)'layers:- 'model.layers.6-16'iphone:host: 'iphone.host:10128'description: 'iPhone 15 Pro Max'layers:- 'model.layers.17'ipad:host: 'ipad.host:10128'description: 'iPad'layers:- 'model.layers.18-19'macbook:host: 'macbook.host:10128'description: 'M1 Max'layers:    - 'model.layers.20-31'
Über Speicher- und Speicherplatzoptimierungsprobleme möchten Benutzer möglicherweise nur die Daten bereitstellen, die tatsächlich im Modell benötigt werden, und nicht den gesamten Ordner. Um beispielsweise eine kleinere Version von llama3-Safetensoren zu generieren, können Sie den folgenden Code verwenden:

cake-split-model --model-path path/to/Meta-Llama-3-8B \ # source model to split --topology path/to/topology.yml \# topology file                 --output output-folder-name

Referenzlink: https://x.com/tuturetom/status/1812654489972973643

Das obige ist der detaillierte Inhalt vonso cool! Alte iPhone-, iPad- und MacBook-Geräte bilden einen heterogenen Cluster und können Llama 3 ausführen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn