ML für alle: Eine Einführung in die ML-Plattform von Nordstrom

(Ariana Bray) (17. April 2020)

Unsere Strategie zur Ermöglichung des maschinellen Selbstbedienungslernens im Maßstab

Foto von Pietro Jeng auf Unsplash

Von der Verwaltung der Logistik in der Lieferkette bis hin zur Erstellung kuratierter Looks (Empfehlungen für digitales Styling) für Millionen von Kunden) nutzen immer mehr Teams bei Nordstrom das Power of Machine Learning (ML), um das Kundenerlebnis weiter zu verbessern. Von der Auswahl einer Datenquelle bis zur Auswahl einer Programmiersprache macht es jeder anders. Woher kommt das Team der Nordstrom Machine Machine Platform? Einführung von Cerebro , einer Plattform für maschinelles Lernen für alle. In diesem Artikel werden wir unsere Vision für Cerebro, die Notwendigkeit einer Plattform für maschinelles Lernen und die Probleme diskutieren, die wir bei der Entwicklung von Cerebro angesprochen haben.

Unsere Vision

Unsere Vision für Cerebro sollte eine Plattform schaffen, mit der Datenwissenschaftler, Analysten und andere ML-Entwickler skalierbare ML-Lösungen entwickeln können, die direkte Auswirkungen auf das Geschäft haben. Mit anderen Worten, unsere Mission ist es, Self-Service-Maschinelles Lernen in großem Maßstab zu ermöglichen. Cerebro möchte Benutzern eine einheitliche Reihe von Tools zur Verfügung stellen, mit denen sie ihre ML-Lösungen schnell entwickeln und sicher bereitstellen können.

Zusammenfassend besteht der Hauptzweck von Cerebro darin, eine einfache Möglichkeit zu bieten Verwalten des Lebenszyklus eines Modells. Cerebro wirkt sich direkt auf ganz Nordstrom aus, indem Modelle nicht nur schneller in die Produktion gebracht werden können, sondern auch anderen Teams ermöglicht wird, das Cerebro SDK zu verwenden, um ihre Dienste durch unsere ML-Lösungen zu ersetzen. Cerebro wurde bereits von mehreren Teams innerhalb von Nordstrom für ihre Projekte eingesetzt. Unsere Plattform wurde verwendet, um interne Tools wie die Modellprognose zu unterstützen. Wir halten die folgenden Richtlinien bei unseren Entwurfsentscheidungen im Vordergrund:

Wir erreichen diese Ziele durch die Verwendung von Automatisierungen, um eine komfortable Benutzererfahrung zu schaffen.

Automatisierungen für eine komfortable Benutzererfahrung

The Need

Nordstrom-Datenwissenschaftler haben lange nach neuen Lösungsmöglichkeiten gesucht Diese Frage lautet: Wie wird ein End-to-End-Workflow für maschinelles Lernen in Produktionsqualität aktiviert? .

Der Workflow muss auch die vielen Aspekte des maschinellen Lernens berücksichtigen.

Das Einbetten von Dateningenieuren in jedes Team, um einmalige Lösungen für diese Anforderungen zu erstellen, ist einfach nicht kosteneffektiv Möglichkeit. Es würde inakzeptabel viel Zeit in Anspruch nehmen, diesen Data-Science-Teams die Verwaltung des gesamten Lebenszyklus des maschinellen Lernens (von der Datenerfassung bis zur Modellbereitstellung) zu ermöglichen, was die gesamte Organisation verlangsamt. Kurz gesagt, wir brauchten einen Weg, um vom maschinellen Lernen zu abstrahieren.

Die Möglichkeiten

Es gibt weithin bekannte Probleme , die mit der Bereitstellung eines Modells für die Produktion verbunden sind. Zusätzlich zu diesen Problemen muss das ML Platform-Team auch Nordstrom-spezifische Probleme angehen:

  • Viele Modelle, viele Standards : Nordstrom verwendet Metriken und Protokollierungslösungen für Unternehmen – aber wie effektiv sind sie ohne einen Ansprechpartner für die Ergebnisse dieser Metriken und Protokolle? Wer ist für die Aufrechterhaltung des Zustands des Dienstes und des Load Balancers verantwortlich? Welche Metriken sollten überwacht werden?
  • Skala : Data Science-Anwendungsfälle sind auf a beschränkt einzelne, eigenständige Recheninstanz. Aufgrund des Fehlens einer ML-Plattform für Unternehmen wird verteiltes Rechnen nicht genutzt.
  • Workflow : In Ermangelung von ML-Workflows müssen die Entwicklungsteams von Nordstrom häufig erhebliche Anpassungen an einem von Data Science geleiteten Projekt vornehmen, um es produktionsbereit zu machen.
  • Neue Tools lernen: Da es keine Abstraktion zwischen ML und Engineering gibt, müssen diejenigen, die an ML-Projekten arbeiten, neue Tools und Technologien lernen. Dieser Aufwand ist zeitaufwändig, erfordert technische Unterstützung und verzögert den Zeitplan für die Erstellung eines produktionsbereiten Modells.

Warum nicht einfach eine vorhandene Plattform verwenden?

Es gibt viele Lücken in bestehenden ML SaaS-Angeboten:

  • Kein zentraler Feature-Store
  • Keine Unterstützung für alle Modelle und Sprachen
  • Software-spezifische Modelle
  • Keine Modellverfolgung; nein Code → Feature → Modell Abstammung
  • Framework-spezifische, generalisierte Hyperparameter-Optimierung
  • Integrationsprobleme mit vorhandener Infrastruktur
  • Kostspielige Abonnementmodelle

Wir haben beschlossen, eine Plattform zu erstellen, die Datenwissenschaftlern das bietet, was sie benötigen und Füllungen Viele der Lücken, die andere ML-Plattformlösungen hinterlassen haben.

Warum wir Cerebro bauen

Cerebro ist eine Plattform, die maschinelles Lernen demokratisiert. Im Kern stärkt Cerebro die Partnerschaft und schließt die Lücke zwischen Data Science und Engineering.

Cerebro bietet Benutzern eine Reihe von Vorteilen, von denen einige im Folgenden hervorgehoben werden:

* Self-Service – Die Abhängigkeit des Benutzers von einem separaten Engineering-Team wird verringert.

* Konsistent – Unser Ansatz entspricht den vorhandenen ML-Workflows, die von der Data Science-Community verwendet werden.

* Weniger neue Technologien – Die Notwendigkeit für einen Benutzer, neue Technologien zu erlernen, wird auf das absolute Minimum reduziert, da wir Abstraktion über unsere Schnittstellen bereitstellen.

* Einfach zu bedienen – Cerebro verlangsamt den Prozess von Produktion von Modellen.

Anstatt mehr Ingenieure einzustellen, um ständig wachsende Anwendungsfälle für Data Science zu unterstützen haben wir eine Plattform erstellt, die skaliert werden kann, um diese Anwendungsfälle zu ermöglichen. Anstatt softwaregesteuerte Entscheidungen von Drittanbietern zu treffen, möchten wir benutzerdefinierte algorithmische Entscheidungen treffen.

Vorteile der Verwendung von Cerebro

Kommen Sie wie Sie sind: Abstraktionen für einen standardisierten Workflow

Unser Team wollte keinen präskriptiven Ansatz verfolgen und jedes Team auffordern, dieselben Tools und Technologien zu verwenden. Stattdessen haben wir Abstraktionen entwickelt, die dazu beitragen, einen standardisierten Workflow zu erstellen – die Ruhe über dem Sturm. Benutzer haben verschiedene Möglichkeiten, ihre Projekte zu erstellen, zu entwickeln und bereitzustellen.

Keine proprietäre Technologie

Wir führen keine Technologie ein, die Eigentum eines Unternehmens oder einer Organisation ist. Daher fallen keine Lizenzkosten an.

Nein Neu Erforderliche Computerinfrastruktur

Wir nutzen die bereits bei Nordstrom eingerichteten Computerplattformen und richten keine neuen ein.

Wählen Sie Ihre eigene Datenquelle

Anstatt jedes Team zu bitten, eine bestimmte Datenquelle zu verwenden, können Benutzer mit Cerebro sicher eine Verbindung zu mehreren der beliebtesten Datenbanken und Data Warehouses herstellen. Mit zunehmender Reife der Plattform werden wir Verbindungen zu noch mehr Datenquellen ermöglichen.

Cloud Provider-Agnostic

Während Cerebro einige Abhängigkeiten von bestimmten Cloud-Anbietern aufweist, bauen wir auf eine vollständige Cloud-unabhängige Lösung, die problemlos erweitert werden kann, um mehrere Cloud-Angebote zu unterstützen.

Keine Einschränkungen für unterstützte Modellschulungs-Frameworks

Cerebro unterstützt die meisten gängigen ML-Frameworks sofort. Jedes Framework, das ein Datenwissenschaftler verwenden möchte, kann mit minimalen bis keinen Änderungen unterstützt werden.

Abstammung zwischen Code, Daten und Modell

Mit wertvollen Metadaten, die bei jedem Schritt verfügbar sind, bietet Cerebro eine Möglichkeit, den -Code geschrieben → die Daten verwendet → und die generierten model . Benutzer können Informationen darüber erhalten, wie das Modell bereitgestellt wird, und auch die Messung der Modellleistung / -wirksamkeit aktivieren.

Testen und Qualitätskontrolle

Mit Cerebro können Sie Logik im Rahmen des kontinuierlichen Integrationsprozesses problemlos nahtlos testen. Die Qualität der Daten wird bei jedem Schritt bestätigt.

One-Stop-Shop

Cerebro kann alles erledigen. Benutzer können:

  • ein maschinelles Lernprojekt mit einem eigenen Gitlab-Repository erstellen
  • lokale Entwicklung durchführen
  • Modelle offline und online bereitstellen
  • Das Projekt mit Kubernetes oder Apache Spark auf Kubernetes orchestrieren

  • Projekt-Pipelines mit Open-Source-Software für Unternehmen verwalten

Eine Geschichte von zwei Benutzern

Wenn sich ein Benutzer nicht für die Abstraktionen interessiert, muss er sie nicht verwenden. Die überwiegende Mehrheit der Benutzer verwendet jedoch gerne unsere Abstraktionen, um ihre Projekte abzuschließen.

Während das Team der Machine Learning Platform weiterhin Cerebro aufbaut, dienen die Prinzipien, an die wir uns halten, als wichtige Erinnerungen an unser Endziel.

Unsere Prinzipien

  • Modularität : Cerebro ist viel mehr als nur ein Endpunkt, an dem Datenwissenschaftler Modelle übergeben Wir haben ein SDK entwickelt und mehrere Präsentationsprojekte, damit Datenwissenschaftler den besten Anwendungsfall für ihre Projekte sehen können. Durch die Durchsetzung von Best Practices in unserem SDK können unsere Benutzer unabhängig unsere Plattform mit minimaler Hilfe des MLP-Teams nutzen und das Vertrauen haben dass die Tools, die sie in jeder Phase des Modelllebenszyklus verwenden, die richtigen sind.
  • Offene Kommunikation : Es macht keinen Sinn, etwas zu erstellen, wenn niemand es verwendet. Zu diesem Zweck hat unser Team zweimal wöchentlich Bürozeiten, in denen jeder vorbeischauen kann, um detailliertere Fragen zu beantworten, die nicht per Messaging gelöst werden können. Darüber hinaus hält das Team zweiwöchentliche Treffen mit Data-Science-Teams ab, um deren Bedürfnisse zu verstehen und Kursabweichungen zu vermeiden. Da wir alle zwei Monate neue Funktionen bereitstellen, ist diese ständige Kommunikation von entscheidender Bedeutung.
  • Hohe Akzeptanz : Wir arbeiten an der Integration unseres SDK in weit verbreitete Nordstrom-Tools wie NordyPy , um eine komfortable Benutzererfahrung zu ermöglichen. Während sich die Plattform entwickelt, wird die Eintrittsbarriere immer niedriger. Auf diese Weise können Verbraucher der Plattform aus Nordstrom kommen – nicht nur aus den Bereichen Datenwissenschaft und -technik .

Wie geht es weiter?

In Zukunft In Artikeln werden wir die Zukunft von Cerebro, die kommenden Funktionen und das Open-Source-Potenzial der Plattform diskutieren.

Wir möchten uns bei Nate Lee bedanken – einem weiteren ML Platform-Ingenieur, der diesen Artikel mitgeschrieben hat – sowie Rizky Ramdhani, Xingtai Li und Owais Malik, Mitglieder des ML Platform-Teams, die wertvolles Feedback gegeben haben.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.