Generative Datenintelligenz

Wie Meesho mithilfe der Amazon SageMaker-Inferenz einen allgemeinen Feed-Rangierer erstellt hat | Amazon Web Services

Datum:

Dies ist ein Gastbeitrag, der gemeinsam von Rama Badrinath, Divay Jindal und Utkarsh Agrawal bei Meesho verfasst wurde.


Meesho ist Indiens am schnellsten wachsendes E-Commerce-Unternehmen mit der Mission, den Internethandel für jedermann zu demokratisieren und ihn der nächsten Milliarde Nutzer in Indien zugänglich zu machen. Meesho wurde 2015 gegründet und konzentriert sich heute auf Käufer und Verkäufer in ganz Indien. Der Meesho-Marktplatz bietet Kleinst-, Klein- und Mittelunternehmen sowie Einzelunternehmern Zugang zu Millionen von Kunden, eine Auswahl aus über 30 Kategorien und mehr als 900 Unterkategorien, pan-indische Logistik, Zahlungsdienste und Kundensupportfunktionen für eine effiziente Abwicklung ihrer Geschäfte Unternehmen im Meesho-Ökosystem.

Als E-Commerce-Plattform zielt Meesho darauf ab, das Benutzererlebnis durch personalisierte und relevante Produktempfehlungen zu verbessern. Wir wollten einen allgemeinen Feed-Ranker erstellen, der individuelle Vorlieben und historisches Verhalten berücksichtigt, um Produkte effektiv im Feed jedes Benutzers anzuzeigen. Dadurch wollten wir das Nutzerengagement, die Konversionsraten und das allgemeine Geschäftswachstum steigern, indem wir das Einkaufserlebnis an die individuellen Anforderungen jedes Kunden anpassen und ihm das beste Preis-Leistungs-Verhältnis bieten.

Wir haben AWS-Dienste für maschinelles Lernen (ML) wie verwendet Amazon Sage Maker um einen leistungsstarken Generalized Feed Ranking (GFR) zu entwickeln. In diesem Beitrag besprechen wir die Schlüsselkomponenten des GFR und wie diese ML-gesteuerte Lösung den ML-Lebenszyklus optimiert und ein effizientes Infrastrukturmanagement, Skalierbarkeit und Zuverlässigkeit innerhalb des Ökosystems gewährleistet.

Lösungsüberblick

Um die Feeds der Benutzer zu personalisieren, haben wir umfangreiche historische Daten analysiert und Einblicke in Funktionen gewonnen, die Browsing-Muster und Interessen umfassen. Diese wertvollen Funktionen werden zur Erstellung von Ranking-Modellen verwendet. Der GFR personalisiert den Feed jedes Benutzers in Echtzeit und berücksichtigt dabei verschiedene Faktoren wie Geografie, früheres Einkaufsverhalten, Akquisekanäle und mehr. Mehrere interaktionsbasierte Funktionen werden auch verwendet, um die Affinität des Benutzers zu einem Artikel, einer Artikelkategorie oder Artikeleigenschaften wie Preis, Bewertung oder Rabatt zu erfassen.

Es werden auch mehrere benutzerunabhängige Funktionen und Bewertungen auf Artikelebene verwendet. Dazu gehören ein Artikel-Beliebtheits-Score und ein Artikel-Kaufneigungs-Score. Alle diese Funktionen fließen als Eingabe in das Learning to Rank (LTR)-Modell ein, das versucht, die Klickwahrscheinlichkeit (PCTR) und die Kaufwahrscheinlichkeit (PCVR) zu ermitteln.

Für vielfältige und relevante Empfehlungen bezieht das GFR Kandidatenprodukte aus mehreren Kanälen, darunter Exploit (bekannte Benutzerpräferenzen), Explore (neuartige und potenziell interessante Produkte), Popularity (Trendartikel) und Recent (neueste Ergänzungen).

Das folgende Diagramm veranschaulicht die GFR-Architektur.

Die Architektur kann in zwei verschiedene Komponenten unterteilt werden: Modelltraining und Modellbereitstellung. In den folgenden Abschnitten gehen wir näher auf die einzelnen Komponenten und die verwendeten AWS-Dienste ein.

Modelltraining

Meesho verwendet Amazon EMR mit Apache Spark, um je nach Komplexität des Modells Hunderte Millionen Datenpunkte zu verarbeiten. Eine der größten Herausforderungen bestand darin, verteilte Schulungen in großem Maßstab durchzuführen. Wir haben Dask – ein verteiltes Data-Science-Computing-Framework, das sich nativ in Python-Bibliotheken integrieren lässt – auf Amazon EMR verwendet, um die Trainingsjobs im gesamten Cluster zu skalieren. Das verteilte Training des Modells trug dazu bei, die Schulungszeit von Tagen auf Stunden zu verkürzen und ermöglichte uns, Spark-Jobs effizient und kostengünstig zu planen. Wir haben einen Offline-Feature-Store verwendet, um eine historische Aufzeichnung aller Feature-Werte zu führen, die für das Modelltraining verwendet werden. Modellartefakte aus dem Training werden in gespeichert Amazon Simple Storage-Service (Amazon S3) und bietet bequemen Zugriff und Versionsverwaltung.

Wir haben eine Zeitstichprobenstrategie verwendet, um Trainings-, Validierungs- und Testdatensätze für das Modelltraining zu erstellen. Wir haben verschiedene Metriken verfolgt, um die Leistung des Modells zu bewerten – die wichtigsten sind die Fläche unter der ROC-Kurve und die Fläche unter der Präzisionsrückrufkurve. Wir haben auch die Kalibrierung des Modells verfolgt, um Über- und Untervertrauensprobleme zu vermeiden und gleichzeitig die Wahrscheinlichkeitswerte vorherzusagen.

Modellbereitstellung

Meesho verwendete SageMaker-Inferenzendpunkte mit aktivierter automatischer Skalierung für die Bereitstellung des trainierten Modells. SageMaker bot eine einfache Bereitstellung mit Unterstützung für verschiedene ML-Frameworks, sodass Modelle mit geringer Latenz bereitgestellt werden konnten. Obwohl AWS Standard-Inferenzbilder anbietet, die für die meisten Anwendungsfälle geeignet sind, haben wir ein benutzerdefiniertes Inferenzbild erstellt, das speziell auf unsere Bedürfnisse zugeschnitten ist, und es weitergegeben Amazon Elastic Container-Registrierung (Amazon-ECR).

Wir haben eine interne A/B-Testplattform aufgebaut, die die Live-Überwachung von A/B-Kennzahlen ermöglicht und es uns ermöglicht, zeitnah datengesteuerte Entscheidungen zu treffen. Wir haben auch das verwendet A / B-Tests Funktion von SageMaker zur Bereitstellung mehrerer Produktionsvarianten auf einem Endpunkt. Durch A/B-Experimente beobachteten wir eine Steigerung der Konversionsrate der Plattform um etwa 3.5 % und einen Anstieg der App-Öffnungshäufigkeit der Nutzer, was die Wirksamkeit dieses Ansatzes unterstreicht.

Wir haben nach der Modellbereitstellung mehrmals täglich verschiedene Drifts wie Feature-Drift und vorherige Drift verfolgt, um eine Verschlechterung der Modellleistung zu verhindern.

Wir verwendeten AWS Lambda um verschiedene Automatisierungen und Auslöser einzurichten, die während der Neuschulung von Modellen, Endpunktaktualisierungen und Überwachungsprozessen erforderlich sind.

Der Empfehlungsworkflow nach der Modellbereitstellung funktioniert wie folgt (wie im Lösungsarchitekturdiagramm angegeben):

  1. Die Eingabeanfragen mit Benutzerkontext- und Interaktionsfunktionen werden auf der Anwendungsebene von Meeshos Mobil- und Web-App empfangen.
  2. Die Anwendungsschicht ruft zusätzliche Funktionen wie historische Daten des Benutzers aus dem Online-Feature-Store ab und hängt diese an die Eingabeanforderungen an.
  3. Die angehängten Funktionen werden zur Generierung von Empfehlungen an die Echtzeit-Endpunkte gesendet.
  4. Die Modellvorhersagen werden an die Anwendungsschicht zurückgesendet.
  5. Die Anwendungsschicht verwendet diese Vorhersagen, um die Benutzer-Feeds auf der Mobil- oder Webanwendung zu personalisieren.

Zusammenfassung

Meesho hat mithilfe von SageMaker erfolgreich ein allgemeines Feed-Ranking implementiert, das zu hochgradig personalisierten Produktempfehlungen für jeden Kunden auf der Grundlage seiner Vorlieben und seines historischen Verhaltens führte. Dieser Ansatz verbesserte die Benutzereinbindung erheblich und führte zu höheren Konversionsraten, was zum allgemeinen Geschäftswachstum des Unternehmens beitrug. Durch die Nutzung von AWS-Services verkürzte sich die Laufzeit unseres ML-Lebenszyklus erheblich, von mehreren Monaten auf nur noch wenige Wochen, was zu einer höheren Effizienz und Produktivität unseres Teams führte.

Mit diesem fortschrittlichen Feed-Ranker liefert Meesho weiterhin maßgeschneiderte Einkaufserlebnisse, schafft einen Mehrwert für seine Kunden und erfüllt seine Mission, den E-Commerce für alle zu demokratisieren.

Das Team ist dankbar für die kontinuierliche Unterstützung und Anleitung von Ravindra Yadav, Direktor für Datenwissenschaft bei Meesho, und Debdoot Mukherjee, Head of AI bei Meesho, der maßgeblich zu diesem Erfolg beigetragen hat.

Weitere Informationen zu SageMaker finden Sie im Amazon SageMaker-Entwicklerhandbuch.


Über die Autoren

Utkarsh Agrawal arbeitet derzeit als Senior Data Scientist bei Meesho. Zuvor arbeitete er bei Fractal Analytics und Trell in verschiedenen Bereichen, darunter Empfehlungssysteme, Zeitreihen, NLP und mehr. Er hat einen Master-Abschluss in Mathematik und Informatik vom Indian Institute of Technology Kharagpur (IIT), Indien.

Rama Badrinath arbeitet derzeit als Principal Data Scientist bei Meesho. Zuvor arbeitete er mit Microsoft und ShareChat in verschiedenen Bereichen, darunter Empfehlungssysteme, Bild-KI, NLP und mehr. Er hat einen Master-Abschluss in maschinellem Lernen vom Indian Institute of Science (IISc), Indien. Er hat auch Beiträge auf renommierten Konferenzen wie KDD und ECIR veröffentlicht.

Divay Jindal arbeitet derzeit als Lead Data Scientist bei Meesho. Zuvor arbeitete er mit Bookmyshow in verschiedenen Bereichen zusammen, darunter Empfehlungssysteme und dynamische Preisgestaltung.

Venugopal Pai ist Lösungsarchitekt bei AWS. Er lebt in Bengaluru, Indien, und hilft Digital-Native-Kunden bei der Skalierung und Optimierung ihrer Anwendungen auf AWS.

spot_img

Neueste Intelligenz

spot_img