Programmering

MLops: Fremveksten av maskinlæringsoperasjoner

Så vanskelig som det er for dataforskere å merke data og utvikle nøyaktige maskinlæringsmodeller, kan styring av modeller i produksjonen være enda mer skremmende. Å anerkjenne modelldrift, omskole modeller med oppdatering av datasett, forbedre ytelse og vedlikeholde de underliggende teknologiplattformene er alle viktige datavitenskapelige fremgangsmåter. Uten disse fagene kan modeller gi feilaktige resultater som påvirker virksomheten betydelig.

Å utvikle produksjonsklare modeller er ingen enkel prestasjon. I følge en maskinlæringsstudie hadde 55 prosent av selskapene ikke distribuert modeller i produksjon, og 40 prosent eller mer krever mer enn 30 dager for å distribuere en modell. Suksess gir nye utfordringer, og 41 prosent av respondentene erkjenner vanskeligheten med å versjonere maskinlæringsmodeller og reproduserbarhet.

Leksjonen her er at nye hindringer dukker opp når maskinlæringsmodeller blir distribuert til produksjon og brukt i forretningsprosesser.

Modelladministrasjon og drift var en gang utfordringer for de mer avanserte datavitenskapsteamene. Nå inkluderer oppgaver å overvåke produksjonsmaskinlæringsmodeller for drift, automatisere omskolering av modeller, varsle når drift er betydelig og gjenkjenne når modeller krever oppgraderinger. Ettersom flere organisasjoner investerer i maskinlæring, er det et større behov for å bygge bevissthet rundt modelladministrasjon og drift.

Den gode nyheten er plattformer og biblioteker som åpen kildekode MLFlow og DVC, og kommersielle verktøy fra Alteryx, Databricks, Dataiku, SAS, DataRobot, ModelOp og andre gjør modelladministrasjon og drift lettere for datavitenskapsteam. Offentlige skyleverandører deler også praksis som implementering av MLops med Azure Machine Learning.

Det er flere likheter mellom modelladministrasjon og devops. Mange refererer til modelladministrasjon og operasjoner som MLops og definerer det som kultur, praksis og teknologier som kreves for å utvikle og vedlikeholde maskinlæringsmodeller.

Forstå modellstyring og drift

For å bedre forstå modelladministrasjon og drift, bør du vurdere foreningen av programvareutviklingspraksis med vitenskapelige metoder.

Som programvareutvikler vet du at det ikke er trivielt å fullføre versjonen av en applikasjon og distribuere den til produksjon. Men en enda større utfordring begynner når applikasjonen når produksjonen. Sluttbrukere forventer regelmessige forbedringer, og den underliggende infrastrukturen, plattformene og bibliotekene krever oppdatering og vedlikehold.

La oss nå skifte til den vitenskapelige verden der spørsmål fører til flere hypoteser og repetitive eksperimenter. Du lærte i naturfagsklassen å føre en logg over disse eksperimentene og spore reisen med å tilpasse forskjellige variabler fra ett eksperiment til det neste. Eksperimentering fører til forbedrede resultater, og å dokumentere reisen hjelper å overbevise jevnaldrende om at du har utforsket alle variablene, og at resultatene er reproduserbare.

Dataforskere som eksperimenterer med maskinlæringsmodeller, må inkludere disipliner fra både programvareutvikling og vitenskapelig forskning. Maskinlæringsmodeller er programvarekode utviklet på språk som Python og R, konstruert med TensorFlow, PyTorch eller andre maskinlæringsbiblioteker, kjørt på plattformer som Apache Spark, og distribuert til skyinfrastruktur. Utvikling og støtte av maskinlæringsmodeller krever betydelig eksperimentering og optimalisering, og dataforskere må bevise nøyaktigheten til modellene sine.

I likhet med programvareutvikling trenger maskinlæringsmodeller løpende vedlikehold og forbedringer. Noe av det kommer fra vedlikehold av koden, biblioteker, plattformer og infrastruktur, men dataforskere må også være bekymret for modelldrift. Enkelt sagt forekommer modelldrift når nye data blir tilgjengelige, og spådommer, klynger, segmenteringer og anbefalinger fra maskinlæringsmodeller avviker fra forventede resultater.

Vellykket modelladministrasjon starter med å utvikle optimale modeller

Jeg snakket med Alan Jacobson, sjef for data og analyse i Alteryx, om hvordan organisasjoner lykkes og skalerer maskinlæringsmodellutvikling. “For å forenkle modellutviklingen, er den første utfordringen for de fleste datavitenskapere å sikre sterk problemformulering. Mange komplekse forretningsproblemer kan løses med veldig enkel analyse, men dette krever først å strukturere problemet på en måte som data og analyse kan bidra til å svare på spørsmålet. Selv når komplekse modeller er utnyttet, er den vanskeligste delen av prosessen vanligvis å strukturere dataene og sikre at de riktige inngangene blir brukt er på de rette kvalitetsnivåene. ”

Jeg er enig med Jacobson. For mange data- og teknologiimplementeringer starter med dårlige eller ingen problemstillinger og med utilstrekkelig tid, verktøy og fagkompetanse for å sikre tilstrekkelig datakvalitet. Organisasjoner må først starte med å stille smarte spørsmål om big data, investere i dataops, og deretter bruke smidige metoder i datavitenskap for å iterere mot løsninger.

Overvåking av maskinlæringsmodeller for modelldrift

Å få en presis problemdefinisjon er avgjørende for kontinuerlig styring og overvåking av modeller i produksjonen. Jacobson fortsatte med å forklare: ”Overvåking av modeller er en viktig prosess, men å gjøre det riktig krever en sterk forståelse av målene og potensielle bivirkningene som garanterer å se. Mens de fleste diskuterer overvåking av modellytelse og endring over tid, er det som er viktigere og utfordrende i dette rommet analysen av utilsiktede konsekvenser. "

En enkel måte å forstå modelldrift og utilsiktede konsekvenser på er å vurdere virkningen av COVID-19 på maskinlæringsmodeller utviklet med treningsdata fra før pandemien. Maskinlæringsmodeller basert på menneskelig atferd, naturlig språkbehandling, forbrukernes etterspørselsmodeller eller svindelmønstre har alle blitt påvirket av atferdsendring under pandemien som rommer med AI-modeller.

Teknologileverandører lanserer nye MLops-muligheter ettersom flere organisasjoner får verdi og modner sine datavitenskapelige programmer. For eksempel introduserte SAS en funksjonsbidragsindeks som hjelper dataforskere med å evaluere modeller uten en målvariabel. Cloudera kunngjorde nylig en ML-overvåkingstjeneste som fanger opp tekniske ytelsesberegninger og spåringsmodeller.

MLops adresserer også automatisering og samarbeid

Mellom å utvikle en maskinlæringsmodell og overvåke den i produksjonen er det flere verktøy, prosesser, samarbeid og evner som gjør det mulig å skalere datavitenskap. Noen av rutinene for automatisering og infrastruktur er analoge med devops og inkluderer infrastruktur som kode og CI / CD (kontinuerlig integrasjon / kontinuerlig distribusjon) for maskinlæringsmodeller. Andre inkluderer utvikleregenskaper som versjonsmodeller med deres underliggende treningsdata og søk i modelldatabasen.

De mer interessante aspektene ved MLops gir vitenskapelig metodikk og samarbeid til datavitenskapsteamene. For eksempel muliggjør DataRobot en champion-utfordrer-modell som kan kjøre flere eksperimentelle modeller parallelt for å utfordre produksjonsversjonens nøyaktighet. SAS ønsker å hjelpe dataforskere med å forbedre hastigheten til markedene og datakvaliteten. Alteryx introduserte nylig Analytics Hub for å hjelpe samarbeid og deling mellom datavitenskapsteam.

Alt dette viser at styring og skalering av maskinlæring krever mye mer disiplin og praksis enn å bare be en datavitenskapsmann om å kode og teste et tilfeldig skog-, k-middel- eller konvolusjonsnervenettverk i Python.

$config[zx-auto] not found$config[zx-overlay] not found