AI 101
Co je Federated Learning?

Co je Federated Learning?
Tradiční metoda školení modelů AI zahrnuje nastavení serverů, kde jsou modely školeny na datech, často prostřednictvím použití cloud-based výpočetní platformy. Nicméně, v posledních několika letech se objevila alternativní forma vytváření modelů, nazývaná federated learning. Federated learning přináší modely strojového učení k zdroji dat, spíše než přinášet data k modelu. Federated learning spojuje více výpočetních zařízení do decentralizovaného systému, který umožňuje jednotlivým zařízením, která shromažďují data, podílet se na školení modelu.
V systému federated learning mají různá zařízení, která jsou součástí sítě učení, každá kopii modelu na zařízení. Různá zařízení/klienti školuji svou vlastní kopii modelu pomocí místních dat klienta a poté se parametry/váhy z jednotlivých modelů odesílají na hlavní zařízení nebo server, který agreguje parametry a aktualizuje globální model. Tento proces školení lze poté opakovat, dokud není dosaženo požadované úrovně přesnosti. Stručně řečeno, nápad za federated learningem je, že žádná ze školicích dat není nikdy přenášena mezi zařízeními nebo mezi stranami, pouze aktualizace související s modelem.
Federated learning lze rozdělit do tří různých kroků nebo fází. Federated learning obvykle začíná generickým modelem, který slouží jako základ a je školen na centrálním serveru. V prvním kroku je tento generický model odeslán na klienty aplikace. Tyto místní kopie jsou poté školeny na datech generovaných klienty, učí se a zlepšují své výkony.
Ve druhém kroku klienti odesílají své naučené parametry modelu na centrální server. To se děje pravidelně, podle stanoveného plánu.
Ve třetím kroku server agreguje naučené parametry, když je obdrží. Po agregaci parametrů je centrální model aktualizován a sdílen znovu s klienty. Celý proces se poté opakuje.
Výhoda mít kopii modelu na různých zařízeních je, že se snižují nebo eliminují síťové prodlevy. Náklady spojené s sdílením dat se serverem jsou také eliminovány. Další výhody federated learning metod zahrnují fakt, že modely federated learning jsou zachovány v soukromí a odpovědi modelu jsou personalizovány pro uživatele zařízení.
Příklady modelů federated learning zahrnují doporučení, modely detekce podvodů a medicínské modely. Média doporučení, jako je Netflix nebo Amazon, by mohla být školeny na datech shromážděných z tisíců uživatelů. Klienti by školovali své vlastní samostatné modely a centrální model by se naučil dělat lepší předpovědi, i když by jednotlivá data byla jedinečná pro různé uživatele. Podobně, modely detekce podvodů používané bankami by mohly být školeny na vzorcích aktivit z mnoha různých zařízení a několik bank by mohlo spolupracovat na školení společného modelu. V případě medicínského modelu federated learning by mohly několik nemocnic spolupracovat na školení společného modelu, který by mohl rozpoznat potenciální nádory prostřednictvím medicínských snímků.
Typy Federated Learning
Schéma federated learning obvykle spadají do jedné ze dvou různých tříd: multi-stranické systémy a jedno-stranické systémy. Jedno-stranické systémy federated learning se nazývají “jedno-stranické”, protože pouze jedna entita je odpovědná za dohled nad zachycením a tokem dat napříč všemi klienty v síti učení. Modely, které existují na klientech, jsou školeny na datech se stejnou strukturou, i když data jsou obvykle jedinečná pro různé uživatele a zařízení.
Na rozdíl od jedno-stranických systémů jsou multi-stranické systémy spravovány dvěma nebo více entitami. Tyto entity spolupracují na školení sdíleného modelu pomocí různých zařízení a datových sad, ke kterým mají přístup. Parametry a datové struktury jsou obvykle podobné napříč zařízeními patřícími k několika entitám, ale nemusí být přesně stejné. Místo toho se provádí předzpracování, aby se standardizovaly vstupy modelu. Neutralní entita by mohla být zaměstnána k agregaci váhy stanovené zařízeními jedinečnými pro různé entity.
Rámce pro Federated Learning
Populární rámce používané pro federated learning zahrnují Tensorflow Federated, Federated AI Technology Enabler (FATE) a PySyft. PySyft je open-source knihovna federated learning založená na knihovně hlubokého učení PyTorch. PySyft je určen k zajištění soukromého, zabezpečeného hlubokého učení napříč servery a agenty pomocí šifrovaného výpočtu. Zatímco Tensorflow Federated je další open-source rámec postavený na platformě Google Tensorflow. Kromě umožnění uživatelům vytvářet své vlastní algoritmy, Tensorflow Federated umožňuje uživatelům simulovat řadu zahrnutých algoritmů federated learning na svých vlastních modelech a datech. Nakonec, FATE je také open-source rámec navrženým Webank AI, a je určen k poskytnutí Federated AI ekosystému zabezpečené výpočetní rámce.
Výzvy Federated Learning
Jelikož federated learning je stále poměrně novým, řadu výzev je třeba ještě vyřešit, aby dosáhl svého plného potenciálu. Školicí schopnosti zařízení na okraji, označení a standardizace dat a konvergence modelu jsou potenciální překážky pro přístupy federated learning.
Výpočetní schopnosti zařízení na okraji, pokud jde o místní školení, je třeba zvážit při navrhování přístupů federated learning. Zatímco většina smartphonů, tabletů a dalších zařízení IoT je schopna školení modelů strojového učení, toto obvykle omezuje výkon zařízení. Musí se učinit kompromisy mezi přesností modelu a výkonem zařízení.
Označení a standardizace dat je další výzvou, kterou systémy federated learning musí překonat. Modely supervizovaného učení vyžadují školicí data, která jsou jasně a konzistentně označena, což může být obtížné provést napříč mnoha klienty, kteří jsou součástí systému. Z tohoto důvodu je důležité vyvinout datové potrubí modelu, které automaticky aplikují štítky standardizovaným způsobem na základě událostí a akcí uživatelů.
Čas konvergence modelu je další výzvou pro federated learning, jelikož modely federated learning obvykle vyžadují déle k dosažení konvergence než lokálně školené modely. Počet zařízení zapojených do školení přidává prvek nepředvídatelnosti do školení modelu, protože problémy s připojením, nepravidelné aktualizace a dokonce i různé časy použití aplikace mohou přispět ke zvýšenému času konvergence a snížené spolehlivosti. Z tohoto důvodu jsou řešení federated learning obvykle nejvíce užitečná, když poskytují smysluplné výhody oproti centrálnímu školení modelu, jako je například v případech, kdy jsou datové sady extrémně velké a distribuované.

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












