KI für Ihr Unternehmen – Jetzt Demo buchen

Transformers.js: Neuer Meilenstein für maschinelles Lernen direkt im Webbrowser

Kategorien:
No items found.
Freigegeben:
August 27, 2024

Artikel jetzt als Podcast anhören

Inhaltsverzeichnis

    Transformers.js: Eine Revolution für Machine Learning im Browser

    Einführung

    Die Welt der künstlichen Intelligenz und des maschinellen Lernens entwickelt sich kontinuierlich weiter. Eine der neuesten und spannendsten Entwicklungen ist die Einführung von Transformers.js, einer JavaScript-Version der bekannten Transformers-Bibliothek von Hugging Face. Diese neue Technologie ermöglicht es Entwicklern, hochentwickelte Machine Learning-Modelle direkt im Browser auszuführen. Dies eröffnet eine Vielzahl von neuen Möglichkeiten und Anwendungen.

    Hintergrund

    Transformers sind eine Klasse von Modellen, die besonders für Aufgaben des Natural Language Processing (NLP) geeignet sind, wie Textklassifikation, Named Entity Recognition (NER), Fragebeantwortung, Textgenerierung und vieles mehr. Die ursprüngliche Transformers-Bibliothek von Hugging Face ist in Python geschrieben und hat sich in der KI-Community schnell etabliert. Allerdings konnte sie aufgrund ihrer Abhängigkeiten und der Notwendigkeit eines Servers nicht direkt im Browser verwendet werden.

    Die Rolle von Transformers.js

    Transformers.js wurde entwickelt, um diese Einschränkung zu überwinden. Durch die Nutzung von ONNX Runtime können Modelle direkt im Browser ausgeführt werden, ohne dass ein Server erforderlich ist. Dies bedeutet, dass Anwendungen in Echtzeit auf Benutzerinteraktionen reagieren können, ohne dass Daten an einen externen Server gesendet werden müssen, was sowohl die Leistung als auch die Privatsphäre verbessert.

    Integration mit Pyodide und Pyodide-basierten Frameworks

    Ein weiteres spannendes Feature von Transformers.js ist seine Integration mit Pyodide und Pyodide-basierten Frameworks wie JupyterLite, stlite (Streamlit), Shinylive (Shiny für Python), PyScript und HoloViz Panel. Pyodide ist eine Python-Laufzeitumgebung, die in WebAssembly kompiliert wurde und im Browser ausgeführt werden kann. Dies ermöglicht es, Python-Code direkt im Browser auszuführen, was die Entwicklung von Webanwendungen erheblich vereinfacht.

    Warum Pyodide?

    Pyodide ermöglicht es Entwicklern, die umfangreiche Python-Ökosystem zu nutzen, ohne auf die Vorteile von Webanwendungen verzichten zu müssen. Durch die Kombination von Pyodide und Transformers.js können Entwickler komplexe Machine Learning-Modelle in Python schreiben und diese direkt im Browser ausführen.

    Beispielanwendungen

    - **JupyterLite**: Ein Browser-basiertes Interface für Jupyter-Notebooks, das die Ausführung von Python-Code ermöglicht. Mit Transformers.js können hier Modelle für Sentiment-Analyse oder Bildklassifikation direkt im Notebook ausgeführt werden. - **stlite (Streamlit)**: Ein Framework zur Erstellung von Webanwendungen aus Python-Skripten. Entwickler können interaktive Dashboards erstellen, die in Echtzeit auf Benutzereingaben reagieren. - **Shinylive**: Eine Python-Version des beliebten R-Shiny-Frameworks, das ebenfalls im Browser ausgeführt werden kann. - **PyScript**: Ermöglicht es, Python-Code direkt in HTML-Dateien einzubetten und auszuführen. - **HoloViz Panel**: Ein weiteres Framework zur Erstellung interaktiver Webanwendungen, das sich besonders für die Visualisierung von Daten eignet.

    Technische Details und API

    Transformers.js bietet eine API, die der originalen Transformers-API von Hugging Face sehr ähnlich ist. Dies erleichtert den Umstieg für Entwickler, die bereits mit der Python-Bibliothek vertraut sind. Hier ein Vergleich der Syntax:

    Python (original)

    ```python from transformers import pipeline # Allocate a pipeline for sentiment-analysis pipe = pipeline('sentiment-analysis') out = pipe('I love transformers!') # [{'label': 'POSITIVE', 'score': 0.999806941}] ```

    JavaScript (Transformers.js)

    ```javascript import { pipeline } from '@xenova/transformers'; // Allocate a pipeline for sentiment-analysis let pipe = await pipeline('sentiment-analysis'); let out = await pipe('I love transformers!'); // [{'label': 'POSITIVE', 'score': 0.999817686}] ```

    Spezialfälle: as_url()

    Ein besonderes Feature von Transformers.js.py ist die Funktion `as_url()`, die lokale Dateipfade in URLs umwandelt. Dies ist besonders nützlich, wenn lokale Dateien in der virtuellen Dateisystemumgebung von Pyodide verwendet werden sollen.

    Beispiel

    ```python from transformers_js_py import import_transformers_js, as_url transformers = await import_transformers_js() pipeline = transformers.pipeline pipe = await pipeline('image-classification') local_image_path = "/path/to/image.jpg" input_url = as_url(local_image_path) # Converts a local file path into a URL that can be passed to `pipe()` result = await pipe(input_url) ```

    Beispiele und Demos

    Transformers.js bietet eine Vielzahl von Beispielen und Demos, die zeigen, wie die Bibliothek in verschiedenen Kontexten verwendet werden kann. Hier sind einige Beispiele: - **JupyterLite**: Ein Notebook, das zeigt, wie man Transformers.js verwendet, um eine Sentiment-Analyse durchzuführen. - **stlite (In-browser Streamlit)**: Eine interaktive Webanwendung zur Sentiment-Analyse. - **Gradio-Lite**: Eine serverlose Gradio-Anwendung, die vollständig im Browser läuft. - **Shinylive**: Eine Anwendung zur Sentiment-Analyse mit dem Shiny-Framework. - **PyScript**: Ein Beispiel, das zeigt, wie man Transformers.js in einer HTML-Datei verwendet. - **Panel**: Eine Anwendung zur Sentiment-Analyse mit HoloViz Panel.

    Fazit

    Transformers.js stellt einen bedeutenden Fortschritt in der Entwicklung von Machine Learning-Anwendungen dar, die direkt im Browser ausgeführt werden können. Durch die Integration mit Pyodide und anderen Frameworks wird die Entwicklung interaktiver Webanwendungen erheblich vereinfacht. Dies eröffnet neue Möglichkeiten für Entwickler und Anwender gleichermaßen.

    Bibliographie

    https://github.com/whitphx/transformers.js.py https://github.com/xenova/transformers.js https://github.com/holoviz/panel/issues/5371 https://github.com/pyodide/pyodide/issues/2669
    Mindverse vs ChatGPT Plus Widget

    Warum Mindverse Studio?

    Entdecken Sie die Vorteile gegenüber ChatGPT Plus

    Sie nutzen bereits ChatGPT Plus? Das ist ein guter Anfang! Aber stellen Sie sich vor, Sie hätten Zugang zu allen führenden KI-Modellen weltweit, könnten mit Ihren eigenen Dokumenten arbeiten und nahtlos im Team kollaborieren.

    🚀 Mindverse Studio

    Die professionelle KI-Plattform für Unternehmen – leistungsstärker, flexibler und sicherer als ChatGPT Plus. Mit über 50 Modellen, DSGVO-konformer Infrastruktur und tiefgreifender Integration in Unternehmensprozesse.

    ChatGPT Plus

    ❌ Kein strukturierter Dokumentenvergleich

    ❌ Keine Bearbeitung im Dokumentkontext

    ❌ Keine Integration von Unternehmenswissen

    VS

    Mindverse Studio

    ✅ Gezielter Dokumentenvergleich mit Custom-Prompts

    ✅ Kontextbewusste Textbearbeitung im Editor

    ✅ Wissensbasierte Analyse & Zusammenfassungen

    📚 Nutzen Sie Ihr internes Wissen – intelligent und sicher

    Erstellen Sie leistungsstarke Wissensdatenbanken aus Ihren Unternehmensdokumenten.Mindverse Studio verknüpft diese direkt mit der KI – für präzise, kontextbezogene Antworten auf Basis Ihres spezifischen Know-hows.DSGVO-konform, transparent und jederzeit nachvollziehbar.

    ChatGPT Plus

    ❌ Nur ein Modellanbieter (OpenAI)

    ❌ Keine Modellauswahl pro Use Case

    ❌ Keine zentrale Modellsteuerung für Teams

    VS

    Mindverse Studio

    ✅ Zugriff auf über 50 verschiedene KI-Modelle

    ✅ Modellauswahl pro Prompt oder Assistent

    ✅ Zentrale Steuerung auf Organisationsebene

    🧠 Zugang zu allen führenden KI-Modellen – flexibel & anpassbar

    OpenAI GPT-4: für kreative Texte und allgemeine Anwendungen
    Anthropic Claude: stark in Analyse, Struktur und komplexem Reasoning
    Google Gemini: ideal für multimodale Aufgaben (Text, Bild, Code)
    Eigene Engines: individuell trainiert auf Ihre Daten und Prozesse

    ChatGPT Plus

    ❌ Keine echte Teamkollaboration

    ❌ Keine Rechte- oder Rollenverteilung

    ❌ Keine zentrale Steuerung oder Nachvollziehbarkeit

    VS

    Mindverse Studio

    ✅ Teamübergreifende Bearbeitung in Echtzeit

    ✅ Granulare Rechte- und Freigabeverwaltung

    ✅ Zentrale Steuerung & Transparenz auf Organisationsebene

    👥 Kollaborative KI für Ihr gesamtes Unternehmen

    Nutzen Sie Mindverse Studio als zentrale Plattform für abteilungsübergreifende Zusammenarbeit.Teilen Sie Wissen, erstellen Sie gemeinsame Workflows und integrieren Sie KI nahtlos in Ihre täglichen Prozesse – sicher, skalierbar und effizient.Mit granularen Rechten, transparenter Nachvollziehbarkeit und Echtzeit-Kollaboration.

    Bereit für den nächsten Schritt?

    Sehen Sie Mindverse Studio in Aktion. Buchen Sie eine persönliche 30-minütige Demo.

    🎯 Kostenlose Demo buchen

    Wie können wir Ihnen heute helfen?

    Das Expertenteam von Mindverse freut sich darauf, Ihnen zu helfen.
    Herzlichen Dank! Deine Nachricht ist eingegangen!
    Oops! Du hast wohl was vergessen, versuche es nochmal.

    🚀 Neugierig auf Mindverse Studio?

    Lernen Sie in nur 30 Minuten kennen, wie Ihr Team mit KI mehr erreichen kann – live und persönlich.

    🚀 Demo jetzt buchen