Website-Suche

Was genau ist ein KI-PC? Und sollten Sie im Jahr 2025 einen kaufen?


Unternehmen wenden sich aufgrund des Return on Investment dem maschinellen Lernen zu. Diejenigen, die es in Echtzeit tun, führen die Charts an.

  Unternehmen, die maschinelles Lernen in Echtzeit anwenden, verzeichnen Berichten zufolge einen höheren Return on Investment

Nach Gesprächen mit Ingenieuren für maschinelles Lernen und Infrastruktur bei großen Internetunternehmen in den USA, Europa und China kristallisierten sich zwei Unternehmensgruppen heraus. Eine Gruppe hat Hunderte von Millionen Dollar in die Infrastruktur investiert, um maschinelles Lernen in Echtzeit zu ermöglichen, und hat bereits eine Rendite für ihre Investitionen erzielt. Die andere Gruppe fragt sich immer noch, ob maschinelles Lernen in Echtzeit einen Wert hat.

Die Tatsache, dass die Berichterstattung über den Return on Investment ein guter Weg ist, um Aufmerksamkeit zu erregen, scheint Chip Huyen nicht entgangen zu sein. Huyen ist Autor und Informatiker und arbeitet an der Infrastruktur für maschinelles Lernen in Echtzeit. Sie ist diejenige, die die obige Einleitung zu ihren Erkenntnissen über maschinelles Lernen in Echtzeit geschrieben hat, um die wachsenden Erfahrungen, die sie und ihre Kollegen sammeln, herauszukristallisieren.

Huyen hat mit Unternehmen wie Netflix, Nvidia, Primer und Snorkel AI zusammengearbeitet, bevor sie ihr eigenes (Stealth-)Startup gründete. Sie ist Absolventin der Stanford University, wo sie auch Machine Learning Systems Design unterrichtet und 2019 und 2020 LinkedIn Top Voice war.

Mit anderen Worten, Huyen ist sehr gut positioniert, um über das zu berichten, was Tony Baer, ein weiterer ZDNet-Mitarbeiter, in seinem Data 2022 Outlook als "ein lange schwer fassbares Ziel für operative Systeme und Analysen" bezeichnete: die Vereinheitlichung von Daten in Bewegung (Streaming) mit ruhenden Daten (Daten, die in einer Datenbank oder einem Data Lake liegen). Das ultimative Ziel dabei wäre es, die Art von ROI zu erreichen, über die Huyen berichtet.

Vorhersagen für maschinelles Lernen und Systemaktualisierungen in Echtzeit

Die Analyse von Huyen bezieht sich auf Echtzeitmodelle und -systeme des maschinellen Lernens auf 2 Ebenen. Stufe 1 sind Online-Vorhersagen: ML-Systeme, die Vorhersagen in Echtzeit treffen, für die sie Echtzeit in der Größenordnung von Millisekunden bis Sekunden definiert. Stufe 2 ist kontinuierliches Lernen: ML-Systeme, die neue Daten einbeziehen und in Echtzeit aktualisieren, wofür sie Echtzeit in der Größenordnung von Minuten definiert.

Die Quintessenz, warum Level-1-Systeme wichtig sind, ist, wie Huyen es ausdrückt: "Egal, wie großartig Ihre ML-Modelle sind, wenn sie nur Millisekunden zu lange brauchen, um Vorhersagen zu treffen, werden die Benutzer auf etwas anderes klicken". Wie sie ausführt, besteht eine "Nicht-Lösung" für schnelle Vorhersagen darin, sie im Batch offline zu machen, sie zu speichern und bei Bedarf abzurufen.

Dies kann funktionieren, wenn der Eingaberaum endlich ist - Sie wissen genau, für wie viele mögliche Eingaben Vorhersagen getroffen werden müssen. Ein Beispiel ist, wenn Sie Filmempfehlungen für Ihre Benutzer generieren müssen - Sie wissen genau, wie viele Benutzer es gibt. Sie prognostizieren also regelmäßig eine Reihe von Empfehlungen für jeden Benutzer, z. B. alle paar Stunden.

Um den Eingaberaum für Benutzer zu begrenzen, lassen viele Anwendungen ihre Benutzer aus Kategorien auswählen, anstatt offene Abfragen einzugeben, bemerkt Huyen. Anschließend zeigt sie Beispiele dafür, wie dieser Ansatz zu Ergebnissen führen kann, die die Benutzererfahrung beeinträchtigen können, wie z. B. TripAdvisor und Netflix.

Obwohl dies eng mit der Benutzerbindung und -bindung verbunden ist, ist dies kein katastrophaler Fehler. Schlechte Ergebnisse könnten in anderen Bereichen katastrophal sein, z. B. bei der Betrugserkennung durch autonome Fahrzeuge. Der Wechsel von Batch-Vorhersagen zu Online-Vorhersagen ermöglicht die Verwendung dynamischer Funktionen, um relevantere Vorhersagen zu treffen.

ML-Systeme müssen aus zwei Komponenten bestehen, um dies tun zu können, merkt Huyen an. Sie brauchen schnelle Inferenz, also Modelle, die Vorhersagen in der Größenordnung von Millisekunden treffen können. Und sie brauchen auch Echtzeit-Pipelines, d. h. Pipelines, die Daten verarbeiten, in Modelle eingeben und in Echtzeit eine Vorhersage liefern können.

Um eine schnellere Inferenz zu erreichen, fügt Huyen hinzu, können Modelle schneller erstellt, sie können kleiner gemacht werden oder Hardware kann schneller hergestellt werden. Der Fokus auf Inferenz, TinyML und KI-Chips, den wir in dieser Kolumne behandelt haben, ist perfekt darauf abgestimmt, und natürlich schließen sich diese Ansätze auch nicht gegenseitig aus.

Huyen begann auch mit einer Analyse der Streaming-Fundamentaldaten und -Frameworks, über die in dieser Kolumne von Anfang an ebenfalls ausführlich berichtet wurde. Viele Unternehmen wechseln von der Batch-Verarbeitung zur Stream-Verarbeitung, von der anforderungsgesteuerten Architektur zur ereignisgesteuerten Architektur, und dies hängt mit der Popularität von Frameworks wie Apache Kafka und Apache Flink zusammen. In den USA ist dieser Wandel noch langsam, in China jedoch viel schneller, stellt Huyen fest.

Es gibt jedoch viele Gründe, warum Streaming nicht beliebter ist. Die Unternehmen sehen die Vorteile nicht; Es sind ein mentaler Wandel und hohe Anfangsinvestitionen in die Infrastruktur erforderlich, die Verarbeitungskosten sind höher und diese Frameworks sind nicht Python-nativ, trotz der Bemühungen, die Lücke über Apache Beam zu schließen.

Huyen bevorzugt den Begriff "kontinuierliches Lernen" anstelle von "Online-Training" oder "Online-Lernen"  für maschinelle Lernsysteme, die auf Modellen basieren, die in Echtzeit aktualisiert werden. Wenn Benutzer Online-Training oder Online-Lernen hören, denken sie, dass ein Modell aus jedem eingehenden Datenpunkt lernen muss.

Nur sehr wenige Unternehmen tun dies tatsächlich, da diese Methode unter katastrophalem Vergessen leidet - neuronale Netze vergessen abrupt zuvor gelernte Informationen, wenn sie neue Informationen lernen. Außerdem kann es teurer sein, einen Lernschritt für nur einen Datenpunkt auszuführen als für einen Batch.

Huyen führte die obige Analyse im Dezember 2020 durch. Im Januar 2022 griff sie das Thema erneut auf. Sie ist zwar der Meinung, dass wir noch einige Jahre von der allgemeinen Einführung des kontinuierlichen Lernens entfernt sind, aber sie sieht erhebliche Investitionen von Unternehmen, um sich in Richtung Online-Inferenz zu bewegen. Sie skizziert den evolutionären Fortschritt hin zu Online-Vorhersagen.

Auf dem Weg zur Online-Vorhersage

Stufe 1 ist die Batchvorhersage. In dieser Phase werden alle Vorhersagen im Batch vorberechnet und in einem bestimmten Intervall generiert, z. B. alle 4 Stunden oder jeden Tag. Typische Anwendungsfälle für die Batch-Vorhersage sind kollaboratives Filtern, inhaltsbasierte Empfehlungen. Beispiele für Unternehmen, die Batch-Vorhersagen verwenden, sind die Restaurantempfehlungen von DoorDash, die Subreddit-Empfehlungen von Reddit oder die Empfehlungen von Netflix aus dem Jahr 2021.

Huyen merkt an, dass Netflix derzeit seine Vorhersagen zum maschinellen Lernen online verlagert. Ein Grund dafür sei, dass es für Benutzer, die neu oder noch nicht angemeldet sind, keine vorab berechneten Empfehlungen gibt, die auf sie zugeschnitten sind. Wenn die nächste Reihe von Empfehlungen generiert wird, haben diese Besucher möglicherweise bereits den Versender verlassen, ohne einen Kauf getätigt zu haben, weil sie nichts Relevantes für sie gefunden haben.

Huyen führt die Vorherrschaft der Batch-Vorhersage auf ältere Batch-Systeme wie Hadoop zurück. Diese Systeme ermöglichten die periodische Verarbeitung großer Datenmengen sehr effizient, so dass Unternehmen, als sie mit maschinellem Lernen begannen, ihre bestehenden Batch-Systeme nutzten, um Vorhersagen zu treffen.

Stufe 2 ist die Onlinevorhersage mit Batch-Funktionen. Merkmale des maschinellen Lernens sind einzelne messbare Eigenschaften oder Merkmale eines Phänomens, die zur Erstellung eines Modells verwendet werden. Batch-Features sind Features, die aus Verlaufsdaten extrahiert wurden, häufig mit Batch-Verarbeitung, auch als statische Features oder historische Features bezeichnet.

Anstatt Vorhersagen zu generieren, bevor Anforderungen eintreffen, generieren Organisationen in dieser Phase Vorhersagen, nachdem Anforderungen eingetroffen sind. Sie erfassen die Aktivitäten der Benutzer in ihren Anwendungen in Echtzeit. Diese Ereignisse werden jedoch nur verwendet, um nach vorab berechneten Einbettungen zu suchen, um Sitzungseinbettungen zu generieren.

Huyen bezieht sich hier auf Einbettungen im Bereich des maschinellen Lernens. Einbettungen können als eine Möglichkeit zur Darstellung von Vektoren betrachtet werden, mit denen Modelle des maschinellen Lernens arbeiten, um Informationen darzustellen, die sich auf die reale Welt beziehen.

Das Wichtigste, was Sie bei Stufe-2-Systemen beachten sollten, ist, dass sie eingehende Daten aus Benutzeraktionen verwenden, um Informationen in vorberechneten Einbettungen nachzuschlagen. Die Machine Learning-Modelle selbst werden nicht aktualisiert. Es ist nur so, dass sie Ergebnisse in Echtzeit liefern.

Architektur eines Online-Vorhersagesystems für maschinelles Lernen

Das Ziel von sitzungsbasierten Vorhersagen ist es laut Huyen, die Konversion (z. B. Umwandlung von Erstbesuchern in neue Nutzer oder Klickraten) und die Kundenbindung zu erhöhen. Die Liste der Unternehmen, die bereits Online-Inferenz betreiben oder Online-Inferenz auf ihren Roadmaps für 2022 haben, wächst, darunter Netflix, YouTube, Roblox, Coveo usw.

Huyen merkt an, dass jedes einzelne Unternehmen, das zu einer Online-Inferenz übergegangen ist und mit ihr gesprochen hat, ihr gesagt hat, dass sie mit ihren Metrikergebnissen sehr zufrieden sind. Sie geht davon aus, dass in den nächsten zwei Jahren die meisten Empfehlungssysteme sitzungsbasiert sein werden: Jeder Klick, jede Ansicht, jede Transaktion wird genutzt, um neue, relevante Empfehlungen nahezu in Echtzeit zu generieren.

Organisationen müssen ihre Modelle für diese Phase von Batch-Vorhersagen auf sitzungsbasierte Vorhersagen aktualisieren. Das bedeutet, dass sie möglicherweise neue Modelle hinzufügen müssen. Unternehmen müssen auch Sitzungsdaten in ihren Vorhersagedienst integrieren. Dies kann in der Regel mit einer Streaming-Infrastruktur erfolgen, die aus zwei Komponenten besteht, schreibt Huyen.

Der erste Teil ist ein Streaming-Transport, wie z.B. Kafka, AWS Kinesis oder GCP Dataflow, um Streaming-Daten (Aktivitäten der Nutzer) zu verschieben. Der zweite Teil ist eine Streaming-Berechnungs-Engine, z. B. Flink SQL, KSQL oder Spark Streaming, um Streaming-Daten zu verarbeiten.

Viele Menschen glauben, dass die Onlinevorhersage sowohl in Bezug auf die Kosten als auch auf die Leistung weniger effizient ist als die Batchvorhersage, da die Verarbeitung von Vorhersagen im Batch effizienter ist als die Verarbeitung von Vorhersagen einzeln. Huyen glaubt, dass dies nicht unbedingt wahr ist.

Ein Grund dafür ist, dass es nicht notwendig ist, Vorhersagen für Benutzer zu erstellen, die keine Website mit Online-Vorhersagen besuchen. Wenn sich nur 2 % der gesamten Benutzer täglich anmelden und jeden Tag Vorhersagen für jeden Benutzer generiert werden, wird die Berechnung, die zur Generierung von 98 % dieser Vorhersagen verwendet wird, verschwendet. Die Herausforderungen dieser Phase liegen in der Inferenzlatenz, der Einrichtung der Streaminginfrastruktur und der Bereitstellung hochwertiger Einbettungen.

Online-Vorhersage mit komplexen Streaming- und Batch-Funktionen

Stufe 3 in der Evolutionsskala von Huyen ist eine Online-Vorhersage mit komplexen Streaming- und Batch-Funktionen. Streamingfeatures sind Features, die aus Streamingdaten extrahiert werden, häufig mit Streamverarbeitung, auch als dynamische Features oder Onlinefeatures bezeichnet.

Wenn Unternehmen in Phase 2 eine gewisse Stream-Verarbeitung benötigen, verwenden Unternehmen in Phase 3 viel mehr Streaming-Funktionen. Wenn ein Benutzer beispielsweise eine Bestellung in Doordash aufgegeben hat, benötigt er möglicherweise sowohl Batch-Funktionen als auch Streaming-Funktionen, um die Lieferzeit zu schätzen.

Batch-Funktionen können die durchschnittliche Vorbereitungszeit dieses Restaurants in der Vergangenheit umfassen, während Streaming-Funktionen zu diesem Zeitpunkt enthalten können, wie viele andere Bestellungen sie haben und wie viele Zusteller verfügbar sind.

Im Fall der sitzungsbasierten Empfehlung, die in Phase 2 erläutert wurde, können Stream-Funktionen wie die Zeit, die der Benutzer auf der Website verbracht hat, oder die Anzahl der Käufe, die ein Artikel in den letzten 24 Stunden getätigt hat, verwendet werden, anstatt nur Elementeinbettungen zum Erstellen von Sitzungseinbettungen zu verwenden.

Beispiele für Unternehmen in dieser Phase sind Stripe, Uber und Faire für Anwendungsfälle wie Betrugserkennung, Kreditbewertung, Schätzung für Fahren und Lieferung sowie Empfehlungen.

Die Anzahl der Wasserlauf-Features für jede Vorhersage kann in die Hunderte, wenn nicht sogar in die Tausende gehen. Die Logik zur Extraktion von Stream-Features kann komplexe Abfragen mit Verknüpfung und Aggregation entlang verschiedener Dimensionen erfordern. Um diese Features zu extrahieren, sind effiziente Stream-Processing-Engines erforderlich.

Laut Huyen gibt es einige wichtige Anforderungen, um Workflows für maschinelles Lernen in dieses Stadium zu bringen. Die erste ist eine ausgereifte Streaming-Infrastruktur mit einer effizienten Stream-Processing-Engine, die alle Streaming-Funktionen mit akzeptabler Latenz berechnen kann. Der zweite ist ein Feature-Store zum Verwalten materialisierter Features und zum Sicherstellen der Konsistenz von Stream-Features während des Trainings und der Vorhersage.

Der dritte ist ein Model-Store. Ein Wasserlauf-Feature muss nach der Erstellung validiert werden. Um sicherzustellen, dass eine neue Funktion tatsächlich zur Leistung Ihres Modells beiträgt, sollten Sie sie zu einem Modell hinzufügen, wodurch ein neues Modell effizient erstellt wird, sagt Huyen. Im Idealfall sollte ein Model-Store bei der Verwaltung und Bewertung von Modellen helfen, die mit neuen Streaming-Funktionen erstellt wurden, aber Model-Stores, die auch Modelle bewerten, gibt es noch nicht, merkt sie an.

Zu guter Letzt eine bessere Entwicklungsumgebung. Data Scientists arbeiten derzeit mit Verlaufsdaten, selbst wenn sie Streamingfunktionen erstellen, was es schwierig macht, neue Streamingfunktionen zu entwickeln und zu validieren.

Was wäre, wenn wir Datenwissenschaftlern direkten Zugriff auf Datenströme geben könnten, damit sie schnell experimentieren und neue Stream-Funktionen validieren können, fragt Huyen. Anstatt dass Data Scientists nur Zugriff auf historische Daten haben, was wäre, wenn sie auch auf eingehende Datenströme von ihren Notebooks zugreifen könnten?

Das scheint heute tatsächlich möglich zu sein, zum Beispiel mit Flink- und Kafka-Notebook-Integrationen. Obwohl wir nicht sicher sind, ob diese dem entsprechen, was Huyen sich vorstellt, ist es wichtig, hier das große Ganze zu sehen.

Es ist ein kompliziertes Thema, und Huyen skizziert einen Weg, der auf ihrer Erfahrung mit einigen der technologisch fortschrittlichsten Unternehmen basiert. Und wir haben noch nicht einmal Level 2 berührt - maschinelle Lernsysteme, die neue Daten einbeziehen und in Echtzeit aktualisieren.

Um jedoch den Kreis zu schließen, wenn man sich an Huyens Erfahrung orientiert, könnten die Gewinne die Investition durchaus rechtfertigen. 

Verwandte Artikel