Ett paradigmskifte inom AI och maskininlärning

Federated representerar ett avbrott från det traditionella sättet att samla in data och träna maskininlärningsmodeller.

Med federerad inlärning drar utvecklingen av maskininlärning nytta av billigare utbildning som respekterar datasekretess. Den här artikeln vägleder vad federerat lärande är, hur det fungerar, applikationer och ramverk.

Vad är Federated Learning?

Källa: Wikipedia

Federated Learning är ett skifte i hur maskininlärningsmodeller tränas. I de flesta maskininlärningsmodeller samlas data in i ett centralt arkiv från flera klienter. Från detta centrala arkiv tränas maskininlärningsmodeller och används sedan för att göra förutsägelser. Federated Learning gör tvärtom. Istället för att skicka data till ett centralt arkiv, tränar klienter modeller på sina data. Detta hjälper dem att hålla sina privata uppgifter privata.

Läs också: De bästa maskininlärningsmodellerna förklaras

Hur fungerar federerat lärande?

Lärande i Federated Learning består av en serie atomära steg som producerar en modell. Dessa steg kallas inlärningsrundor. En typisk inlärningsuppsättning itererar genom dessa omgångar, vilket förbättrar modellen vid varje steg. Varje inlärningsrunda innefattar följande steg.

En typisk inlärningsrunda

Först väljer servern den modell som ska tränas och hyperparametrar som antalet rundor, klientnoder som ska användas och andelen noder som används vid varje nod. Vid denna tidpunkt initieras modellen också med de initiala parametrarna för att bilda basmodellen.

Därefter får kunderna kopior av en basmodell att träna. Dessa klienter kan vara mobila enheter, persondatorer eller servrar. De tränar modellen på sin lokala data och undviker på så sätt att dela känslig data med servrarna.

När klienter har tränat modellen på sina lokala data skickar de tillbaka den till servern som en uppdatering. När den tas emot av servern beräknas ett genomsnitt av uppdateringen tillsammans med uppdateringar från andra klienter för att skapa en ny basmodell. Eftersom klienter kan vara opålitliga kan det hända att vissa klienter inte skickar in sina uppdateringar för närvarande. Vid denna tidpunkt kommer servern att hantera alla fel.

Innan basmodellen kan omplaceras måste den testas. Servern lagrar dock inte data. För att testa modellen skickas den därför tillbaka till klienterna, där den testas mot deras lokala data. Om den är bättre än den tidigare basmodellen, antas den och används istället.

Här är en hjälpsam guide om hur federerat lärande fungerar från Federated Learning-teamet på Google AI.

Centraliserad vs. Federerad vs. Heterogen

I denna uppställning finns en central server som ansvarar för att styra inlärningen. Denna typ av installation kallas Centralized Federated Learning.

Motsatsen till centraliserat lärande skulle vara decentraliserat federerat lärande, där klienter samordnar sig peer-to-peer.

Den andra uppsättningen heter Heterogenous Learning. I den här installationen har klienter inte nödvändigtvis samma globala modellarkitektur.

Fördelar med Federated Learning

  • Den största fördelen med att använda federerad inlärning är att det hjälper till att hålla privata data privata. Kunder delar med sig av resultaten av träningen, inte de uppgifter som används i utbildningen. Protokoll kan också sättas in för att aggregera resultat så att de inte kan kopplas till en viss kund.
  • Det minskar också nätverkets bandbredd eftersom ingen data delas mellan klienten och servern. Istället utbyts modeller mellan klienten och servern.
  • Det minskar också kostnaderna för träningsmodeller, eftersom det inte finns något behov av att köpa dyr träningshårdvara. Utvecklare använder istället klientens hårdvara för att träna modeller. På grund av den lilla data som är involverad belastar det inte klientens enhet.

Nackdelar med Federated Learning

  • Denna modell beror på deltagandet av många olika noder. Några av dem kontrolleras inte av utvecklaren. Därför är deras tillgänglighet inte garanterad. Detta gör träningshårdvaran opålitlig.
  • Klienterna som modellerna tränas på är inte precis kraftfulla GPU:er. Istället är de vanliga enheter som telefoner. Dessa enheter, även sammantaget, kanske inte är tillräckligt kraftfulla jämfört med GPU-kluster.
  • Federerat lärande förutsätter också att alla klientnoder är pålitliga och arbetar för det gemensamma bästa. Men vissa kanske inte, och de kan utfärda dåliga uppdateringar för att orsaka modelldrift.

Tillämpningar av Federated Learning

Federated Learning möjliggör inlärning samtidigt som integriteten bevaras. Detta är användbart i många situationer, till exempel:

  • Nästa ords förutsägelser på smartphonetangentbord.
  • IoT-enheter som kan träna modeller lokalt på de specifika kraven i den situation de befinner sig i.
  • Läkemedels- och hälsovårdsindustrin.
  • Försvarsindustrin skulle också dra nytta av utbildningsmodeller utan att dela känslig information.

Ramar för federerat lärande

Det finns många ramverk för att implementera Federated Learning-mönster. Några av de bästa inkluderar NVFlare, FATE, Flower och PySft. Läs den här guiden för en detaljerad jämförelse av de olika ramverken du kan använda.

Slutsats

Den här artikeln var en introduktion till Federated Learning, hur det fungerar, samt fördelarna och nackdelarna med att implementera det. Dessutom täckte jag också de populära applikationer och ramverk som används för att implementera Federated Learning i produktion.

Läs sedan en artikel om de bästa MLOps-plattformarna för att träna dina maskininlärningsmodeller.