Förstå livscykeln för maskininlärning

Slutförd

I den här lektionen diskuterar vi den typiska livscykeln för maskininlärning och dess vanliga utmaningar. Den ger en översikt över processen om du skapar en anpassad modell, antingen från grunden eller med en förtränad modell som utgångspunkt. Den här kunskapen bör ge dig möjlighet att hantera datavetenskapsprojekt.

Maskininlärningsutmaningar och behov av maskininlärningsåtgärder

Den senaste boomen av AI-färdiga modeller, till exempel de som erbjuds av OpenAI, kan hjälpa organisationer att avsevärt minska den skrämmande mängd resurser som ett datavetenskapsprojekt kan kräva. Men när fler organisationer experimenterar med AI upptäcker de att maskininlärningslivscykeln är mer komplex än att bara skapa en AI-modell eller återanvända en fördefinierad.

Även om din organisation använder färdiga AI-modeller som de som tillhandahålls av Azure AI Services, behöver du förmodligen fortfarande dokumentera och hantera data, kod, modellmiljöer och själva maskininlärningsmodellerna. Du måste upprätta processer för att utveckla, paketera och distribuera modeller, samt övervaka deras prestanda och ibland träna om dem. Och de flesta organisationer hanterar flera modeller i produktion samtidigt, vilket ökar komplexiteten.

För att effektivt hantera den här komplexiteten krävs vissa metodtips. De fokuserar på samarbete mellan team, automatisera och standardisera processer och se till att modeller enkelt kan granskas, förklaras och återanvändas. För att få detta gjort förlitar sig datavetenskapsteamen på metoden för maskininlärningsåtgärder . Den här metoden är inspirerad av DevOps (utveckling och drift), branschstandarden för att hantera åtgärder för en programutvecklingscykel, eftersom utvecklarnas och dataforskarnas kamp är liknande.

Nu ska vi se hur den typiska livscykeln för maskininlärning ser ut, först om du skapar en egen AI-modell och sedan om du använder färdiga modeller. Dataexperter kan hantera och köra maskininlärningsarbetsflöden från Azure Machine Learning, en plattform från Microsoft för att underlätta maskininlärningsåtgärder. Sådana verktyg hjälper team att samarbeta i en delad, granskningsbar och säker miljö där många processer kan optimeras via automatisering.

Livscykel för maskininlärning för att skapa en egen AI-modell

Detta är den klassiska metoden och omfattar alla vanliga steg i ett datavetenskapsprojekt. I många scenarier presterar den resulterande AI-modellen bättre än en mer allmän fördefinierad modell.

  1. Förbereda datauppsättningen. AI börjar med data. För det första måste dataexperter förbereda data för att träna modellen. Detta är ofta det största tidsåtagandet i livscykeln. Den här uppgiften omfattar att hitta eller skapa en egen datauppsättning, rensa den så att den enkelt kan läsas av datorer, säkerställa att den är ett representativt exempel, identifiera vilka variabler som är relevanta för ditt mål och så vidare.
  2. Träna och testa. Därefter tillämpar dataforskare algoritmer på data för att träna en maskininlärningsmodell. Sedan testar de den med nya data för att se hur exakta förutsägelserna är.
  3. Paket. En modell kan inte placeras direkt i en app. Den måste vara containerbaserad, så att den kan köras med alla verktyg och ramverk som har använts i byggnaden.
  4. Verifiera. I det här läget utvärderar teamet hur modellprestandan jämförs med deras affärsmål. Testningen kan ha returnerat tillräckligt bra mått, men modellen kanske inte fungerar som förväntat när den används i ett verkligt affärsscenario.
    • Upprepa steg 1–4. Det kan ta hundratals träningstimmar att hitta en tillfredsställande modell. Utvecklingsteamet kan träna många versioner av modellen genom att justera träningsdata, justera algoritmens hyperparametrar eller prova helt olika algoritmer. Helst förbättras modellen med varje justeringsrunda. I slutändan är det utvecklingsteamets roll att avgöra vilken version av modellen som passar bäst för affärsanvändningsfallet.
  5. Deploy (Distribuera). Slutligen distribuerar de modellen i molnet (ofta via ett API), på en lokal server eller på gränsen på enheter som kameror, IoT-gatewayer eller maskiner.
  6. Övervaka och träna om. Även om en modell fungerar bra till en början måste den övervakas kontinuerligt och tränas om för att hålla sig relevant och korrekt.

A screenshot of a graph showing the ML lifecycle: prepare data, train model, package model, validate model, deploy mode, monitor model, and retrain model.

Livscykel för maskininlärning med hjälp av en fördefinierad modell

Att skapa en egen modell från grunden brukade vara standardalternativet. Boomen av fördefinierade modeller har dock förändrat paradigmet. Det blir allt vanligare att basera dina datavetenskapsprojekt på att integrera färdiga modeller och anpassa dem efter dina affärsbehov. Den här metoden kan ändra arbetsflödet avsevärt.

  1. Verifiera: Om du använder en fördefinierad modell börjar organisationer bara med att kontrollera om den fungerar för dem. Det är viktigt att så snart som möjligt förstå vilken färdig modell som ska användas och hur livskraftig den är.
    • Upprepa steg 1–4: Dataforskare upprepar steg 1–4 tills resultaten är tillräckligt bra. Det kan ofta ta lite tid för den färdiga modellen att leverera det som krävs.
  2. Tekniker frågar: Det är det första alternativet för att förbättra resultat som erhålls med en fördefinierad modell. Teamet måste förklara vad de behöver så att modellen förstår alla nyanser. Den här uppgiften innebär att omformulera begäran (prompt) tills modellen hämtar den. Det kan ta tid. Men medborgarutvecklare och till och med slutanvändare kan göra snabba tekniker om de vägleds av dataforskare. Den här metoden ger mer makt till företagsanvändare.
  3. Anpassa datauppsättning: Om prompttekniken inte förbättrar resultaten tillräckligt kan det bero på att den fördefinierade modellen är för generisk för det avsedda användningsfallet. Sedan måste dataexperter komplettera modellen med anpassade träningsdata.
  4. Träna och testa: Dataexperter kan lägga till ett anpassat träningslager ovanpå de färdiga modellerna med ytterligare data i steg 3. På så sätt får de en ny version av den fördefinierade modellen, skräddarsydd för ai-problemet som de försöker lösa. Ett annat alternativ är att utveckla en fullständig anpassad modell som täcker de luckor som lämnas av den färdiga modellen. Många modeller kan samexistera i en AI-lösning.
  5. Paketera och distribuera: Det finns olika sätt att använda en fördefinierad modell. I många fall kan det räcka att använda det via API. Den här metoden innebär att organisationen inte äger den och inte kan anpassa den, men den sparar tid för paketering och distribution av den. Om det har funnits någon nivå av anpassad utbildning måste AI-teamet paketera och distribuera den här nya versionen av modellen.
  6. Övervaka: Som alla modeller måste fördefinierade också kontrolleras regelbundet för att behålla sin kant. Dataexperter bör hålla sig uppdaterade om nya fördefinierade modeller. Nya anpassade utbildningar kan också behövas någon gång.

Vilket av de två metoderna är bättre? Det beror på scenariot. Att arbeta med färdiga modeller har fördelen att kräva mindre resurser och leverera resultat snabbare. Fördefinierade modeller tränas dock att lösa ett brett spektrum av användningsfall, så de kan kämpa för att uppfylla mycket specifika behov. I dessa fall kan en fullständig anpassad modell vara en bättre idé. En flexibel blandning av båda metoderna är ofta att föredra och hjälper till att skala. AI-team kan spara resurser med hjälp av färdiga modeller för de enklaste användningsfallen, samtidigt som de investerar dessa resurser i att skapa anpassade AI-modeller för de svåraste scenarierna. Ytterligare iterationer kan förbättra de fördefinierade modellerna genom att träna om dem.

Nu ska vi gå djupare in på de fördelar och affärsvärde som maskininlärningsåtgärder kan ge.