Große LLMs auf jedem Rechner ausführen!

Große LLMs auf jedem Rechner ausführen!

Worum geht es?

Wäre es nicht toll, wenn du jedes Open-Source Sprachmodell auf deiner Hardware ausführen könntest, egal wie groß es ist?
Die Sache ist, dass man bis jetzt sehr teure Hardware mit großem Speicher und super teure GPUs braucht. Oder man mietet sich Rechenpower irgendwo in der Cloud… auch nicht gerade günstig.

Jetzt gibt es allerdings etwas tolles, aus meiner Sicht: https://petals.ml/

Damit kannst du Modelle wie LLaMA-65B, Guanaco, BLOOM-176B oder BLOOMZ ausführen!

 

Wie funktioniert das?

Kurz: ja die gute alte Torrent-Zeit ist zurück! Nur diesmal geht es nicht um (illegal) heruntergeladene Filme, sondern um geteilte Rechenpower!

Wie bei den (Film-)Torrents, werden die benötigten Teile auf viele Rechner verteilt, d.h. Teile des Modells und vor allem die notwendige Berechnung verteilt sich auf zahlreiche Computer.

Dabei kannst du in unterschiedlichen Rollen teilnehmen: Client oder Server. Als Client nutzt du die Kapazität des Netzwerks und kannst entweder das Modell nutzen (Inference) oder Fine-Tuning betreiben. Als Server-Teilnehmer bietest du deine Rechenzeit für alle an.

Du kannst aber auch ein privates Netzwerk aufbauen, wenn du z.B. mehrere Rechner zur Verfügung hast.

Du kannst natürlich auch beide Rollen gleichzeitig einnehmen.

Die Nutzung

Wenn du das jetzt nutzen möchtest, dann brauchst du lediglich ein paar Zeilen Python-Code auszuführen. Dazu gehst du auf https://petals.ml/ und besorgst dir den Code, den du dann einfach auf deinem Rechner (oder z.B. in Google Colaboratory) ausführst. Eine genaue Anleitung findest du in dem GitHub-Repostiory des Projektes: https://github.com/bigscience-workshop/petals

 

Meine Meinung

Ich habe das Projekt gerade erst entdeckt und hatte noch nicht die Gelegenheit ausführlich damit zu spielen. Es eröffnet aber meines Erachtens einige Möglichkeiten. So kann man mit den großen Modellen erstmal experimentieren, ohne viel Geld ausgeben zu müssen.

Ob es für ein „ernsthaftes“ Projekt oder gar für kommerzielle Anwendungen ausreicht, muss sich noch zeigen. Unklar ist (für mich) noch, wie es mit dem Datenschutz aussieht. Letztendlich müssen ja schließlich deine Prompts verteilt werden, damit sie auf fremden Rechnern berechnet werden können.

Auch die Performance muss betrachtet werden, denn es macht sicherlich einen Unterschied, ob direkt verfügbare performante Hardware die Berechnungen durchführt oder ob die Daten erstmal über das Netztwerk laufen müssen.

Ausserdem hängt das Ganze davon ab, dass Leute bereitwillig ihre Rechenkapazität zur Verfügung stellen! Das wäre doch endlich mal ein vernünftiger Einsatzgrund für eine Blockchain! wink Also ein Belohnungssystem, das die gespendete Rechenzeit registriert und dir dafür, z.B. die Rechenzeit des Gesamtsystems anbietet oder Vorrang gibt.
Wenn ich ausreichend damit gespielt habe, werde ich ggfs. ein kurzes Tutorial erstellen.