Tankeledere
Suksessfull 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 å gå raskt så du kan teste ting, fikse problemer og teste dem igjen. Med andre ord, du må være i stand til å feile raskt – og gjøre det tidlig i prosessen. Å vente til senere i denne prosessen for å 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å presis som mulig, inkorporerer du logikk som gjør at programvaren fungerer korrekt. Det (typisk) er ingen behov for endringer etter at applikasjonens 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 enkelt ikke vil fungere. I stedet 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 deployeres.
Denne prosessen krever flere iterasjoner. Realiteten er at din første modell vil møte uventede resultater 99% av tiden. Selv om du bruker måneder på å trene din modell i laboratoriet, vil den uten tvil endre seg når den møter virkelige data og trafikk.
Ikkje sikte på umiddelbar perfeksjon
Så, for å teste en modell og bestemme hva slags modifikasjoner som er nødvendige, må du være i stand til å sette den i produksjon raskt. Du kan deretter gjøre eventuelle justeringer, utgi den igjen og forbedre den. Av denne grunn bør du ikke legge for mye innsats i å forsøke å gjøre din modell feilfri før du tester den i produksjon; det første forsøket vil ikke være perfekt, 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 ikke være betydelig for noen brukstilfeller. Hvorfor? Bare en liten del av treningsdataene er brukt til å trene din AI-modell. Du kan ende opp med å bruke mye tid og penger for å oppnå den ekstra biten av nøyaktighet, samtidig som du går glipp av fordelen din modell 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-forskere 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 mens de skjer i sanntid. Med denne tilnærmingen kan du umiddelbart trekke og oppdatere din modell og deretter raskt utgi en ny modell. I stedet for å bli fanget i “analyse-lamelse”, er dette den mest effektive metoden for å sette maskinlæringsmodeller i produksjon.
Det er langt bedre å bare lansere modellen og la den få litt livserfaring. Dette eliminerer ikke behovet for at dataforskerne skal lage modellen så nøyaktig som mulig fra begynnelsen. Men så snart du er ferdig med den første versjonen, bør du starte å samle inn den viktige dataen umiddelbart.
Du kan ønske å kjøre dine modeller 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ørselen etter tilpassede sneakers vil tjene som et eksempel her. Den globale modellen kunne være anvendelig for 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 modell-strategi ville ha gjort det mulig for deg å oppnå 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 konvensjonell programvare som kan settes en gang og låses. ML-modeller forverres over tid hvis de ikke itereres jevnlig. 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 uvisst. Men ML-eksperter har nytte av en rask deploy-teknikk for AI/ML-modeller, like som programvare-ingeniører har gjort med DevOps. For ML-prosjekter trenger du et system som gjør det mulig å raskt lansere modeller. Du må være i stand til å 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å analyse-lamelse og feile raskt og tidlig, så du kan skalerer din maskinlæring.












