Web-Apps smarter machen mit offlinefähigen KI-Modellen, WebGPU und WebNN

Braucht es für KI-Funktionen immer die Cloud? Nicht zwingend, denn KI-Modelle laufen auch direkt im Browser – gute Performance und viel Speicher vorausgesetzt.

In Pocket speichern vorlesen Druckansicht 2 Kommentare lesen
generisches KI-Bild

Künstliche Intelligenz hat auch das World Wide Web erreicht.

(Bild: metamorworks/Shutterstock.com)

Lesezeit: 4 Min.
Von
  • Christian Liebel
Inhaltsverzeichnis

Künstliche Intelligenz (KI) ist in aller Munde: Keine Woche vergeht ohne die Ankündigung eines neuen Produkts, Chatbots oder eines verbesserten KI-Modells. Zeitgleich hält generative KI in die großen Produktivitätsanwendungen Einzug: Adobe Photoshop erlaubt das Ersetzen von Objekten in einem Bild per einfacher Texteingabe und in Office und Windows steht der Microsoft Copilot dem Anwender zur Seite. Kein Wunder, dass auch viele Anwendungsentwickler derzeit beabsichtigen, generative KI in die eigene Anwendung zu bringen.

Überkreuz - Christian Liebel

Christian Liebel (@christianliebel) ist Softwareentwickler bei Thinktecture in Karlsruhe. Er unterstützt seine Kunden bei Digitalisierungsprojekten und der Modernisierung von Businessanwendungen. Sein Steckenpferd sind Cross-Platform-Anwendungen auf Basis moderner Webtechnologien wie Angular, Progressive Web Apps, Project Fugu und Web Components. Für seine Community-Beiträge wurde er als Microsoft MVP und Google GDE ausgezeichnet.

Eine einfache Texteingabe in Photoshop genügt und schon steht ein Grizzlybär in der Landschaft.

Bislang führt dieser Weg fast ausschließlich in die Cloud. Alle großen Cloudanbieter halten einfach verwendbare Schnittstellen bereit, um KI-Funktionen in die eigenen Anwendungen zu integrieren.

Doch das muss nicht zwingend so sein: Der KI-Trend hat auch das World Wide Web erreicht. Fast zeitgleich zum Hype wurde mit Chromium 113 (April 2023) die Schnittstelle WebGPU unter Windows und macOS verfügbar gemacht. Diese API gibt Webanwendungen einen Low-Level-Zugriff auf die Graphics Processing Unit (GPU) des Systems, die sich nicht nur für Grafikanwendungen, sondern auch für die erforderlichen Berechnungen im Bereich Machine Learning (ML) gut eignet. Darüber lassen sich ML-Modelle effizient im Browser ausführen.

Zwei Showcases von Machine Learning Compilation machen von dieser Schnittstelle bereits Gebrauch:

  • WebLLM bringt Large Language Models (LLM) in den Browser, etwa um Chatbots auf eigenen Daten zu implementieren. Zur Auswahl stehen etwa Metas Open-Source-Modell LLaMA 2 und das darauf basierende Modell Vicuna.
  • WebSD bringt das Stable-Diffusion-Modell in den Browser, damit lassen sich Bilder auf Basis von Texteingaben erzeugen – so wie bei Photoshop.

WebSD kann auch im Webbrowser Grizzlybären generieren.

Beide Showcases sind quelloffen, im Falle von WebLLM gibt es sogar das npm-Paket @mlc-ai/web-llm, das Entwickler in die eigene App integrieren können.

In beiden Fällen müssen die KI-Modelle zuerst auf das Endanwendergerät übertragen werden. Diese Modelle sind allerdings mehrere Gigabyte groß, sodass eine schnelle Internetverbindung ebemso erforderlich ist wie ausreichend viel Speicherplatz. Auch die Ausführung des Modells ist anspruchsvoll, setzt viel Arbeitsspeicher und Rechenleistung voraus.

Im Gegenzug sind die Modelle nach dem initialen Download auch offline oder bei unzuverlässiger Internetverbindung verfügbar. Die Daten verlassen das Gerät des Anwenders zudem nicht, sodass sich dieser Ansatz auch für kritische Daten eignet. Ferner fallen keine Kosten an, da die Modelle quelloffen sind. Allerdings sind kommerzielle Modelle wie OpenAI GPT-4 noch deutlich leistungsfähiger. Doch auch in diesem Bereich tut sich viel, und Open-Source-Modelle werden kontinuierlich besser – und kleiner.

Mit WebGPU ist das Ende der Fahnenstange zudem noch nicht erreicht: Die Web Neural Network API (WebNN) befindet sich derzeit beim World Wide Web Consortium (W3C) in Spezifikation. Diese Schnittstelle wird die Ausführung von Machine-Learning-Modellen im Webbrowser noch einmal beschleunigen, indem sie Webanwendungen zusätzlich Zugriff auf die plattformspezifischen ML-Schnittstellen und somit auf die Neural Processing Unit (NPU) gewähren, sofern diese auf der Zielplattform verfügbar sind.

Schon heute lassen sich anspruchsvolle KI-Modelle direkt im Webbrowser verwenden. In Kombination mit den übrigen Schnittstellen aus dem Umfeld der Progressive Web Apps lassen sich damit komplett offlinefähige KI-Webanwendungen bauen. Zweifelsohne steht diese Entwicklung aber noch ziemlich am Anfang: So befindet sich WebGPU in WebKit (Safari) und Gecko (Firefox) noch in Implementierung; auch in Chromium-basierten Browsern ist die Schnittstelle unter Android und Linux noch nicht verfügbar. WebNN ist noch in keinem Browser nutzbar.

Das npm-Paket von WebLLM erweitert eine bestehende Todo-Anwendung um eine Chatfunktion.

KI in Webanwendungen dürfte aber zunehmend an Relevanz gewinnen: Zu viele Anwendungsfälle lassen sich mit klassischer regelbasierter Entwicklung nicht sinnvoll abdecken. Das Web geht dieser Entwicklung jedenfalls vorbereitet entgegen.

(rme)