Technologische Neuigkeiten, Bewertungen und Tipps!

Lernen Sie Web Stable Diffusion kennen: Ein KI-Projekt, das stabile Diffusionsmodelle für Webbrowser bereitstellt

Hinweis: Der folgende Artikel hilft Ihnen dabei: Lernen Sie Web Stable Diffusion kennen: Ein KI-Projekt, das stabile Diffusionsmodelle für Webbrowser bereitstellt

In jüngster Zeit haben Modelle der künstlichen Intelligenz (KI) bemerkenswerte Verbesserungen gezeigt. Die Open-Source-Bewegung hat es Programmierern leicht gemacht, verschiedene Open-Source-Modelle zu kombinieren, um neuartige Anwendungen zu erstellen.

Eine stabile Diffusion ermöglicht die automatische Generierung fotorealistischer und anderer Bildstile aus der Texteingabe. Da diese Modelle typischerweise groß und rechenintensiv sind, werden alle erforderlichen Berechnungen an (GPU-)Server weitergeleitet, wenn Webanwendungen erstellt werden, die sie nutzen. Darüber hinaus benötigen die meisten Workloads eine bestimmte GPU-Familie, auf der gängige Deep-Learning-Frameworks ausgeführt werden können.

Das Team der Machine Learning Compilation (MLC) präsentiert ein Projekt als Versuch, die aktuelle Situation zu ändern und die Artenvielfalt in der Umwelt zu erhöhen. Sie glaubten, dass durch die Verlagerung der Berechnungen auf den Kunden zahlreiche Vorteile erzielt werden könnten, etwa geringere Kosten für den Dienstanbieter sowie besser individualisierte Erfahrungen und Sicherheit.

Nach Angaben des Teams sollten die ML-Modelle ohne die erforderlichen GPU-beschleunigten Python-Frameworks an einen Ort transportiert werden können. KI-Frameworks stützen sich in der Regel stark auf die optimierten Computerbibliotheken der Hardwareanbieter. Daher ist eine Sicherung wichtig, um von vorne zu beginnen. Um die Rendite zu maximieren, müssen einzigartige Varianten generiert werden, die auf den Besonderheiten der Infrastruktur jedes Kunden basieren.

Die vorgeschlagene webstabile Diffusion fügt das reguläre Diffusionsmodell direkt in den Browser ein und läuft direkt über die Client-GPU auf dem Laptop des Benutzers. Alles wird lokal im Browser abgewickelt und berührt niemals einen Server. Nach Angaben des Teams handelt es sich um die erste browserbasierte stabile Verbreitung weltweit.

Dabei spielt die Kompilierungstechnologie des maschinellen Lernens eine zentrale Rolle (MLC). PyTorch, Hugging Face-Diffusoren und Tokenizer, Rust, Wasm und WebGPU sind einige der Open-Source-Technologien, auf denen die vorgeschlagene Lösung basiert. Apache TVM Unity, ein faszinierendes Work-in-Progress innerhalb von Apache TVM, ist die Grundlage, auf der der Hauptfluss aufgebaut ist.

Das Team hat die Runway Stable Diffusion v1-5-Modelle der Hugging Face-Diffusorbibliothek verwendet.

Wichtige Modellkomponenten werden in einem IRModule in TVM mit TorchDynamo und Torch FX erfasst. Das IRModule des TVM kann für jede Funktion ausführbaren Code generieren, sodass sie in jeder Umgebung bereitgestellt werden kann, in der mindestens die TVM-Mindestlaufzeit ausgeführt werden kann (Javascript ist eine davon).

Sie verwenden TensorIR und MetaSchedule, um Skripte zu erstellen, die automatisch effizienten Code generieren. Diese Transformationen werden lokal abgestimmt, um optimierte GPU-Shader unter Nutzung der nativen GPU-Laufzeiten des Geräts zu generieren. Sie bieten ein Repository für diese Anpassungen, sodass zukünftige Builds ohne Feinabstimmung erstellt werden können.

Sie erstellen statische Speicherplanungsoptimierungen, um die Speicherwiederverwendung über mehrere Ebenen hinweg zu optimieren. Die TVM-Weblaufzeit verwendet Emscripten und Typescript, um die Generierung der Modulbereitstellung zu erleichtern.

Darüber hinaus nutzen sie den Wasm-Port der Hugging Face Rust Tokenizers-Bibliothek.

Bis auf den letzten Schritt, der eine 400-loc-JavaScript-App erstellt, um alles miteinander zu verbinden, wird der gesamte Workflow in Python durchgeführt. Die Einführung neuer Modelle ist ein spannendes Nebenprodukt dieser Art der partizipativen Entwicklung.

Die Open-Source-Community macht all dies möglich. Insbesondere verlässt sich das Team auf TVM Unity, die jüngste und interessanteste Ergänzung des TVM-Projekts, die solche interaktiven MLC-Entwicklungserfahrungen in Python-First-Form bietet und es ihnen ermöglicht, zusätzliche Optimierungen in Python zu erstellen und die App nach und nach im Web zu veröffentlichen. TVM Unity erleichtert auch die schnelle Zusammenstellung neuartiger Ökosystemlösungen.

Table of Contents