Frühe Vorschau der Chrome Prompt API.
Ich wurde kürzlich zum Early Preview-Programm für die in Chrome integrierte KI (Prompt API) eingeladen. Die integrierte KI ist eine Vorstudie für das, was möglicherweise ein browserübergreifender Standard für eingebettete KI werden wird. Sie nutzt Gemini Nano auf dem Gerät, was bedeutet, dass sie in Ihren Webbrowser integriert ist und die LLM-Generierung in Ihrer lokalen Browserumgebung erfolgt.
Das Gute, das Einfache, das Schnelle und das Kostenlose.
Es gibt drei Hauptgründe, warum wir uns eingebettete KI für unsere Browser wünschen: Geschwindigkeit, Kosten und Benutzerfreundlichkeit. Als native Browser-API ist sie einfach zu verwenden. Der Zugriff auf die Prompt-API ist so einfach wie diese beiden Codezeilen.
const session = await window.ai.createTextSession(); const result = await session.prompt( "Tyingshoelaces.com are writing a really cool blog about you. What do you think about that then?" );
Es könnte nicht einfacher sein, Generative AI-Ergebnisse dort zu erhalten, wo wir sie im Browser benötigen. Ich habe ein paar Tests durchgeführt, um die Ausführungszeit zu überprüfen. Obwohl ich enttäuscht war, dass wir auf eine einzelne Sitzung beschränkt waren (keine Parallelität), war die Leistung für die Generierung komplizierter Langtexte gut.
Denken Sie daran, dass es auch keine Latenz gibt. Die Ausführungszeit beträgt also buchstäblich die Millisekunde, in der wir die Anfrage in unserem Browser gestellt haben, bis zur Verwendung des Ergebnisses in unserem Code.
VM975:32 Execution Time 1: 0h 0m 3s 47ms VM975:32 Execution Time 2: 0h 0m 3s 870ms VM975:32 Execution Time 3: 0h 0m 2s 355ms VM975:32 Execution Time 4: 0h 0m 3s 176ms VM975:32 Execution Time 5: 0h 0m 7s 103ms VM975:44 Average Session Execution Time: 0h 0m 3s 910.1999999999998ms );
Die durchschnittliche Ausführungszeit für 5 verkettete Anfragen an die integrierte KI beträgt zwischen 3 und 4 Sekunden pro vollständiger Anfrage für Eingabeaufforderungen zur Generierung langer Texte. Ich habe dies mehrere Male ausgeführt (das Skript ist im GitHub-Repository enthalten), und obwohl dies je nach Gerät unterschiedlich ist, würde ich auch erwarten, dass sich dies verbessert, wenn die API optimiert wird. Mir ist aufgefallen, dass kürzere JSON-Generierungsaufgaben viel schneller sind (200–400 ms).
Dies ist für die meisten Anwendungsfälle mehr als akzeptabel. Wir haben auch die Skalierungsfrage für unsere LLMs per Crowdsourcing gelöst. Während die API-Nutzung im industriellen Maßstab notorisch teuer ist, wird jede LLM-Anfrage über eine experimentelle Browser-API abgewickelt. Das fühlt sich wirklich gut an und eröffnet eine Welt voller Möglichkeiten.
Indem Chrome-Benutzer das Modell in ihren Browser einbetten, verfügen wir über einen Verteilungsmechanismus mit vorinstallierten generativen KI-Modellen am Einsatzort, ohne dass große Server erforderlich sind. Dies ähnelt WebLLM, hat jedoch den erheblichen Vorteil, dass die Modelle vorinstalliert und in unseren Browsern gebündelt sind.
Dies bedeutet, dass wir ein einzelnes Modell für die Verwendung im gesamten „Internet“ herunterladen können, anstatt gezwungen zu sein, ein anbieterspezifisches Modell herunterzuladen.
Die großen Vorteile dieser experimentellen Browser-API sind starke Argumente für die Einführung: Sie ist schnell, kostenlos (oder vom Verbraucher bezahlt) und wirklich einfach zu verwenden.
Aber was sind die Kompromisse?
Schnell und kostenlos. Aber was kostet es?
Die API ist ausdrücklich nur für Experimente und nicht für den Einsatz in der Produktion vorgesehen. Daher ist ein Großteil der Ausgabe weniger ausgereift, als wir es bei ausgereifteren und gehosteten Modellen erwarten würden. Die Größenbeschränkungen und die allgemeine Natur des Modells führen dazu, dass wir keine ausgefeilte Ausgabe erhalten.
Dies führt zu Frustrationen, die uns in die Anfangszeit der Generative AI APIs zurückversetzen. Ich habe festgestellt, dass ich viel Prompt-Engineering und Validierungslogik verwende, um zuverlässige JSON-Antworten zu erhalten. Alle paar Anfragen scheint die API nicht mehr zu reagieren. Es ist ziemlich leicht, die Antwort zu verwechseln, wodurch das Modell abstürzt.
Es wird auch erwähnt, dass dieses Modell, da es in den Browser eingebettet ist, als „privates“ Modell einen gewissen Wert hat. Ich bin mir nicht sicher, ob dies für die meisten Anwendungsfälle relevant ist, da öffentlich zugängliche Websites weiterhin mit ihren Servern interagieren und es für den durchschnittlichen Benutzer schwierig ist, sicher zu sein, dass die Daten die lokale Umgebung niemals verlassen. Allerdings könnte dies für die interne Verwendung und nicht öffentlich zugängliche Systeme, die über einen Browser betrieben werden (z. B. Unternehmensumgebungen), ein Bonuspunkt sein.
Die mangelnde Komplexität der Antworten aufgrund des kleineren Modells bedeutet, dass wir bei der Auswahl der Aufgaben, für die wir es verwenden, sehr vorsichtig sein müssen. Die Architekturen der Zukunft werden ihre generativen KI-Implementierungen optimieren, um das richtige Gewicht (und damit die richtigen Kosten) für die richtige Aufgabe zu verwenden. Ich stelle mir mehrere kleine, hochgradig abgestimmte und aufgabenorientierte LLMs vor, die jeweils für eine bestimmte Ausgabe verwendet werden.
Dennoch ist alles verzeihlich, insbesondere da die API ausdrücklich für Experimente und nicht für den Produktionseinsatz konzipiert ist.
Das gute
-Kosten
-Skala
-Geschwindigkeit
-Benutzerfreundlichkeit
-Privat
Das Schlechte
-Einbußen bei der Qualität
-Implementierungskosten
Wenn wir beispielsweise eine tiefgehende Analyse des aktuellen Geschehens wünschen, bräuchten wir ein großes Kontextfenster und einen ausgeklügelten RAG-Flow, um die Ausgabe zu steuern. Eingebettete KI ist mit ziemlicher Sicherheit nicht der richtige Ansatz. Google weist in seinen Ressourcen darauf hin.
Aber ich habe eine Theorie, die ich auf die Probe stellen wollte; eine hirnrissige, verrückte und unglaublich lustige Theorie; und ein auf einem Mikrobrowser gehostetes LLM war der perfekte Ort dafür.
Neuronen, nicht Gehirn
Ich hatte schon seit einiger Zeit ein Problem, das ich lösen wollte. Was, wenn wir LLMs völlig falsch verwenden? Oder genauer gesagt, was, wenn wir das konzeptionelle Modell falsch verstanden haben?
Während wir mit wachsenden Trainingsdaten nach immer größeren Kontextfenstern streben, versuchen wir, Generative AI vertikal zu skalieren. Größer, stärker, schneller, besser. Mir fällt die Kinnlade runter, wenn ich sehe, wie Leute freundlich nach Kontextfenstern fragen, die groß genug sind, um das gesamte Internet einzubinden, und dann den Algorithmus in der Mitte bitten, aus diesem riesigen See genau die Informationen und Ergebnisse herauszusuchen, die wir wollen. Und zwar schneller.
Wir behandeln jede Eingabe in ein LLM als API, Text geht hinein, Magie geschieht und Text kommt heraus. Diese Magie in der Mitte nennen wir Intelligenz. Je mehr Text hineinkommt, desto lauter die Magie und desto besser das Ergebnis. Das ist unser aktueller Weg nach vorne.
Ich frage mich unweigerlich, ob wir uns auf den falschen Maßstab oder Zoom konzentrieren, also eine fehlerhafte Interpretation der Erkenntnis darstellen.
Das Problem beim Denken im Allgemeinen, insbesondere bei der kreativen Ausgabe (und genau das ist die Textgenerierung), ist, dass es sich dabei nicht um einen so einfachen Prozess handelt. Es ist kein einzelner Thread. Wir sehen dies bereits in den neueren Modellen; beispielsweise sehen wir in meiner Analyse der Systemeingabeaufforderung von Claude 3.5 Sonett , dass viele der jüngsten Fortschritte bei der LLM-Ausgabe wahrscheinlich nicht mit dem Algorithmus selbst zu tun haben, sondern mit der Infrastruktur, den Systemen und der Abstimmung, die die Ausgabe kontextbezogen steuern.
Ich wollte schon immer mal ein Konzept ausprobieren, bei dem winzige, schnelle Verbindungen miteinander verknüpft werden, um etwas Größeres zu erschaffen. Letztendlich ist ein Kontextfenster von 100.000 dasselbe wie 1.000 mal 100. Ich vermute, dass der Schlüssel, auch wenn wir uns auf das Großartige konzentrieren, in kleinen und präzisen Details liegt, die miteinander verknüpft werden, um etwas Größeres zu erschaffen. Das passt viel besser zu meinem geistigen Paradigma der Intelligenz als ein empfindungsfähiges Maschinen-„Gehirn“.
Dies war bisher aufgrund der relativen Ineffizienz von Modellen im Allgemeinen und der unerschwinglichen Kosten nicht möglich. Stellen Sie sich Bob in der Buchhaltung vor, dem wir sagen, dass wir die Anzahl der Anfragen an ChatGPT verhundertfachen werden, da wir davon ausgehen, dass Mikrotransaktionen in einer Mesh-Architektur die Qualität unserer KI-Systeme verbessern werden. Ich glaube nicht, dass Bob bei OpenAI arbeitet, aber für den Rest von uns ist dies einfach nicht machbar.
Selbst ein kleines und effizientes eingebettetes Modell im Browser ist nicht wirklich bereit, meine Theorien zu verarbeiten. Es ist nicht schnell genug und ermöglicht keine gleichzeitigen Anfragen (gleichzeitige Gedanken!), aber es ist ein Schritt in die richtige Richtung, und wir sind weit davon entfernt, dass in der Cloud gehostete APIs für jede Anfrage enorme Gebühren verlangen. Ich kann die funktionale Architektur nicht erkennen, aber ich kann den Weg dorthin erkennen.
Um diese Theorie zu testen, habe ich meine Programmierhandschuhe ausgezogen, einen Browser geöffnet und meine epische Reise zu einer Mesh-Architektur mit 1000 Multithread-Anfragen begonnen.
Die Ergebnisse waren magisch.
Ein Gehirn ist lokal und daher sollten es auch unsere APIs sein.
Ich liebe die Stimme. Ich denke, Tastaturen und Mäuse sind zu Erweiterungen unserer Affenhirne geworden, aber sie sind menschliche Apparate und daher als Schnittstelle im ganzheitlichen Sinne eingeschränkt. Mit dem technologischen Fortschritt werden auch die Schnittstellen voranschreiten, und irgendwann werden Tastaturen, Mäuse und sogar Bildschirme für unsere Vorfahren so überflüssig sein wie Öllampen und Brieftauben für uns.
Was auch immer ich bauen wollte, musste sprachgesteuert sein. Glücklicherweise gibt es dafür eine Browser-API.
Was ich bauen wollte, war eine browsergesteuerte Demo für Sprachinteraktion. Eine intelligente Website, die navigiert, reagiert und sich je nach Browserkontext und Eingabe ändert und dabei nichts anderes als meine Stimme verwendet. Keine Tastatur. Keine Maus. „ Ich, meine Stimme, ein Browser und die Prompt-API. “ Klingt wie die schlimmste Kindergeschichte, die ich je gehört habe. Ich habe wahrscheinlich schon Schlimmeres geschrieben.
Konzeptionell sehr ähnlich dem Rabbit- Gerät oder dem Humane AI Pin . Beides sind ehrgeizige Unternehmungen, aber das Problem, das sie alle gemeinsam haben, ist, dass sie versuchen, ein „KI-Betriebssystem“ zu entwickeln. Eine neue KI-gestützte Schnittstelle in die Software. Ich finde das Ziel zu hoch gegriffen, im Grunde versucht man, eine neue Schnittstelle ins Internet zu entwickeln, mit einer Prise KI.
Bei Innovation geht es um Iteration, und das Internet im Jahr 2024 ist allgegenwärtig und grundlegend mit dem Browser verflochten. Der Versuch, eine benutzerfreundliche KI-Betriebssystemschnittstelle zu erfinden, ist ein ähnliches Unterfangen wie der Versuch, das Internet neu zu erfinden. Die Leute fragen bereits: „Was kann ich tun, was ich mit meinem Mobiltelefon nicht schon kann, aber besser?“ …
Innovation erfordert eine Mischung aus Neuem und Unerprobtem, jedoch mit soliden und bewährten Grundlagen. Bei zu viel Instabilität werden die Ergebnisse zu verrückten Wissenschaftlern, aber wenn man das Gleichgewicht zwischen Bewährtem und Experimentellem genau richtig hinbekommt, passiert manchmal, nur manchmal, etwas Besonderes.
Das kognitive Paradigma, das wir in den meisten LLM-Anwendungsfällen falsch verstanden haben, ist, dass wir ein Engagement wie einen Händedruck behandeln. Input ← LLM → Output. Input rein, Output raus. Bei echten menschlichen Interaktionen haben wir jedoch mehrdimensionale Prozesse, die in verschiedene Gedanken und Handlungen zerlegt werden können.
„
Ladenangestellter begrüßt Kunden ->
[Gedanken]
Was tragen sie und wie beeinflusst ihr Stil ihr Kaufverhalten?
Wie ist ihre demografische Zusammensetzung, welchen Einfluss hat ihr Alter auf ihr Kaufverhalten
Welchen Einfluss hat das Geschlecht auf ihr Kaufverhalten?
Welche Stimmungs-/sozialen Signale senden sie aus?
Welche Aussagen haben sie tatsächlich getroffen, die ihre Entscheidungen beeinflussen werden?
[Aktion]
Guten Morgen, Sir, wie geht es Ihnen?
„
Kunde grüßt Mitarbeiter ->
[Gedanken]
Beeil dich, ich bin beschäftigt
Hoffe, sie haben, was ich will (indem sie meine Gedanken lesen!)
Akzeptieren sie Rücksendungen?
[Aktion]
Guten Morgen, ich suche ein Paar Schuhe.
Wir sind so tief in die Informatik eingedrungen, dass unsere Denkprozesse rund um diese Disziplin binär geworden sind. Wir denken an Inputs und Outputs, an wahr und falsch. Die Wahrheit ist, dass menschliche Interaktionen und Gedanken kompliziert und nuanciert sind, wir können sie nicht auf binär reduzieren oder vereinfachen.
Was wir jedoch tun können, ist, diese wunderbare Technologie auf neue und kreative Weise zu vernetzen, um die Barrieren niederzureißen, die die Ergebnisse vereinheitlichen und das Internet in Schlamm verwandeln. Das Internet in Schlamm verwandeln
Lassen Sie uns die Interaktionen der KI mehrfädig und nuanciert gestalten
Mein Experimentiervorschlag verwendet die integrierte KI, um soziale und menschliche Interaktionen zu spiegeln. Lassen Sie uns ein Beispiel verwenden, an das ich mich gut erinnere: den Aufbau eines Empfehlungsalgorithmus für den E-Commerce.
Thread 1: Social Cues, sentiment analysis – How long has it taken for user to interact? – Is their browsing behavior aggressive, slow, calm, controlled – Have they arrived from particular source, or looking for something specific? Thread 2: Behavior Cues, interpretation user input – How have they begun the conversation? A greeting? – What tone are they using? Thread 3: User context, data we have about similar demographics and their preferences – What age group do they belong to? How does this influence preferences? – How do they identify? How does this influence preferences? Thread 4: Site context, data we have how other users are using the site and trends – What are the trending products?
Es gibt kein Patentrezept für die Interpretation so vieler Datenpunkte und wird es auch nie geben. LLMs sind keine Plug-ins, die „Stimmungsanalysatoren, Entitätsklassifizierer oder Alleskönner“ sind. LLMs sind generative Algorithmen, die Eingaben kreativ und logisch interpretieren können. Beachten Sie, dass die einzelnen Hinweise in den Threads keine Ausgaben, sondern Fragen sind.
Um das Denken und die generative KI zu verbessern, müssen wir weit mehr Fragen stellen als Antworten liefern. Wir müssen uns genau überlegen, wie wir an alle unsere Datenpunkte gelangen, und wir müssen sie strukturiert in unsere LLMs einspeisen. Um Verhalten und soziale Hinweise als Beispiel zu nehmen, müssten wir also Folgendes tun:
Alle diese Daten werden lange vor der Übermittlung an unseren LLM vorbereitet und verarbeitet. Sobald sie jedoch vorbereitet sind, können wir Sie mit einer Eingabeaufforderung wie dieser informieren:
Benutzer A ist ein wiederkehrender Besucher, der Anzeichen von leichter Verärgerung zeigt. Denken Sie daran, wenn Sie mit ihm zu tun haben, und versichern Sie ihm, dass wir ein Rückgabesystem haben. [Aktion]: Link zu unseren Rückgaberichtlinien und beliebten Produkten.
Eine Alternative wäre:
„
Benutzer B zeigt Anzeichen von Ungeduld und ist direkt auf der Suche nach Produkt X angekommen. Leiten Sie ihn zur Produktseite weiter und bieten Sie ihm an, das Produkt in den Einkaufswagen zu legen. [Aktion]: Navigieren Sie direkt zu Seite X und legen Sie das Produkt in den Einkaufswagen.
LLMs sind in diesem Sinne unsere Agenten und Dolmetscher, aber der Fehler, den die Leute machen, ist anzunehmen, dass der „Algorithmus“ die Lösung für qualitativ hochwertige Ergebnisse ist. Genau wie bei echten Agenten ist unser Urteil nur so zuverlässig wie die Daten und Hinweise, die wir ihnen geben. Stellen Sie mehr Fragen, als Sie Antworten geben.
Dies ist eine unveräußerliche soziale Wahrheit und der Grund, warum unsere derzeitigen Erwartungen an LLMs so falsch sind und die Agenten viele in den Abgrund der Ernüchterung führen. Müll rein, Müll raus. Es spielt keine Rolle, wie gut der Algorithmus ist.
Allein um zwei Gruppen von Hinweisen für unseren Empfehlungsalgorithmus zu erhalten, müssten wir uns auf eine Reihe von Spezialwerkzeugen und KI-Infrastrukturen verlassen, die die Fähigkeiten aller Plattformen auf der Welt mit Ausnahme einiger weniger übersteigen. Aber wir können iterativ dorthin gelangen, indem wir Nuancen, Threads und Raffinesse in die Infrastruktur einbauen, die unsere LLMs speist.
Und jetzt sind sie im Browser; die Zukunft war noch nie so nah.
Ich habe nichts weiter gebaut als einen einfachen Prototypen, der soziale Signale und Eingaben simuliert. Ich habe ein paar Benutzerdaten eingestreut und dann die Prompt-API gebeten, auf meine Stimme mit einer Kombination aus Gedanken und Aktionen zu reagieren. Es ist nichts weiter als eine Vision von etwas, das „möglicherweise“ funktionieren könnte. Aber indem wir granulare, detaillierte und kontrollierte Eingaben in unsere Prompt-API einspeisen, erhalten wir intelligentes, durchdachtes und kontrolliertes Feedback. Es ist die Vision einer Mesh-Infrastruktur, bei der Mikro-Threads dynamisch lernen, sich gegenseitig verstärken und informieren können.
Noch wird es nicht funktionieren. Aber vielleicht klappt es eines Tages, und die schnelle Technik mit Spracheingabe fühlt sich magisch an. Es ist ein Ziel, auf das es sich anzustreben lohnt.
Die Zukunft ist näher als je zuvor.
Wir befinden uns noch in der Anfangsphase von LLMs und ich gehe davon aus, dass die Fortschritte langsamer als erwartet sein werden und AGI (nach jeder vernünftigen Definition) erst in Generationen eintreffen wird. Aber mit jedem Schritt auf diesem Weg eröffnet sich eine Welt voller Möglichkeiten. Der Aufbau einer hocheffizienten, gut durchdachten und definierten Infrastruktur verbessert die Qualität der Ergebnisse unserer LLMs enorm, unabhängig von der Modellgröße oder der Algorithmusqualität.
Die Verlagerung von LLMs in den Browser kann auch als Verlagerung von LLMs ins Internet verstanden werden. Es wird billig, einfach zu spielen, zu verwenden und zu experimentieren sein. Es ist eine gute Sache, die Leute zu zwingen, kleiner zu denken, effizienter zu bauen und ihren Lösungen Tiefe und Nuancen zu verleihen, daher mache ich mir nicht einmal allzu viele Sorgen um „Mikro“-Modelle. Die Raffinesse liegt in der Verwendung, nicht nur im Tool selbst, daher ist dies ein riesiger Schritt nach vorne.
Ich habe meine Demo angehängt. Es handelt sich dabei um Wegwerfcode, der einen Proof of Concept darstellt, der auf einer explorativen KI basiert, die nur für Demozwecke geeignet ist.
Und es funktioniert nur manchmal.
Dennoch ist es eine wunderbare Vision der Zukunft.
Mehr Ressourcen.
Bitte behalten Sie beim Absenden diesen CTA bei:
Möchten Sie versuchen, einige dieser Fragen zu beantworten? Der Link zur Vorlage lautet