HBase
 sql >> Datenbank >  >> NoSQL >> HBase

So stellen Sie ML-Modelle in der Produktion bereit

Derzeit experimentieren viele Unternehmen, darunter viele Cloudera-Kunden, mit maschinellem Lernen (ML) und erstellen Modelle, um eine Vielzahl von Herausforderungen zu bewältigen. Während heute viele Modelle für Dashboards und interne BI-Zwecke verwendet werden, hat eine kleine und schnell wachsende Gruppe von Unternehmensleitern begonnen, das Potenzial von ML für die Geschäftsautomatisierung, Optimierung und Produktinnovation zu erkennen. In diesem Blog-Beitrag werden wir uns mit letzterem befassen – insbesondere, wie Geschäftsbereiche ihre Data Scientists neu ausrichten, um mit Anwendungsingenieuren und anderen Interessengruppen zusammenzuarbeiten, um Geschäftsprobleme in Echtzeit zu lösen. Diese Anwendungsfälle variieren je nach Branche und Geschäftskritikalität und nehmen an Breite und Tiefe zu, da Unternehmen erkennen, wie viel mit den ihnen zur Verfügung stehenden Daten gemacht werden kann.

Beispiele für diese Anwendungsfälle sind:

  • Cerner, ein führendes Unternehmen im Gesundheitswesen, verwendet Sensordaten von Patienten, um Sepsis mithilfe von Modellen des maschinellen Lernens zu identifizieren, und benachrichtigt Ärzte proaktiv, damit sie diese Krankheit innerhalb von 6 Stunden weiter diagnostizieren und behandeln können ist behandelbar
  • Finanzdienstleistungen Unternehmen nutzen maschinelles Lernen, um betrügerische Transaktionen in Echtzeit zu erkennen, und nutzen Echtzeit-Feedback von Kunden, um Reinforcement Learning durchzuführen 
  • Eisenbahnunternehmen Lassen Sie Langstrecken-Güterzüge spezielle Stationen passieren, wo sie Tausende von hochauflösenden Bildern aufnehmen und maschinelles Lernen anwenden, um fehlerhafte Teile zu identifizieren. Dann planen sie den Zug so ein, dass er zusammen mit Teilen und Technikern in einer Reparaturwerkstatt ankommt – was den Stopp einem Formel-1-Boxenstopp gleicht
  • Dienstprogramme verwenden Smart-Meter-Daten, um potenzielle Probleme im elektrischen Verteilungsnetz zu identifizieren und proaktiv Wartungsarbeiten zu planen
  • Medienunternehmen verwenden maschinelles Lernen, um relevante Inhalte basierend auf dem, was Sie sich ansehen, in Echtzeit zu identifizieren und bereitzustellen
  • Werbetechnologie- und E-Commerce-Unternehmen nutzen diese Möglichkeiten am längsten, um die Relevanz ihrer Angebote für verschiedene Zielgruppen sicherzustellen

Sobald ein Problem identifiziert und die Entscheidung getroffen wurde, in eine Geschäftslösung zu investieren, untersuchen Data Scientists die Daten mit verschiedenen ML-Tools, um die Algorithmen zu erstellen, und arbeiten mit Softwareentwicklern zusammen, um Anwendungen zu entwickeln, die diese Algorithmen nutzen können.

Je nach Bedarf können sich die Daten in ihrem Data Warehouse oder in ihren Betriebsdatenbanken befinden. Viele Kunden von Cloudera werden Spark &​​SparkMLlib innerhalb von Cloudera Machine Learning (CML) verwenden, um ihre Algorithmen zu trainieren. Die Verwendung von CML ermöglicht nahtlose Workflows für die Operationalisierung von Modellen in einer einzigen, sicheren und kontrollierten Plattform, die für schnellere ML-Workflows entwickelt wurde. Um mehr über unseren Ansatz zur Entwicklung von Produktionsworkflows in CML zu erfahren, besuchen Sie dieses Webinar.

Trainingsalgorithmen können in der Betriebsdatenbank durchgeführt werden 

Einer der Hauptgründe für die Verwendung eines Data Warehouse zum Trainieren von Algorithmen besteht darin, das Hinzufügen von Last zu einer vorhandenen Betriebsdatenbank und damit die Beeinträchtigung der SLAs des Betriebs-Workloads zu vermeiden. Im Fall der Operational Database (OpDB) von Cloudera können Benutzer jedoch Kontingente und Grenzen für die Menge an Ressourcen und die Last festlegen, die Benutzer des maschinellen Lernens dem System auferlegen können. Dies schützt betriebliche Workloads und ermöglicht es Data Scientists, Echtzeitdaten zu verwenden, ohne dass die Kosten für die Erstellung einer zweiten Kopie anfallen.

Bei der Verwendung von OpDB von Cloudera verwenden Kunden häufig Spark, um Daten innerhalb der Betriebsdatenbank abzufragen, wodurch die Notwendigkeit entfällt, Daten vor der Untersuchung auszulagern und sie für Schulungen zum Zwecke des maschinellen Lernens zu verwenden.

ML-Algorithmen müssen die Anforderungen an Verfügbarkeit, Belastbarkeit und Reaktionsfähigkeit auf Anwendungsebene erfüllen 

Die Entwicklung und das Training des ML-basierten Algorithmus erfolgt typischerweise in Verbindung mit der Entwicklung der Anwendung (unter der Annahme, dass die Tatsache, dass dies machbar ist, bereits festgestellt wurde). Zu den typischen Anwendungsanforderungen für eine zugrunde liegende Datenbank gehören häufig:

  • Antwortzeit unter 1 ms
  • Kontinuierliche Verfügbarkeit angesichts von Hardwareausfällen (oder Hochverfügbarkeit, aber Hochverfügbarkeit wird weniger bevorzugt)
  • Möglichkeit zur horizontalen Skalierung
  • Hohe Gleichzeitigkeit (1.000 Anfragen/Sekunde)

Bei der Bereitstellung von maschinellem Lernen als Teil einer Anwendung müssen die Anwendungsanforderungen an Verfügbarkeit, Ausfallsicherheit und Reaktionsfähigkeit erfüllt werden. Darüber hinaus gelten für die Anwendung mehrere zusätzliche spezifische Anforderungen für maschinelles Lernen:

  • Fähigkeit, Entscheidungen zu prüfen
  • Fähigkeit zur Versionierung von Modellen/Algorithmen
  • Fähigkeit zur Unterstützung der Datenerweiterung für kontinuierliches Lernen (je nach eingesetztem Algorithmus)

Die Betriebsdatenbank von Cloudera kann beide Anforderungen erfüllen 

Um diese Anforderungen zu erfüllen, glätten Kunden die Ausgabe des maschinellen Lernmodells in der Regel in einer Tabelle, indem sie im Wesentlichen alle Ausgaben für den gesamten Eingabebereich vorberechnen. Dadurch entstehen zusätzliche Anforderungen an die zugrunde liegende Datenbank:

  • Fähigkeit, eine Tabelle zu erstellen, die Hunderte von Gigabyte oder Terabyte groß ist (je nach Größe und Anzahl der Eingabeparameter)
  • Einfache Verwaltung (zwingen Sie Administratoren nicht, Sharding usw. zu verwalten)

Aus Sicht der betrieblichen Datenbank von Cloudera lässt sich ein maschinelles Lernmodell leicht als Tabelle darstellen (und dies ist der Ansatz, den viele Kunden gewählt haben):

  • Der Primärschlüssel besteht aus den Eingaben, die zur Identifizierung der Ausgabe erforderlich sind (unabhängig von der Anzahl der erforderlichen Eingaben)
  • Spalte:Modellempfehlung für maschinelles Lernen (die Ausgabe)
  • Spalte:Modellversion

Eine Audit-Fähigkeit sieht auch wie eine Tabelle aus:

  • Der Primärschlüssel besteht aus den Eingaben, die zur Identifizierung der Ausgabe erforderlich sind (unabhängig von der Anzahl der erforderlichen Eingaben)
  • Spalte:An wen haben Sie diese Ausgabe geliefert (z. B. Kunden-ID)
  • Spalte:welche Ausgabe geliefert wurde
  • Spalte:welche Modellversion verwendet wurde
  • Spalte:Welche alternative Antwort wäre besser gewesen (Ergänzung)

Die Erweiterung kann manuell oder programmgesteuert erfolgen (d. h. wenn ein Kreditkartenunternehmen Sie per E-Mail um die Bestätigung einer Transaktion bittet – es führt eine Datenerweiterung durch). Diese erweiterte Audit-Tabelle kann direkt in der Datenbank für Reinforcement Learning verwendet oder in ein Data Warehouse ausgelagert werden.

Da sich die Daten in der Datenbank befinden, können Modellaktualisierungen ohne Ausfallzeiten der Anwendung durchgeführt werden.

Aus Sicht der Skalierung basiert die Betriebsdatenbank von Cloudera auf Apache HBase und Apache Phoenix – beide können nachweislich problemlos Tabellen mit einer Größe von Hunderten von Terabyte verarbeiten.

Schauen Sie sich die Betriebsdatenbank von Cloudera innerhalb der Cloudera-Datenplattform in der Public Cloud an, um Ihre nächste ML-basierte Anwendung zu erstellen.