AI 101
Vad är Federated Learning?

Vad är Federated Learning?
Den traditionella metoden för att träna AI-modeller innebär att man ställer upp servrar där modellerna tränas på data, ofta med hjälp av en molnbaserad beräkningsplattform. Men under de senaste åren har en alternativ form av modellskapande uppstått, som kallas federated learning. Federated learning bringar maskinlärningsmodeller till datakällan, snarare än att bringa data till modellen. Federated learning kopplar samman flera beräkningsenheter till ett decentraliserat system som tillåter de enskilda enheterna som samlar in data att bidra till att träna modellen.
I ett federated learning-system har de olika enheterna som är en del av läsnätverket var sin kopia av modellen på enheten. De olika enheterna/klenterna tränar sin egen kopia av modellen med hjälp av klientens lokala data, och sedan skickas parametrarna/vikterna från de enskilda modellerna till en mästerenhet, eller server, som aggregerar parametrarna och uppdaterar den globala modellen. Denna träningsprocess kan sedan upprepas tills en önskad nivå av noggrannhet uppnås. I korthet är idén bakom federated learning att ingen av träningsdata någonsin överförs mellan enheter eller mellan parter, endast uppdateringarna relaterade till modellen.
Federated learning kan delas in i tre olika steg eller faser. Federated learning börjar vanligtvis med en generisk modell som fungerar som en baslinje och tränas på en central server. I det första steget skickas den generiska modellen ut till applikationens kunder. Dessa lokala kopior tränas sedan på data som genereras av klient-systemen, och lär sig och förbättrar sin prestanda.
I det andra steget skickar kunderna alla sina inlärda modellparametrar till den centrala servern. Detta sker periodiskt, enligt en fast schema.
I det tredje steget aggregerar servern de inlärda parametrarna när den tar emot dem. Efter att parametrarna har aggregerats uppdateras den centrala modellen och delas igen med kunderna. Hela processen upprepas sedan.
Fördelen med att ha en kopia av modellen på de olika enheterna är att nätverksfördröjningar minskas eller elimineras. Kostnaderna förknippade med att dela data med servern elimineras också. Andra fördelar med federerade inlärningsmetoder inkluderar det faktum att federerade inlärningsmodeller är sekretesskyddade, och modellsvar är personliga för användaren av enheten.
Exempel på federerade inlärningsmodeller inkluderar rekommendationsmotorer, bedrägeridetekteringsmodeller och medicinska modeller. Media-rekommendationsmotorer, av den typ som används av Netflix eller Amazon, kunde tränas på data som samlats in från tusentals användare. Klientenheterna skulle träna sina egna separata modeller och den centrala modellen skulle lära sig att göra bättre förutsägelser, även om de enskilda datapunkterna skulle vara unika för de olika användarna. På samma sätt kunde bedrägeridetekteringsmodeller som används av banker tränas på aktivitetsmönster från många olika enheter, och ett fåtal olika banker kunde samarbeta för att träna en gemensam modell. När det gäller en medicinsk federerad inlärningsmodell kunde flera sjukhus samarbeta för att träna en gemensam modell som kunde känna igen potentiella tumörer genom medicinska undersökningar.
Typer av Federated Learning
Federerade inlärningsscheman faller vanligtvis in i en av två olika klasser: flerpartssystem och enpartssystem. Enpartssystem kallas “enpart” eftersom endast en enhet är ansvarig för att övervaka insamlingen och flödet av data över alla klientenheter i läsnätverket. Modellerna som finns på klientenheterna tränas på data med samma struktur, även om datapunkterna vanligtvis är unika för de olika användarna och enheterna.
I kontrast till enpartssystem är flerpartssystem hanterade av två eller flera enheter. Dessa enheter samarbetar för att träna en gemensam modell genom att använda de olika enheterna och datamängderna de har tillgång till. Parametrarna och datastrukturerna är vanligtvis liknande över enheterna som tillhör de olika enheterna, men de behöver inte vara exakt desamma. I stället görs förbearbetning för att standardisera modellens indata. En neutral enhet kan anställas för att aggregera vikterna som fastställs av enheterna som är unika för de olika enheterna.
Ramverk för Federated Learning
Populära ramverk som används för federerad inlärning inkluderar Tensorflow Federated, Federated AI Technology Enabler (FATE) och PySyft. PySyft är ett öppen källkods bibliotek för federerad inlärning baserat på det djupa inlärningsbiblioteket PyTorch. PySyft är avsett att säkerställa privat, säker djupinlärning över servrar och agenter med hjälp av krypterad beräkning. Medan Tensorflow Federated är ett annat öppen källkods ramverk byggt på Googles Tensorflow-plattform. Utöver att möjliggöra för användare att skapa sina egna algoritmer, tillåter Tensorflow Federated användare att simulera ett antal inkluderade federerade inlärningsalgoritmer på sina egna modeller och data. Slutligen är FATE också ett öppen källkods ramverk utformat av Webank AI, och det är avsett att tillhandahålla Federated AI-ekosystemet med ett säkert beräkningsramverk.
Utmaningar med Federated Learning
Eftersom federerad inlärning fortfarande är ganska ny, ett antal utmaningar måste fortfarande hanteras för att det ska uppnå sin fulla potential. De beräkningsförmågor som krävs för att träna lokalt på kanten, dataetikettering och standardisering, samt modellkonvergens är potentiella hinder för federerade inlärningsmetoder.
De beräkningsförmågor som krävs för att träna lokalt på kanten måste beaktas när man utformar federerade inlärningsmetoder. Medan de flesta smartphones, surfplattor och andra IoT-kompatibla enheter kan träna maskinlärningsmodeller, hämmar detta vanligtvis enhetens prestanda. Kompromisser måste göras mellan modellnoggrannhet och enhetsprestanda.
Etikettering och standardisering av data är en annan utmaning som federerade inlärningssystem måste övervinna. Övervakade inlärningsmodeller kräver träningsdata som är tydligt och konsekvent etiketterade, vilket kan vara svårt att göra över de många klientenheter som är en del av systemet. Av denna anledning är det viktigt att utveckla modelldata pipelines som automatiskt tillämpar etiketter på ett standardiserat sätt baserat på händelser och användaråtgärder.
Modellkonvergens tid är en annan utmaning för federerad inlärning, eftersom federerade inlärningsmodeller vanligtvis tar längre tid att konvergera än lokalt tränade modeller. Antalet enheter som deltar i träningen lägger till en osäkerhetsfaktor i modellträningen, eftersom anslutningsproblem, oregelbundna uppdateringar och även olika applikationsanvändningstider kan bidra till ökad konverenstid och minskad tillförlitlighet. Av denna anledning är federerade inlärningslösningar vanligtvis mest användbara när de tillhandahåller meningsfulla fördelar jämfört med att träna en modell centralt, såsom i fall där datamängder är extremt stora och distribuerade.

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












