ML for alle: En introduktion til Nordstroms ML-platform

(Ariana Bray) (17. apr. 2020)

Vores strategi for at muliggøre selvbetjening af maskinindlæring i skala

Foto af Pietro Jeng Uplash

Fra styring af forsyningskædelogistik til (opbygning af kurateret udseende (digital stylinganbefalinger) for millioner af kunder), flere og flere teams hos Nordstrom udnytter styrken ved maskinindlæring (ML) til fortsat at forbedre kundeoplevelsen. Fra at vælge en datakilde til at vælge et programmeringssprog, gør alle det forskelligt. Hvor kommer Nordstroms Machine Learning Platform-team ind? Introduktion til Cerebro , en maskinlæringsplatform for alle. I denne artikel vil vi diskutere vores vision for Cerebro, behovet for en maskinlæringsplatform og de problemer, vi behandlede ved design af Cerebro.

Vores vision

Vores vision for Cerebro skulle skabe en platform, der bemyndiger dataforskere, analytikere og andre ML-udviklere til at skabe skalerbare ML-løsninger, der driver direkte forretningspåvirkning – med andre ord, vores mission er at muliggøre selvbetjening maskinindlæring i stor skala. Cerebro sigter mod at give brugerne et samlet sæt værktøjer, som de kan bruge til hurtigt at udvikle og med tillid implementere deres ML-løsninger.

Sammenfattende er hovedformålet med Cerebro at give en nem måde at styre en models livscyklus. Cerebro påvirker direkte hele Nordstrom ikke kun ved at lade modeller skubbes til produktion hurtigere, men også ved at tillade andre hold at bruge Cerebro SDK til at erstatte deres tjenester med vores ML-løsninger. Cerebro er allerede blevet brugt af flere hold i Nordstrom til at betjene deres projekter. Vores platform er blevet brugt til at drive interne værktøjer såsom modelprognoser. Vi holder følgende retningslinjer i spidsen for vores designbeslutninger:

Vi opnår disse mål ved at bruge automatiseringer til at skabe en behagelig brugeroplevelse.

Automatisering for en behagelig brugeroplevelse

Behovet

I lang tid har Nordstroms dataforskere ledt efter nye måder at løse dette spørgsmål – hvordan man aktiverer en workflow for maskinindlæring fra ende til ende .

Workflowet skal også omfatte de mange aspekter af maskinindlæring.

Integrering af dataingeniører inden for hvert team for at skabe engangsløsninger til disse behov er simpelthen ikke en omkostningseffektiv mulighed. At lade disse datavidenskabsteams styre hele maskinlæringslivscyklussen (fra dataindtagelse til modelbetjening) ville tage uacceptabel tid og bremse organisationen som helhed. Kort sagt havde vi brug for en måde at abstrakt teknik fra maskinindlæring.

Mulighederne

Der er almindeligt kendte problemer , der følger med implementering af en model til produktion. Ud over disse problemer skal ML Platform-teamet også tackle Nordstrom-specifikke problemer:

  • Mange modeller, mange standarder : Nordstrom bruger metrics og logningsløsninger af virksomhedskvalitet – men uden et kontaktpunkt for resultaterne af disse metrics og logs, hvor virkningsfulde er de virkelig? Hvem er ansvarlig for at opretholde tjenestens sundhed og belastningsafbalanceren? Hvad er nogle metrics, der skal overvåges?
  • Skala : Brug af datalogi er begrænset til en enkelt, enkeltstående beregningsinstans. På grund af fraværet af en ML-platform af virksomhedsgrad er distribueret beregning ikke gearet.
  • Workflow : I mangel af ML-arbejdsgange er ingeniørhold på Nordstrom ofte nødt til at foretage betydelige justeringer af et datavidenskabelig projekt for at gøre det produktionsklar.
  • Læring af nye værktøjer: I mangel af en abstraktion mellem ML og teknik skal de, der arbejder med ML-projekter, lære nye værktøjer og teknologier. Denne indsats er tidskrævende, kræver teknisk support og tilføjer forsinkelser i tidslinjen for oprettelse af en produktionsklar model.

Hvorfor ikke bare bruge en eksisterende platform?

Der er mange huller i eksisterende ML SaaS-tilbud:

  • Ingen centraliseret funktionsbutik
  • Ingen support til alle modeller og sprog
  • Softwarespecifikke modeller
  • Ingen modelsporing; ingen kode → funktion → model afstamning
  • Rammespecifik, generaliseret hyperparametertuning
  • Integrationsudfordringer med eksisterende infrastruktur
  • Dyre abonnementsmodeller

Vi besluttede at opbygge en platform, der giver dataforskere, hvad de har brug for og udfylder mange af hullerne i andre ML-platformløsninger.

Hvorfor vi bygger Cerebro

Cerebro er en platform, der demokratiserer maskinindlæring. Cerebro styrker kernen i partnerskabet og bygger bro mellem datalogi og teknik.

Cerebro tilbyder brugerne en række fordele, hvoraf nogle fremhæves nedenfor:

* Selvbetjening – brugerens afhængighed af et separat ingeniørteam mindskes;

* Konsekvent – vores tilgang stemmer overens med eksisterende ML-arbejdsgange, der bruges af datavidenskabssamfundet;

* Færre nye teknologier – behovet for en bruger til at lære nye teknologier er reduceret til det absolutte minimum, fordi vi leverer abstraktion gennem vores grænseflader;

* Let at bruge – Cerebro bremser ikke processen med produktion af modeller.

I stedet for at ansætte flere ingeniører til at understøtte stadigt voksende sager om datavidenskab , vi har bygget en platform der kan skaleres for at muliggøre disse brugssager. I stedet for at træffe softwarestyrede beslutninger fra tredjepart, ønsker vi at træffe tilpassede algoritmedrevne beslutninger.

Fordele ved at bruge Cerebro

Kom som du er: Abstraktioner til en standardiseret arbejdsgang

Vores team ønskede ikke at tage en ordinerende tilgang og bede hvert team om at bruge de samme værktøjer og teknologier. I stedet har vi udviklet abstraktioner, der hjælper med at skabe en standardiseret arbejdsgang – den rolige over stormen. Brugere har et udvalg af måder at oprette, udvikle og implementere deres projekter på.

Ingen proprietær teknologi

Vi introducerer ikke nogen teknologi, der er beskyttet af nogen virksomhed eller organisation – derfor har vi ingen licensomkostninger.

Intet nyt Nødvendig beregningsinfrastruktur

Vi udnytter de beregningsplatforme, der allerede er etableret i Nordstrom, og opretter ikke nye.

Vælg din egen Datakilde

I stedet for at bede hvert team om at bruge en bestemt datakilde, giver Cerebro brugere mulighed for sikkert at oprette forbindelse til flere af de mest populære databaser og datalagre. Efterhånden som platformen modnes, muliggør vi forbindelser til endnu flere datakilder.

Cloud Provider-Agnostic

Mens Cerebro har nogle afhængigheder af specifikke cloud-udbydere, bygger vi mod en fuldt ud cloud-agnostisk løsning, der let kan udvides til at understøtte flere cloud-tilbud.

Ingen begrænsninger for Model Training Frameworks Understøttet

Cerebro understøtter de fleste af de populære ML-rammer ud af kassen. Enhver ramme, som en dataforsker ønsker at bruge, kan understøttes med minimal-til-ingen-ændringer.

Lineage mellem kode, data og model

Med værdifulde metadata tilgængelige i hvert trin giver Cerebro en måde at binde -koden skrevet → data brugt → og den genererede model . Brugere kan få oplysninger om, hvordan modellen serveres og også aktivere måling af modelydelse / effektivitet.

Test og kvalitetskontrol

Cerebro gør det nemt at problemfrit teste logik som en del af den kontinuerlige integrationsproces. Kvaliteten af ​​dataene hævdes ved hvert trin.

One-Stop Shop

Cerebro kan klare det hele. Brugere kan:

  • oprette et maskinlæringsprojekt med sit eget Gitlab-arkiv
  • udføre lokal udvikling
  • betjene modeller offline og online
  • orkestrere projektet med Kubernetes eller Apache Spark på Kubernetes
  • styre projektrørledninger med open source-software i enterprise-grade

En fortælling om to brugere

Hvis en bruger ikke holder af abstraktionerne, behøver de ikke bruge dem. Langt de fleste brugere nyder dog at bruge vores abstraktioner til at gennemføre deres projekter.

Da Machine Learning Platform-teamet fortsætter med at opbygge Cerebro, fungerer de principper, som vi holder os af, som vigtige påmindelser om vores slutmål.

Vores principper

  • Modularitet : Cerebro er meget mere end bare et slutpunkt, som dataforskere passerer modeller ind – vi har udviklet en SDK og har flere udstillingsprojekter, så dataforskere kan se den bedste anvendelsesform for deres projekter. Ved at håndhæve bedste praksis inden for vores SDK kan vores brugere uafhængigt bruge vores platform med minimal hjælp fra MLP-teamet og have tillid at de værktøjer, de bruger i hvert trin i modelens livscyklus, er de rigtige.
  • Åben kommunikation : Der er ingen mening med at opbygge noget, hvis ingen bruger det – med det formål har vores team to gange ugentlige kontortimer, hvor alle kan komme forbi for at foretage fejlfinding af mere detaljerede spørgsmål, der ikke kan løses via messaging. Derudover afholder holdet to ugentlige møder med datalogiske hold for at forstå deres behov og for at forhindre at gå ud af kurset. Fordi vi leverer nye funktioner hver anden måned, er denne konstante kommunikation afgørende.
  • Høj vedtagelse : Vi arbejder på at integrere vores SDK med udbredte Nordstrom-værktøjer såsom NordyPy , hvilket giver en behagelig brugeroplevelse. Når platformen udvikler sig, vil adgangsbarrieren blive lavere og lavere. Dette gør det muligt for forbrugere af platformen at komme fra hele Nordstrom – ikke kun datavidenskab og teknik .

Hvad er det næste?

I fremtiden artikler, vi diskuterer fremtiden for Cerebro, kommende funktioner og platformens open source-potentiale.

Vi vil gerne takke Nate Lee – en anden ML Platform-ingeniør, der hjalp med at skrive denne artikel – samt Rizky Ramdhani, Xingtai Li og Owais Malik, ML Platform-teammedlemmer, der gav værdifuld feedback.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *