ML for alle: En introduksjon til Nordstroms ML-plattform

(Ariana Bray) (17. apr 2020)

Vår strategi for å muliggjøre selvbetjent maskinlæring i stor skala

Foto av Pietro Jeng Unsplash

Fra styring av logistikk i forsyningskjeden til (bygging av kuraterte utseende (anbefalinger om digital styling) for millioner av kunder), flere og flere team på Nordstrom utnytter kraften til maskinlæring (ML) for å fortsette å forbedre kundeopplevelsen. Fra å velge en datakilde til å velge et programmeringsspråk, gjør alle det annerledes. Hvor kommer Nordstroms Machine Learning Platform-team inn? Vi presenterer Cerebro , en maskinlæringsplattform for alle. I denne artikkelen vil vi diskutere vår visjon for Cerebro, behovet for en maskinlæringsplattform og problemene vi adresserte når vi utformet Cerebro.

Vår visjon

Vår visjon for Cerebro skulle lage en plattform som gir dataforskere, analytikere og andre ML-utviklere muligheten til å lage skalerbare ML-løsninger som gir direkte virksomhetspåvirkning – med andre ord, vårt oppdrag er å muliggjøre maskinlæring i stor skala. Cerebro har som mål å gi brukere et enhetlig sett med verktøy de kan bruke til å raskt utvikle og trygt distribuere ML-løsningene sine.

Oppsummert er hovedformålet med Cerebro å gi en enkel måte å administrere livssyklusen til en modell. Cerebro påvirker direkte hele Nordstrom, ikke bare ved å la modeller skyves til produksjon raskere, men også ved å la andre lag bruke Cerebro SDK for å erstatte sine tjenester med våre ML-løsninger. Cerebro har allerede blitt brukt av flere lag innen Nordstrom for å betjene sine prosjekter. Plattformen vår har blitt brukt til å drive interne verktøy som modellprognoser. Vi holder følgende retningslinjer i forkant av designbeslutningene våre:

Vi oppnår disse målene ved å bruke automatiseringer for å skape en komfortabel brukeropplevelse.

Automatiseringer for en komfortabel brukeropplevelse

Behovet

I lang tid har dataforskere fra Nordstrom sett etter nye måter å løse dette spørsmålet – hvordan du aktiverer en produksjonsgrad end-to-end arbeidsinnflyt for maskinlæring .

Arbeidsflyten må også inkludere de mange aspektene ved maskinlæring.

Innbygging av dataingeniører i hvert team for å lage engangsløsninger for disse behovene er ganske enkelt ikke kostnadseffektivt alternativ. Å tillate disse datavitenskapsteamene å administrere hele maskinlæringssyklusen (fra datainntak til modellservering) vil ta uakseptabel tid, noe som reduserer organisasjonen som helhet. Kort fortalt trengte vi en måte å abstrakt engineering fra maskinlæring.

Mulighetene

Det er allment kjente problemer som følger med distribusjon av en modell til produksjon. I tillegg til disse problemene, må ML Platform-teamet også takle Nordstrom-spesifikke problemer:

  • Mange modeller, mange standarder : Nordstrom bruker beregninger og loggløsninger for bedriftsklasse – men uten ett kontaktpunkt for resultatene av disse beregningene og loggene, hvor virkningsfulle er de? Hvem er ansvarlig for å opprettholde helsen til tjenesten og lastutjevneren? Hva er noen beregninger som bør overvåkes?
  • Skala : Bruk av datavitenskap er begrenset til enkelt, frittstående beregningsinstans. På grunn av fraværet av en ML-plattform for bedrift, utnyttes ikke distribuert beregning.
  • Arbeidsflyt : I mangel av ML-arbeidsflyter, må ingeniørteam ved Nordstrom ofte gjøre betydelige justeringer av et datavitenskaplig ledet prosjekt for å gjøre det produksjons-klart.
  • Lære nye verktøy: I mangel av en abstraksjon mellom ML og engineering, må de som jobber med ML-prosjekter lære seg nye verktøy og teknologier. Denne innsatsen er tidkrevende, krever teknisk støtte og legger til forsinkelser i tidslinjen for å lage en produksjonsklar modell.

Hvorfor ikke bare bruke en eksisterende plattform?

Det er mange hull i eksisterende ML SaaS-tilbud:

  • Ingen sentralisert funksjonsbutikk
  • Ingen støtte for alle modeller og språk
  • Programvarespesifikke modeller
  • Ingen modellsporing; ingen kode → funksjon → modell avstamning
  • Rammespesifikk, generalisert hyperparameterinnstilling
  • Integrasjonsutfordringer med eksisterende infrastruktur
  • Dyr abonnementsmodeller

Vi bestemte oss for å bygge en plattform som gir dataforskere det de trenger og fyller mange av hullene i andre ML-plattformløsninger.

Hvorfor bygger vi Cerebro

Cerebro er en plattform som demokratiserer maskinlæring. I sin kjerne styrker Cerebro partnerskapet og bygger bro over datavitenskap og engineering.

Cerebro tilbyr brukere en rekke fordeler, hvorav noen er fremhevet nedenfor:

* Selvbetjening – brukerens avhengighet av et eget ingeniørteam reduseres;

* Konsekvent – vår tilnærming er i tråd med eksisterende ML-arbeidsflyter som brukes av datavitenskapssamfunnet;

* Færre nye teknologier – behovet for en bruker å lære seg ny teknologi er redusert til det absolutte minimum fordi vi gir abstraksjon gjennom våre grensesnitt;

* Enkel å bruke – Cerebro bremser ikke prosessen med produksjonsmodeller -modeller.

I stedet for å ansette flere ingeniører til å støtte stadig utvidende bruk av datavitenskap , vi har bygget en plattform som kan skaleres for å muliggjøre disse brukssakene. I stedet for å ta tredjeparts programvaredrevne beslutninger, ønsker vi å ta tilpassede algoritmedrevne beslutninger.

Fordelene ved å bruke Cerebro

Kom som du er: Abstraksjoner for en standardisert arbeidsflyt

Teamet vårt ønsket ikke å ta en reseptbelagt tilnærming og ba hvert team om å bruke de samme verktøyene og teknologiene. I stedet har vi utviklet abstraksjoner som bidrar til å skape en standardisert arbeidsflyt – den rolige over stormen. Brukerne har et utvalg av måter å lage, utvikle og distribuere sine prosjekter på.

Ingen egen teknologi

Vi introduserer ingen teknologi som er proprietær for noe selskap eller organisasjon – derfor har vi ingen lisensieringskostnader.

Nei nytt Nødvendig beregningsinfrastruktur

Vi utnytter databehandlingsplattformene som allerede er etablert i Nordstrom, og setter ikke opp noen nye.

Velg din egen Datakilde

I stedet for å be hvert team om å bruke en bestemt datakilde, tillater Cerebro brukere å koble seg sikkert til flere av de mest populære databasene og datalagerene. Når plattformen modnes, vil vi aktivere tilkoblinger til enda flere datakilder.

Cloud Provider-Agnostic

Mens Cerebro har noen avhengigheter av spesifikke skyleverandører, bygger vi mot en fullt ut sky-agnostisk løsning som enkelt kan utvides til å støtte flere skytilbud.

Ingen begrensninger for modellopplæringsrammer som støttes

Cerebro støtter de fleste av de populære ML-rammene ut av esken. Ethvert rammeverk som en datavitenskapsmann vil bruke, kan støttes med minimale til ingen endringer.

Linje mellom kode, data og modell

Med verdifulle metadata tilgjengelig i hvert trinn, gir Cerebro en måte å knytte sammen -koden skrevet → data brukt → og den genererte modell . Brukere kan få informasjon om hvordan modellen serveres og også aktivere modellens ytelse / effektivitetsmåling.

Testing og kvalitetskontroll

Cerebro gjør det enkelt å sømløst teste logikk som en del av den kontinuerlige integrasjonsprosessen. Kvaliteten på dataene hevdes i hvert trinn.

One-Stop Shop

Cerebro kan takle alt. Brukere kan:

  • lage et maskinlæringsprosjekt med eget Gitlab-arkiv
  • utføre lokal utvikling
  • betjene modeller offline og online
  • orkestrere prosjektet med Kubernetes eller Apache Spark på Kubernetes
  • administrer prosjektrørledninger med programvare med åpen kildekode for virksomhet

En fortelling om to brukere

Hvis en bruker ikke bryr seg om abstraksjonene, trenger de ikke bruke dem. Imidlertid liker de aller fleste brukere å bruke abstraksjonene våre for å fullføre prosjektene sine.

Mens Machine Learning Platform-teamet fortsetter å bygge Cerebro, fungerer prinsippene som vi holder oss til som viktige påminnelser om vårt endelige mål.

Våre prinsipper

  • Modularitet : Cerebro er mye mer enn bare et endepunkt at dataforskere passerer modeller inn – vi har utviklet en SDK og har flere presentasjonsprosjekter, slik at dataforskere kan se det beste bruksområdet for sine prosjekter. Ved å håndheve beste praksis innen SDK kan brukerne våre uavhengig bruke plattformen vår med minimal hjelp fra MLP-teamet og ha tillit at verktøyene de bruker i hvert trinn av modellens livssyklus, er de riktige.
  • Åpen kommunikasjon : Det er ikke noe poeng å bygge noe hvis ingen bruker det – for det formål har teamet vårt to ganger i uken Kontortimer hvor alle kan stikke innom for å feilsøke mer detaljerte spørsmål som ikke kan løses via meldinger. I tillegg holder teamet to ukentlige møter med datavitenskapsteam for å forstå deres behov og for å forhindre å gå utenfor kurset. Fordi vi leverer nye funksjoner annenhver måned, er denne konstante kommunikasjonen avgjørende.
  • Høy adopsjon : Vi jobber med å integrere SDK-en vår med mye brukte Nordstrom-verktøy som NordyPy , noe som gir en behagelig brukeropplevelse. Etter hvert som plattformen utvikler seg, vil adgangsbarrieren bli lavere og lavere. Dette gjør det mulig for forbrukere av plattformen å komme fra hele Nordstrom – ikke bare data science and engineering .

Hva er neste?

I fremtiden artikler, vil vi diskutere fremtiden til Cerebro, kommende funksjoner og plattformens potensial med åpen kildekode.

Vi vil takke Nate Lee – en annen ML Platform-ingeniør som hjalp til med å skrive denne artikkelen – samt Rizky Ramdhani, Xingtai Li og Owais Malik, teammedlemmer i ML-plattformen som ga verdifull tilbakemelding.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *