WEBASSEMBLY, GROSSE SPRACHMODELLE UND KUBERNETES ESSENTIAL

Mit WebAssembly können Sie schnell und einfach ein vollständiges LLM herunterladen und auf Ihrem Computer ausführen, ohne dass eine größere Einrichtung erforderlich ist.

Übersetzt aus WebAssembly, Large Language Models und Kubernetes Matter , Autor Torsten Volk.

WebAssembly (WASM) macht es unglaublich einfach, genau denselben Code auf jeder Hardware zu entwickeln, zu erstellen, auszuführen und zu betreiben, die Sie unter Ihrem Schreibtisch, im Rechenzentrum, in Ihrem AWS- Konto oder in der Steuereinheit eines 30-Zoll- Geräts finden. Tonnenerntemaschine in einem Maisfeld.

Während ich diese Vision mit Matt Butcher, CEO von Fermyon , auf der KubeCon 2022 in Detroit besprochen habe , gibt es jetzt tatsächlich produktionsreife Anwendungsfälle, die einen greifbaren Wert liefern.

LlamaEdge: Eine Codezeile, um LLM überall auszuführen

Das Open-Source-Projekt Llama Edge verspricht, dass durch einfaches Einfügen einer Codezeile in ein Terminal auf praktisch jedem Computer in wenigen Sekunden ein Browser mit einer Benutzeroberfläche angezeigt wird, die der von ChatGPT sehr ähnlich ist . Natürlich verfügen wir weder über die Hardware, um ChatGPT auf unserem Laptop auszuführen, noch bietet OpenAI diese Option aus lizenzrechtlicher Sicht an, es gibt jedoch Dutzende von Open-Source-Varianten, die wir ausführen können. Standardmäßig installiert LlamaEdge zur sofortigen Befriedigung eine kleine Version von Gemma LLM von Google auf Ihrem lokalen Computer , und es funktioniert großartig.

Aber wie kann ich so schnell und einfach ein komplettes LLM herunterladen und auf meinem Rechner ausführen, ohne dass eine große Einrichtung erforderlich ist? Hier kommt wasmEdge ins Spiel, um den Tag zu retten. Llama Edge wird als vorkompilierter Code (Bytecode) auf der WasmEdge-Laufzeitumgebung ausgeführt. Es sind nur 30 MB (nicht GB!) Festplattenspeicher erforderlich, zuzüglich des Speicherplatzes, der zum Herunterladen des LLM Ihrer Wahl erforderlich ist. Nach dem Herunterladen nutzt Llama Edge die Fähigkeit von wasmEdge, kontinuierlich CPU-, GPU-, RAM- und Festplattenressourcen auf praktisch jedem Betriebssystem (Windows, Linux und Derivate) und jedem Chip (Intel, AMD, Nvidia usw.) bereitzustellen, ohne dass dies erforderlich ist Erweiterte Konfiguration. Öffnen Sie nun ein Terminal auf Ihrem Computer und sehen Sie: Dieser einzelne Befehl ...

bash <(curl -sSfL '<a href="https://raw.githubusercontent.com/LlamaEdge/LlamaEdge/main/run-llm.sh">https://raw.githubusercontent.com/LlamaEdge/LlamaEdge/main/run-llm.sh</a>')

…erzeugt eine Benutzeroberfläche ohne weitere Konfiguration.

Komponenten sind die neuen Behälter

„Komponenten sind die neuen Container“, sagt Liam Randall , CEO von Cosmonic , wenn man bedenkt, dass ich in weniger als einer Minute ein komplettes LLM auf demselben MacBook einrichten konnte, auf dem ich diesen Artikel schreibe, einschließlich seiner ChatGPT-ähnlichen Benutzeroberfläche Aussage macht absolut Sinn. Wenn ich dasselbe LLM ohne WASM installieren würde, müsste ich eine Reihe von MacOS-spezifischen Schritten befolgen: 1) Homebrew installieren, 2) die erforderlichen Pakete installieren, 3) das erforderliche Llama-LLM finden und klonen, 4) das installieren Python-Abhängigkeiten, 5) Konvertieren und Quantifizieren der Modelldateien und 6) Testen meiner Installation. Da ich jedoch WasmEdge verwende, muss ich mich um keinen dieser Schritte kümmern und die Python-Laufzeitumgebung muss nicht einmal vorhanden sein. Für die Ausführung von LlamaEdge ist nur wasmEdge erforderlich, mehr nicht.

Aber muss ich Rust lernen?

Als Python- Entwickler bevorzuge ich unbedingt die Möglichkeit, LLM verwenden zu können, ohne Rust lernen zu müssen . Ich benötige nur eine Zeile Befehlszeilencode, um das LLM einzurichten, und dann eine weitere Codezeile, wenn ich ein bestimmtes LLM anstelle des Standard-LLM auswählen möchte:

bash <(curl -sSfL 'https://raw.githubusercontent.com/LlamaEdge/LlamaEdge/main/run-llm.sh') --model llama-2-7b-chat

Der obige Befehl führt den Benutzer zur standardmäßigen LLM-Auswahl.

Ich habe immer noch keine einzige Zeile tatsächlichen Rust-Codes geschrieben, aber ich habe die erforderlichen Befehle von der LlamaEdge-GitHub-Website kopiert und eingefügt , und jetzt kann ich mit meinem brandneuen LLM sprechen. Um auf Randalls Aussage zurückzukommen, dass Komponenten der neue Container sind: Ich kann dieses Modell jetzt einfach als Komponente in alle zukünftigen Python-Anwendungen importieren, die ich habe. Gleichzeitig kann ich diese Komponente mit meinem Team oder meinen Kunden teilen, sodass diese mein LLM auch in ihre eigenen Anwendungen integrieren können.

Das erinnert mich an eine Diskussion, die ich mit Tim Enwall von Fermyon bei AWS Re:Invent über die Möglichkeit geführt habe, WASM-Komponenten als Abonnementdienst anzubieten. Wenn Sie als Branchenanalyst Ihr eigenes LLM erstellen und es mithilfe früherer Veröffentlichungen verfeinern, können Sie es in einem WASM kompilieren und Abonnements für seinen digitalen Zwilling verkaufen.

Ein weiterer Anwendungsfall: Datenpipeline-Management für die Protokollierung und andere Bereiche

Mit der Observability-Data-Pipeline-Managementplattform FluentBit von Calyptia können Entwickler Plug-Ins in Form von WASM-Programmen schreiben. Entwickler können Rust, TinyGo und Python verwenden, um Funktionen zur Verarbeitung von Pipeline-Daten zu schreiben.

Wir können dies nun wieder mit unserem LlamaEdge-Beispiel verbinden und unsere WASM-Pipeline mit LlamaEdge „sprechen“, die Protokolle in Echtzeit analysieren, aussagekräftige Erkenntnisse extrahieren und sogar Antworten basierend auf dem Inhalt der Protokolle automatisieren. Stellen Sie sich ein Szenario vor, in dem Ihr WASM-Pipelineprogramm eine Anomalie in den Protokolldaten erkennt, beispielsweise einen ungewöhnlichen Anstieg des Datenverkehrs oder eine potenzielle Sicherheitsverletzung. Anschließend kann LlamaEdge LLM abgefragt werden, um den Kontext besser zu verstehen und sofortige Maßnahmen vorzuschlagen, oder das Problem an das entsprechende Teammitglied eskalieren.

Durch die Integration von LLM in die Datenpipeline wird der Überwachungs- und Reaktionsprozess für Vorfälle intelligenter und proaktiver. Dies könnte die Art und Weise, wie wir Protokolldaten verarbeiten, revolutionieren und reaktive Prozesse in dynamische, automatisierte Prozesse umwandeln, die nicht nur Warnungen auslösen, sondern auch mögliche Lösungen bieten. Die dezentrale Verarbeitung von Telemetriedaten innerhalb einer Datenpipeline ist besonders interessant, da dadurch die Datenmenge reduziert werden kann, die in eine oder mehrere Unternehmens-Observability-Plattformen aufgenommen werden muss. Da viele Observability-Plattformen Unternehmenskunden Gebühren auf Basis der Menge der eingehenden Daten berechnen, ergeben sich erhebliche Kosteneinsparungen.

Fermyon-Plattform für Kubernetes: Höhere Dichte, geringere Kosten

Fermyon hat das SpinKube- Framework für Kubernetes eingeführt , das die Ausführung von WASM-Anwendungen auf Kubernetes mit höherer Dichte und damit geringeren Kosten im Vergleich zu Containern ermöglicht. SpinKube nutzt die Leichtigkeit des WASM-Moduls, um mehr Anwendungen auf jedem Serverknoten zu packen und so die erforderlichen Rechenressourcen zu reduzieren.

Das SpinKube-Framework ist entwicklerfreundlich konzipiert und bietet eine nahtlose Integration in bestehende Kubernetes-Umgebungen. Entwickler können ihre WASM-Anwendungen wie herkömmliche Containeranwendungen bereitstellen, ohne sich mit neuen Tools oder Arbeitsabläufen vertraut machen zu müssen. Diese Benutzerfreundlichkeit beschleunigt die Entwicklungszyklen und vereinfacht die Bereitstellung.

Darüber hinaus gewährleistet SpinKube Sicherheit und Isolation auf Anwendungsebene, ein wichtiger Aspekt einer mandantenfähigen Umgebung. Jede WASM-Anwendung läuft in ihrer eigenen isolierten Sandbox und bietet so eine sichere Ausführungsumgebung, die das Risiko von Schwachstellen im Hostsystem oder anderen Anwendungen minimiert.

Fermyons Engagement für offene Standards und Community-gesteuerte Entwicklung spiegelt sich in der Architektur von SpinKube wider. Die Plattform unterstützt eine breite Palette von Programmiersprachen und Tools und macht sie so einer breiteren Entwicklergemeinschaft zugänglich. Diese Inklusivität wird Innovationen fördern und die Einführung der WASM-Technologie in verschiedenen Branchen fördern.

Zusammenfassend stellt Fermyon für Kubernetes einen großen Fortschritt im Cloud-Native-Computing dar. Durch die Erhöhung der Dichte und die Senkung der Kosten bei gleichzeitiger Beibehaltung von Benutzerfreundlichkeit, Sicherheit und offenen Standards positioniert sich SpinKube als wichtiger Akteur in der Zukunft der Kubernetes-Anwendungsbereitstellung. An dieser Stelle ist es wichtig zu erwähnen, dass Fermyon SpinKube für die CNCF-Sandbox gespendet hat.

Fazit: LLM, Entwicklerproduktivität und Betriebskostendruck, die treibenden Kräfte für den Erfolg von WASM

Die inhärente Fähigkeit von WASM, immer dort zu laufen, wo es eine WebAssembly-Laufzeit gibt, macht diese Technologie dazu bestimmt, „LLM dorthin zu verschieben, wo sich die Daten befinden“.

Dies ist aus Compliance-Gründen großartig, da Unternehmen das erforderliche LLM einfach an ihre relevanten Datenquellen „andocken“ können, ohne eine Erlaubnis zum Verschieben potenziell sensibler Daten einholen zu müssen. Diese Portabilität, kombiniert mit der geringen Größe der WASM-Laufzeit und der Möglichkeit, WASM-Anwendungen auf Kubernetes (neben herkömmlichen Containern) auszuführen, kann die Ausführung einiger LLM-Inferenz- oder Modellschulungen auf einer inaktiven Serverinfrastruktur über das Wochenende zu einem Kinderspiel und damit kostengünstiger machen Einfacher. Sobald der Montag kommt, können wir unsere WASM-LLM-Anwendungen beenden oder an einen anderen Ort verschieben. Dieses Prinzip gilt natürlich nicht nur für LLM, sondern kann auch für viele andere Anwendungsfälle gelten.

Wenn die Bytecode Alliance und die W3C WebAssembly Community Group die Implementierung des WebAssembly-Komponentenmodells beschleunigen können, sodass WASM allgemein verwendet werden kann, wird diese Technologie ein echter Game Changer sein. WASI 0.2 ist ein guter Fortschritt, aber es müssen noch einige Hausaufgaben gemacht werden, um die Plattform für den Massenmarkt fit zu machen.

Dieser Artikel wurde zuerst auf Yunyunzhongsheng ( https://yylives.cc/ ) veröffentlicht, jeder ist herzlich willkommen.

Ein in den 1990er Jahren geborener Programmierer hat eine Videoportierungssoftware entwickelt und in weniger als einem Jahr über 7 Millionen verdient. Das Ende war sehr bestrafend! High-School-Schüler erstellen im Rahmen einer Coming-of-Age-Zeremonie ihre eigene Open-Source-Programmiersprache – scharfe Kommentare von Internetnutzern: Der inländische Dienst Taobao (taobao.com) verließ sich aufgrund des grassierenden Betrugs auf RustDesk und stellte die inländischen Dienste ein und startete die Arbeit zur Optimierung der Webversion von Java neu 17 ist die am häufigsten verwendete Java LTS-Version. Windows 11 erreicht weiterhin einen Rückgang. Open Source Daily unterstützt die Übernahme von Open Source Rabbit R1; Electric schließt die offene Plattform Apple veröffentlicht M4-Chip Google löscht Android Universal Kernel (ACK) Unterstützung für RISC-V-Architektur Yunfeng ist von Alibaba zurückgetreten und plant, in Zukunft unabhängige Spiele für Windows-Plattformen zu produzieren
{{o.name}}
{{m.name}}

Ich denke du magst

Origin my.oschina.net/u/6919515/blog/11086745
Empfohlen
Rangfolge