Tankeledere
Vellykket maskinlæringutvikling krever et nytt paradigme – tankeledere

Av Victor Thu, president, Datatron
Initiativer som bruker maskinlæring kan ikke behandles på samme måte som prosjekter som involverer konvensjonell programvare. Det er viktig å flytte raskt så du kan teste ting, fikse problemer og teste dem igjen. Med andre ord, du må kunne feile raskt – og gjøre det tidlig i prosessen. Å vente til senere i prosessen til å finne problemer kan ende opp med å være svært dyrt og tidskrevende.
AI krever en ny tilnærming
Når du utvikler programvare med den tradisjonelle metoden, bruker du beslutningslogikk. For å være så nøyaktig som mulig, inkorporerer du logikk som gjør at programvaren fungerer korrekt. Det (typisk) er ingen behov for endringer etter at programvarens logikk er utviklet, bortsett fra feilretting. Det er en svært metodelig utviklingsprosess; du går fremover gradvis ved å sikre at hvert steg i prosessen er nøyaktig før du går videre til neste. Det er en prøvet og sann strategi som har vist sin effektivitet for programvareutvikling.
Men du kan ikke bruke samme strategi for AI/ML-prosjekter fordi det bare ikke vil fungere. Isteden må du ha evnen til å iterere raskt og ofte for å finne suksess med et ML-prosjekt. Ettersom ML krever initial trening og er en prosess, bør du nærme deg det med kunnskapen om at det ikke vil være nøyaktig første gang det deployes.
Denne prosessen krever multiple iterasjoner. Realiteten er at ditt første modell vil møte uventede resultater 99% av tiden. Selv om du bruker måneder på å trene modellen din i laboratoriet, vil den uten tvil endre seg når den møter virkelige data og trafikk.
Ikkje sikte etter umiddelbar perfeksjon
Så, for å teste en modell og bestemme hva slags modifikasjoner som er nødvendige, må du kunne sette den i produksjon raskt. Du kan deretter gjøre justeringer, slippe den ut igjen og finpusse den. Av denne grunn bør du ikke legge for mye innsats i å gjøre modellen din fullkommen før du tester den i produksjon; det første forsøket vil ikke være fullkommen, og ingen bør forvente at det skal være.
Mens modellen utvikles i laboratoriet, kan de ekstra forbedringene fra 92% til 95% nøyaktighet kanskje ikke være betydelig for noen brukssaker. Hvorfor ikke? Bare en liten del av treningdataene har blitt brukt til å trene AI-modellen din. Du kan ende opp med å bruke mye tid og penger for å få den ekstra biten av nøyaktighet, samtidig som du går glipp av fordelen modellen din kan gi deg i mellomtiden.
Effektive skritt i ML-utvikling
Fordi det er en sjanse for at en modell kan feile eller produsere feil prediksjoner, er ML-eksperter noen ganger motvillige til å sette en modell i produksjon. Det har en viss fornuft. Du trenger et system som gjør det mulig for deg å se hendelser som skjer i sanntid. Med denne tilnærmingen kan du umiddelbart trekke og oppdatere modellen din og deretter raskt slippe ut en ny modell. Isteden for å bli fanget i “analyseparalyse”, er dette den mest effektive metoden for å sette maskinlæringsmodeller i produksjon.
Det er mye bedre å bare slippe ut modellen og la den få litt livserfaring. Dette eliminerer ikke nødvendigheten for datavitenskapsmennene til å lage modellen så nøyaktig som mulig fra begynnelsen. Men så snart du er ferdig med den første versjonen, bør du starte med å samle inn den viktige dataen umiddelbart.
Du kan ønske å kjøre modellene dine i A/B-testmodus eller skygge-modus mot virkelige data som en del av denne prosessen. På den måten kan du sammenligne ytelsene til de ulike modellene og ha mye data og bevis før du velger hvilken modell som skal fremmes eller degraderes.
Bygging av en lokal modell i stedet for å konsentrere seg om å lage en enkelt global modell for å forutsi atferd for makromiljøet, er en annen beste praksis. Med en lokal modell kan du bruke data fra bestemte situasjoner så modellen oppfører seg som den skal for hver av disse situasjonene. Dette sparer tid, data og innsats sammenlignet med en allomfattende modell som ville kreve en betydelig mengde av disse ressursene for å sikre at den fungerer.
Bestemmelse av etterspørsel etter tilpassede sko kan fungere som et eksempel her. Den globale modellen kan være anvendbar på resten av Nord-Amerika hvis den var basert på befolkningen i New York City. Men den ville sannsynligvis ikke representere etterspørselen i andre deler av landet nøyaktig. En lokal modellstrategi ville ha gjort det mulig for deg å få høyere fortjeneste, som du nå går glipp av.
Modeller krever regelmessige oppdateringer, naturligvis. Modeller krever kontinuerlige oppdateringer fordi dataene i miljøet alltid endrer seg, i motsetning til tradisjonell programvare som kan settes en gang og låses. ML-modeller forverres over tid hvis de ikke itereres på en regelmessig basis. Dette må skje i løpet av modellens levetid og må overvåkes nøye.
Maskinlærings nye paradigme
Å sammenligne maskinlæringsmodeller med konvensjonell programvare er uvisdom. Men ML-eksperter kan dra nytte av en raskt utviklingsmetode for AI/ML-modeller, på samme måte som programvareingeniører har gjort med DevOps. For ML-prosjekter trenger du et system som gjør det mulig å raskt slippe ut modeller. Du må kunne sammenligne ulike modeller, effektivt kontrastere en som er live med en som ikke er. Disse og de andre beste praksisene nevnt ovenfor vil hjelpe deg med å unngå analyseparalyse og feile raskt og tidlig, så du kan skalerer maskinlæringen.












