AI 101

Hva er Fordelt Læring?

mm

Hva er Fordelt Læring?

Den tradisjonelle metoden for å trene AI-modeller innebærer å sette opp servere der modellene trenes på data, ofte gjennom bruk av en sky-basert dataplattform. Imidlertid har det over de siste årene oppstått en alternativ form for modellutvikling, kalt fordelt læring. Fordelt læring bringer maskinlæringsmodeller til datakilden, i stedet for å bringe data til modellen. Fordelt læring kobler sammen flere beregningsenheter i et desentralisert system som tillater at de enkelte enhetene som samler inn data kan bidra til å trene modellen.

I et fordelt læringssystem har de forskjellige enhetene som er en del av lærenettverket hver sin kopi av modellen på enheten. De forskjellige enhetene/klientene trenes på klientens lokale data, og deretter sendes parameterne/vektene fra de enkelte modellene til en hovedenhet, eller server, som samler parameterne og oppdaterer den globale modellen. Denne treningsprosessen kan deretter gjentas til en ønsket nivå av nøyaktighet er oppnådd. Kort sagt, ideen bak fordelt læring er at ingen av treningsdataene noen gang overføres mellom enheter eller mellom parter, bare oppdateringene relatert til modellen.

Fordelt læring kan deles inn i tre forskjellige trinn eller faser. Fordelt læring starter vanligvis med en generisk modell som fungerer som en basis og trenes på en sentral server. I det første trinnet sendes denne generiske modellen ut til klientene. Disse lokale kopiene trenes deretter på data generert av klientsystemene, og lærer og forbedrer sin ytelse.

I det andre trinnet sender klientene alle sine lært modellparametre til den sentrale serveren. Dette skjer periodisk, på en fastlagt tid.

I det tredje trinnet samler serveren de lært parameterne når den mottar dem. Etter at parameterne er samlet, oppdateres den sentrale modellen og deles igjen med klientene. Hele prosessen gjentas deretter.

Fordelen med å ha en kopi av modellen på de forskjellige enhetene er at nettverksforsinkelser reduseres eller elimineres. Kostnadene forbundet med å dele data med serveren elimineres også. Andre fordeler med fordelt læring inkluderer at fordelt læringmodeller er privatbevarte, og modellsvar er tilpasset for brukeren av enheten.

Eksempler på fordelt læringmodeller inkluderer anbefalingsmotorer, svindelmodeller og medisinske modeller. Medieanbefalingsmotorer, av typen brukt av Netflix eller Amazon, kan trenes på data samlet fra tusenvis av brukere. Klientenhetene ville trenes på sine egne separate modeller, og den sentrale modellen ville lære å gjøre bedre prediksjoner, selv om de enkelte datapunktene ville være unike for de forskjellige brukerne. Liksom svindelmodeller brukt av banker kan trenes på mønster av aktivitet fra mange forskjellige enheter, og et par forskjellige banker kunne samarbeide om å trene en felles modell. I forhold til en medisinsk fordelt læringmodell kunne flere sykehus samarbeide om å trene en felles modell som kunne gjenkjenne potensielle svulster gjennom medisinske skanninger.

Typer av Fordelt Læring

Fordelt læringsskjemaer faller vanligvis inn i en av to forskjellige klasser: flerpartssystemer og enkeltpartssystemer. Enkeltpartsfordelt læringssystemer kalles “enkeltpart” fordi bare en enkelt enhet er ansvarlig for å overvåke innhenting og flyt av data over alle klientenhetene i lærenettverket. Modellene som finnes på klientenhetene trenes på data med samme struktur, selv om datapunktene vanligvis er unike for de forskjellige brukerne og enhetene.

I motsetning til enkeltpartssystemer er flerpartssystemer styrt av to eller flere enheter. Disse enhetene samarbeider om å trene en felles modell ved å bruke de forskjellige enhetene og datasettene de har tilgang til. Parameterne og datastrukturene er vanligvis like over enhetene tilhørende de forskjellige enhetene, men de må ikke nødvendigvis være helt like. I stedet gjøres forbehandling for å standardisere inngangene til modellen. En nøytral enhet kan være ansvarlig for å samle vektene etablert av enhetene som er unike for de forskjellige enhetene.

Rammeverk for Fordelt Læring

Populære rammeverk brukt for fordelt læring inkluderer Tensorflow Federated, Federated AI Technology Enabler (FATE) og PySyft. PySyft er en åpen kildekode-rammeverk for fordelt læring basert på dyplæringbiblioteket PyTorch. PySyft er ment å sikre privat, sikker dyplæring over servere og agenter ved hjelp av kryptert beregning. Mens Tensorflow Federated er et annet åpen kildekode-rammeverk bygget på Google’s Tensorflow-plattform. I tillegg til å aktivere brukerne til å lage sine egne algoritmer, tillater Tensorflow Federated brukerne å simulere en rekke inkluderte fordelt læringalgoritmer på sine egne modeller og data. Til slutt er FATE også et åpen kildekode-rammeverk designet av Webank AI, og det er ment å gi Federated AI-økosystemet et sikkerhetsrammeverk.

Ufordringer i Fordelt Læring

Siden fordelt læring fortsatt er ganske ny, en rekke ufordringer må fortsatt overvindes for at det skal nå sitt fulle potensiale. Treningsevnen til kantenhetene, dataetikettering og standardisering, og modellkonvergens er potensielle hindringer for fordelt læringstiltak.

Treningsevnen til kantenhetene, når det gjelder lokal trening, må være aktuelle når man designer fordelt læringstiltak. Mens de fleste smarttelefoner, nettbrett og andre IoT-kompatible enheter er i stand til å trene maskinlæringsmodeller, hindrer dette vanligvis enhetens ytelse. Kompromisser må gjøres mellom modellnøyaktighet og enhetens ytelse.

Etikettering og standardisering av data er en annen utfordring som fordelt læringssystemer må overvinne. Overvåket læring krever treningdata som er tydelig og konsistent etikettert, noe som kan være vanskelig å gjøre over de mange klientenhetene som er en del av systemet. Derfor er det viktig å utvikle modelldata-rørledninger som automatisk tillegger etiketter på en standardisert måte basert på hendelser og brukerhandlinger.

Modellkonvergenstid er en annen utfordring for fordelt læring, da fordelt læringmodeller vanligvis tar lengre tid å konvergere enn lokalt trenede modeller. Antallet enheter involvert i treningen legger til en element av usikkerhet til modelltreningen, da forbindelsesproblemer, uregelmessige oppdateringer og sogar forskjellige applikasjonsbrukstider kan bidra til økt konvergenstid og redusert pålitelighet. Derfor er fordelt læringssystemer vanligvis mest nyttige når de tilbyr meningsfulle fordeler over sentral trening av en modell, som for eksempel når datasett er ekstremt store og distribuerte.

Foto: Jeromemetronome via Wikimedia Commons, CC By S.A. 4.0 (https://en.wikipedia.org/wiki/File:Federated_learning_process_central_case.png)

Blogger og programmerer med spesialområder i Machine Learning og Deep Learning emner. Daniel håper å hjelpe andre med å bruke kraften av AI for sosialt godt.