AI 101
Hva er Fordelt Læring?

Hva er Fordelt Læring?
Den tradisjonelle metoden for å trene AI-modeller innebærer å sette opp servere hvor modellene trenes på data, ofte gjennom bruk av en skybasert 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 de enkelte enhetene som samler inn data å bidra til å trene modellen.
I et fordelt læringssystem har de forskjellige enhetene som er en del av læringsnettet hver sin kopi av modellen på enheten. De forskjellige enhetene/klientene trenes på egen kopi av modellen ved hjelp av klientens lokale data, og deretter sendes parameterne/vektene fra de enkelte modellene til en hovedenhet eller server som agreggerer 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 baseline og trenes på en sentral server. I det første trinnet sendes denne generiske modellen ut til klientene i applikasjonen. Disse lokale kopiene trenes deretter på data generert av klientens systemer, og lærer og forbedrer sin ytelse.
I det andre trinnet sender klientene alle sine lærte modellparametre til den sentrale serveren. Dette skjer periodisk, på et fastsatte tidspunkt.
I det tredje trinnet agreggerer serveren de lærte parameterne når den mottar dem. Etter at parameterne er agregert, oppdateres den sentrale modellen og deles på nytt med klientene. Den hele prosessen gjentas deretter.
Fordelen med å ha en kopi av modellen på de forskjellige enhetene er at nettverksforsinkelsene 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 modellresponsene er tilpasset for brukeren av enheten.
Eksempler på fordelt læringmodeller inkluderer anbefalingsmotorer, svindelvarslingmodeller og medisinske modeller. Medieanbefalingsmotorer, av typen som brukes av Netflix eller Amazon, kan trenes på data samlet inn fra tusenvis av brukere. Klientenhetene trenes på egen separate modell, og den sentrale modellen lærer å gjøre bedre prediksjoner, selv om de enkelte datapunktene er unike for de forskjellige brukerne. Liknende, svindelvarslingmodeller brukt av banker kan trenes på mønster av aktivitet fra mange forskjellige enheter, og et håndfull forskjellige banker kan samarbeide om å trene en felles modell. I forhold til en medisinsk fordelt læringmodell, kan flere sykehus samarbeide om å trene en felles modell som kan 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. Enkeltpartssystemer for fordelt læring kalles “enkeltpart” fordi bare en enkelt enhet er ansvarlig for å overvåke innhenting og flyt av data over alle klientenhetene i læringsnettet. 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 være helt like. I stedet gjøres forbehandling for å standardisere inngangene til modellen. En nøytral enhet kan bli brukt til å agregere vektene etablert av enhetene 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 et åpen kildekode-bibliotek for fordelt læring basert på dyplæringsbiblioteket PyTorch. PySyft er ment å sikre privat, sikker dyplæring over servere og agenter ved hjelp av kryptert beregning. I tillegg er Tensorflow Federated et annet åpen kildekode-rammeverk bygget på Googles 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.
Udfordringer med Fordelt Læring
Da fordelt læring fortsatt er ganske ny, en rekke udfordringer må stadig bli forhandlet for at det skal nå sitt fulle potensiale. Treningsevnen til kantenhetene, dataetikettering og standardisering, og modellkonvergens er potensielle hindringer for fordelt læringstilnærminger.
De beregningsmessige evnene til kantenhetene, når det gjelder lokal trening, må bli vurdert når man designer fordelt læringstilnærminger. Mens de fleste smarttelefoner, nettbrett og andre IoT-kompatible enheter er i stand til å trene maskinlæringsmodeller, hemmer dette vanligvis enhetens ytelse. Kompromisser må bli gjort mellom modellnøyaktighet og enhetens ytelse.
Etikettering og standardisering av data er en annen udfordring som fordelt læringssystemer må overvinne. Overvåket læringsmodeller krever treningsdata som er tydelig og konsekvent etikettert, noe som kan være vanskelig å gjøre over de mange klientenhetene som er en del av systemet. Av denne grunn er det viktig å utvikle modelldata-rørledninger som automatisk pålegger etiketter på en standardisert måte basert på hendelser og brukerhandlinger.
Modellkonvergenstid er en annen udfordring for fordelt læring, da fordelt læringmodeller vanligvis tar lengre tid å konvergere enn lokalt trenede modeller. Antallet enheter involvert i treningsprosessen legger til en usikkerhetsfaktor i modelltreningsprosessen, da forbindelsesproblemer, uregelmessige oppdateringer og selv forskjellige applikasjonsbrukstider kan bidra til økt konvergenstid og redusert pålitelighet. Av denne grunn er fordelt læringssøsninger 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)












