MLOps: DevOps i vÀrlden av MaskininlÀrning

År 2018 introducerades termen MLOps i professionella kretsar och vid temakonferenser om AI, och har snabbt etablerat sig inom branschen som ett sjĂ€lvstĂ€ndigt omrĂ„de. I framtiden kan MLOps bli en av de mest eftertraktade sektorerna inom IT. Vad innebĂ€r det och hur anvĂ€nds det? Vi gĂ„r igenom det nedan.

MLOps: DevOps i vÀrlden av MaskininlÀrning

Vad Àr MLOps

MLOps (en integration av teknologier och processer för maskininlÀrning och metoder för att implementera utvecklade modeller i affÀrsprocesser) Àr ett nytt sÀtt för samarbete mellan affÀrsrepresentanter, forskare, matematikexperter, specialister inom maskininlÀrning och IT-ingenjörer för att skapa system för artificiell intelligens.

Med andra ord Àr det ett sÀtt att omvandla metoder och teknologier inom maskininlÀrning till ett anvÀndbart verktyg för att lösa affÀrsproblem. 

Det Àr viktigt att förstÄ att kedjan av produktivitet börjar lÄngt innan modellen utvecklas. Det första steget Àr att definiera affÀrsproblemet, hypoteserna om det vÀrde som kan extraheras frÄn data och affÀrsidéerna för tillÀmpning. 

SjÀlva begreppet MLOps uppstod som en analogi till begreppet DevOps, men tillÀmpat pÄ modeller och teknologier för maskininlÀrning. DevOps Àr en metod för mjukvaruutveckling som möjliggör snabbare implementering av Àndringar samtidigt som man behÄller flexibilitet och tillförlitlighet genom olika metoder, inklusive kontinuerlig utveckling, uppdelning av funktioner i oberoende mikrotjÀnster, automatiserad testning och distribution av specifika Àndringar, global övervakning av prestanda, samt ett system för snabb respons pÄ identifierade problem och mycket mer. 

DevOps definierade livscykeln för mjukvara och i specialistgemenskapen föddes idén att anvÀnda samma metodik för stora data. DataOps Àr ett försök att anpassa och utöka metoden med hÀnsyn till sÀrskildheterna i lagring, överföring och bearbetning av stora datamÀngder pÄ olika och interaktiva plattformar.
  
Med framvÀxten av en viss kritisk massa av maskininlÀrningsmodeller som implementerats i företags affÀrsprocesser har en stark likhet mellan livscykeln för matematiska maskininlÀrningsmodeller och livscykeln för mjukvara blivit uppmÀrksammad. Skillnaden ligger endast i att algoritmerna för modellerna skapas med hjÀlp av verktyg och metoder för maskininlÀrning. DÀrför har idén att tillÀmpa och anpassa kÀnda metoder för mjukvaruutveckling pÄ maskininlÀrningsmodeller naturligtvis uppkommit. PÄ sÄ sÀtt kan följande nyckelstadier identifieras i livscykeln för maskininlÀrningsmodeller:

  • definiera affĂ€rsidĂ©n;
  • trĂ€na modellen;
  • testa och implementera modellen i affĂ€rsprocessen;
  • drift av modellen.

NĂ€r behovet av att Ă€ndra eller vidareutbilda modellen med nya data uppstĂ„r under driftsfasen, startar cykeln om — modellen förbĂ€ttras, testas, och en ny version deployas.

Avvikelse. Varför vidareutbilda istÀllet för att omutbilda? Termen "omutbildning av modellen" har en dubbel betydelse: bland specialister betyder det en defekt modell, dÀr modellen gör bra förutsÀgelser, faktiskt upprepar det förutsagda vÀrdet pÄ trÀningsdata, men fungerar mycket sÀmre pÄ externa datamÀngder. Uppenbarligen Àr en sÄdan modell en defekt, eftersom denna brist förhindrar dess tillÀmpning.

I denna livscykel verkar det logiskt att anvÀnda DevOps-verktyg: automatiserad testning, distribution och övervakning, utformning av modellberÀkningar som separata mikrotjÀnster. Men det finns ocksÄ en rad sÀrdrag som hindrar en direkt tillÀmpning av dessa verktyg utan ytterligare ML-bindningar.

MLOps: DevOps i vÀrlden av MaskininlÀrning

Hur fÄr man modeller att fungera och generera vinst

Som ett exempel dĂ€r vi kommer att demonstrera tillĂ€mpningen av MLOps, tar vi den klassiska uppgiften att automatisera kundsupport genom chatt för bankprodukter (eller andra produkter). Vanligtvis ser affĂ€rsprocessen för support via chatt ut som följer: en kund skriver ett meddelande med en frĂ„ga i chatten och fĂ„r ett svar frĂ„n en specialist enligt en förutbestĂ€md dialogstruktur. Automatiseringen av en sĂ„dan chatt usually löses med expertbestĂ€mda regeluppsĂ€ttningar, som Ă€r mycket tidskrĂ€vande att utveckla och underhĂ„lla. Effektiviteten av sĂ„dan automatisering, beroende pĂ„ uppgiftens komplexitet, kan uppgĂ„ till 20–30%. Naturligtvis vĂ€cks idĂ©n att det Ă€r mer fördelaktigt att implementera en artificiell intelligensmodul – en modell utvecklad med hjĂ€lp av maskininlĂ€rning, som:

  • kan hantera fler förfrĂ„gningar utan hjĂ€lp av en operatör (beroende pĂ„ Ă€mnet, kan effektiviteten i vissa fall nĂ„ 70–80%);
  • bĂ€ttre anpassar sig till icke-standardformuleringar i dialogen – kan upptĂ€cka avsikten, det verkliga önskemĂ„let frĂ„n anvĂ€ndaren baserat pĂ„ otydligt formulerade förfrĂ„gningar;
  • vet att avgöra nĂ€r modellens svar Ă€r adekvat, och nĂ€r det finns tvivel kring «medvetenheten» av detta svar och det behövs en ytterligare avklarande frĂ„ga eller en överföring till en operatör;
  • kan automatiskt vidareutbildas (istĂ€llet för en grupp utvecklare som stĂ€ndigt anpassar och justerar svarsscenarier, utbildar en Data Science-specialist modellen med hjĂ€lp av lĂ€mpliga maskininlĂ€rningsbibliotek). 

MLOps: DevOps i vÀrlden av MaskininlÀrning

Hur fÄr man en sÄ avancerad modell att fungera? 

Precis som nÀr man löser andra uppgifter, innan man utvecklar en sÄdan modul, mÄste man faststÀlla affÀrsprocessen och formellt beskriva den specifika uppgift som vi ska lösa med metoden för maskininlÀrning. Vid denna punkt inleds processens operabilisering, som anges med akronymen Ops. 

NÀsta steg Àr att data science-specialisten i samarbete med dataingenjören kontrollerar tillgÄngen och tillrÀckligheten av data samt affÀrshypotesen om affÀrsidéns genomförbarhet genom att utveckla en prototyp av modellen och pröva dess faktiska effektivitet. Endast efter bekrÀftelse frÄn affÀrshÄll kan övergÄngen frÄn modellutveckling till integrering i system som utför specifika affÀrsprocesser börja. En helhetsplanering av implementeringen, en djup förstÄelse för hur modellen kommer att anvÀndas pÄ varje steg och vilken ekonomisk effekt den kommer att medföra, Àr en grundlÀggande aspekt i processen för att implementera MLOps i företagets teknologiska landskap.

Med utvecklingen av AI-teknologier ökar antalet och mÄngfalden av uppgifter som kan lösas med hjÀlp av maskininlÀrning lavinartat. Varje sÄdan affÀrsprocess innebÀr besparingar för företaget genom automatisering av arbetet för anstÀllda inom masspositioner (callcenter, granskning och sortering av dokument etc.), det Àr en utvidgning av kundbasen genom att lÀgga till nya attraktiva och bekvÀma funktioner, besparingar genom optimal anvÀndning av resurser och omfördelning av resurser och mycket mer. Slutligen Àr varje process inriktad pÄ att skapa vÀrde och dÀrmed mÄste den ge viss ekonomisk effekt. Det Àr hÀr viktigt att klart formulera affÀrsidén och berÀkna den förvÀntade vinsten frÄn implementeringen av modellen inom den övergripande strukturen för vÀrdeskapandet i företaget. Det finns situationer dÀr implementeringen av modellen inte lönar sig, och den tid som maskininlÀrningsexperterna lÀgger ner blir mycket dyrare Àn arbetsplatsen för en operatör som utför denna uppgift. DÀrför mÄste sÄdana fall identifieras tidigt i processen för att skapa AI-system.

DÀrför börjar modellen först generera vinster nÀr affÀrsuppgiften i MLOps har formulerats korrekt, prioriteringarna har stÀllts och implementeringsprocessen för modellen i systemet har formulerats tidigt i utvecklingen.

Nytt process – nya utmaningar

Ett utförligt svar pĂ„ den fundamentala frĂ„gan om hur tillĂ€mpbara ML-modeller Ă€r för att lösa problem, samt den allmĂ€nna frĂ„gan om förtroende för AI – det Ă€r en av de centrala utmaningarna i utvecklingen och implementeringen av MLOps-ansatser. Inledningsvis Ă€r företag skeptiska till att implementera maskininlĂ€rning i processerna – det Ă€r svĂ„rt att förlita sig pĂ„ modeller i situationer dĂ€r mĂ€nniskor tidigare har arbetat. För företag framstĂ„r programmen som en "svart lĂ„da", vars relevans fortfarande mĂ„ste bevisas. Dessutom finns det strikta krav frĂ„n statliga myndigheter inom bankverksamhet, telekommunikation och andra branscher. Alla system och algoritmer som implementerats i bankprocesser genomgĂ„r en revision. För att lösa detta problem och övertyga företag och myndigheter om AI:s svar relevans och korrekthet, implementeras övervakningsverktyg tillsammans med modellen. Det finns ocksĂ„ en oberoende valideringsprocedur, som Ă€r obligatorisk för regulatoriska modeller och som uppfyller centralbankens krav. En oberoende expertgrupp gör en revision av resultaten som modellen har producerat i beaktande av ingĂ„ngsdata.

Den andra utmaningen Àr att bedöma och ta hÀnsyn till modellrisker vid implementering av maskininlÀrningsmodeller. Om Àven en mÀnniska inte kan svara med hundraprocentig sÀkerhet pÄ frÄgan om klÀnningen var vit eller blÄ, sÄ har ocksÄ artificiell intelligens rÀtt att göra misstag. Det Àr ocksÄ vÀrt att notera att data kan förÀndras över tid, och modellerna behöver fortsÀtta att trÀnas för att ge tillrÀckligt exakta resultat. För att affÀrsprocessen inte ska pÄverkas negativt, Àr det nödvÀndigt att hantera modellrisker och övervaka modellens arbete, genom att regelbundet ÄtertrÀna den med nya data.

MLOps: DevOps i vÀrlden av MaskininlÀrning

Men efter den första fasen av misstro börjar en motsatt effekt att framtrĂ€da. Ju fler modeller som framgĂ„ngsrikt implementeras i processerna, desto mer ökar företagens aptit för att anvĂ€nda artificiell intelligens – nya uppgifter dyker upp som kan lösas med hjĂ€lp av maskininlĂ€rning. Varje uppgift initierar en hel process som krĂ€ver olika kompetenser:

  • dataingenjörer förbereder och bearbetar data;
  • datascientister tillĂ€mpar verktyg för maskininlĂ€rning och utvecklar modeller;
  • IT implementerar modellen i systemet;
  • ML-ingenjören bestĂ€mmer hur modellen pĂ„ rĂ€tt sĂ€tt ska integreras i processen, vilket IT-verktyg som ska anvĂ€ndas beroende pĂ„ krav för anvĂ€ndning av modellen med hĂ€nsyn till flödet av förfrĂ„gningar, svarstid osv. 
  • ML-arkitekten designar hur programvaruprodukten kan genomföras fysiskt i ett industriellt system.

Hela cykeln krĂ€ver ett stort antal högt kvalificerade specialister. Vid en viss punkt i utvecklingen och graden av integration av ML-modeller i affĂ€rsprocesser visar det sig att det blir dyrt och ineffektivt att linjĂ€rt skala antal specialister i proportion till ökningen av antalet uppgifter. DĂ€rför uppstĂ„r frĂ„gan om automatisering av MLOps-processen — att definiera flera standardklasser av maskininlĂ€rningsuppgifter, utveckla typiska pipeline för databehandling och vidareutbildning av modeller. I den ideala bilden för att lösa sĂ„dana problem krĂ€vs proffs som behĂ€rskar kompetenser i korsningen mellan Big Data, Data Science, DevOps och IT. DĂ€rför Ă€r den största utmaningen inom Data Science-industrin och den största utmaningen vid organisering av MLOps-processer avsaknaden av sĂ„dan kompetens pĂ„ den befintliga arbetsmarknaden. Specialister som uppfyller dessa krav Ă€r för nĂ€rvarande enstaka pĂ„ arbetsmarknaden och vĂ€rderas som guld.

NÀr det gÀller kompetenser

Teoretiskt kan alla uppgifter inom MLOps lösas med klassiska DevOps-verktyg utan att behöva ta till en specialiserad utvidgning av rollmodellen. Som vi redan har nĂ€mnt ovan mĂ„ste data scientist vara inte bara matematiker och specialist inom dataanalys, utan ocksĂ„ mĂ€stare i hela pipelinen — det faller pĂ„ honom att utveckla arkitekturen, programmera modeller pĂ„ flera sprĂ„k beroende pĂ„ arkitekturen, förbereda datavitrinen och distribuera sjĂ€lva applikationen. Men att skapa den tekniska infrastrukturen som implementeras i den integrerade MLOps-processen tar upp till 80% av arbetsinsatsen, vilket betyder att en kvalificerad matematiker, som en kvalitets Data Scientist, endast kommer att Ă€gna 20% av sin tid Ă„t sitt specialomrĂ„de. DĂ€rför blir uppdelningen av roller bland specialister som genomför processen för implementering av maskininlĂ€rningsmodeller livsnödvĂ€ndig. 

Hur detaljerat roller bör sĂ€rskiljas beror pĂ„ företagets storlek. Det Ă€r en sak nĂ€r en specialist i en startup Ă€r en mĂ„ngsysslare som fungerar som ingenjör, arkitekt och DevOps. En helt annan sak Ă€r nĂ€r alla utvecklingsprocesser för modeller pĂ„ ett stort företag Ă€r koncentrerade till ett fĂ„tal högt kvalificerade Data Science-specialister, medan programmerare eller databasspecialister — en mer vanlig och billigare kompetens pĂ„ arbetsmarknaden — kan ta hand om större delen av de rutinmĂ€ssiga uppgifterna.

SÄledes beror var grÀnsen gÄr i valet av specialister för att sÀkerstÀlla MLOps-processen och hur operationaliseringen av de utvecklade modellerna Àr organiserad direkt pÄ hastigheten och kvaliteten pÄ de utvecklade modellerna, teamets produktivitet och arbetsklimatet.

Vad vÄrt team har Ästadkommit hittills

Vi började nyligen bygga upp kompetensstrukturer och MLOps-processer. Men nu Àr vÄra projekt för hantering av modellernas livscykel och att anvÀnda modeller som en tjÀnst redan i MVP-testning.

Vi har ocksÄ definierat den optimala kompetensstrukturen och den organisatoriska strukturen för samarbetet mellan alla deltagare i processen, vilket ledde till att Agile-team skapades som löser uppgifter för hela spektrumet av affÀrskunder. Samtidigt har vi etablerat samarbeten med projektteam som skapar plattformar och infrastruktur som Àr grunden för den byggnad MLOps.

FrÄgor för framtiden

MLOps Àr ett utvecklande omrÄde som lider av brist pÄ kompetenser och kommer att öka i betydelse i framtiden. Men för nu Àr det bÀst att utgÄ ifrÄn etablerade metoder och praxis inom DevOps. Huvudsyftet med MLOps Àr att mer effektivt anvÀnda ML-modeller för att lösa affÀrsproblem. Men det vÀcker mÄnga frÄgor:

  • Hur kan vi minska tiden för att sĂ€tta modeller i produktion?
  • Hur kan vi minska byrĂ„kratiska friktioner mellan team med olika kompetenser och öka fokus pĂ„ samarbete?
  • Hur kan vi spĂ„ra modeller, hantera versioner och organisera effektiv övervakning?
  • Hur kan vi skapa en verkligt cyklisk livscykel för en modern ML-modell?
  • Hur kan vi standardisera processen för maskininlĂ€rning?

Svar pÄ dessa frÄgor kommer i hög grad att avgöra hur snabbt MLOps kommer att avslöja sin fulla potential.

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster