AI 101
Mikä on Federated Learning?

Mikä on Federated Learning?
Perinteinen tapa kouluttaa tekoälymalleja on perustaa palvelimia, joilla mallit koulutetaan datalla, usein pilvipohjaisen laskentapalvelun avulla. Viime vuosien aikana on kuitenkin kehittynyt vaihtoehtoinen mallin luomismuoto, jota kutsutaan federated learningiksi. Federated learning tuo koneoppimismallit datalähteelle, sen sijaan, että data tuodaan mallille. Federated learning liittää useat laskentalaitteet hajautettuun järjestelmään, joka sallii yksittäisten laitteiden, jotka keräävät dataa, osallistumisen mallin koulutukseen.
Federated learning -järjestelmässä eri laitteet, jotka ovat osa oppimisen verkostoa, ovat kullakin kopio mallista laitteessa. Eri laitteet/asiakkaat kouluttavat omaa mallikopiotaan asiakkaan paikallisilla tiedoilla, ja sitten yksittäisten mallien parametreja/painoja lähetetään päälaiteelle tai palvelimelle, joka aggregoi parametreja ja päivittää globaalia mallia. Tämä koulutusprosessi voidaan toistaa, kunnes haluttu tarkkuustaso saavutetaan. Lyhyesti sanottuna, federated learningin idea on, että mitään koulutusdataa ei koskaan siirretä laitteiden tai osapuolten välillä, vain malliin liittyvät päivitykset.
Federated learning voidaan jakaa kolmeen eri vaiheeseen tai prosessiin. Federated learning aloittaa yleensä geneerisellä mallilla, joka toimii pohjana ja joka on koulutettu keskuspalvelimella. Ensimmäisessä vaiheessa tämä geneerinen malli lähetetään sovelluksen asiakkaille. Nämä paikalliset kopiot koulutetaan asiakasjärjestelmien tuottamilla tiedoilla, ja ne oppivat ja parantavat suorituskykyään.
Toisessa vaiheessa asiakkaat lähettävät oppimansa malliparametreja keskuspalvelimelle. Tämä tapahtuu säännöllisesti sovittuna aikatauluna.
Kolmannessa vaiheessa palvelin aggregoi oppimansa parametreja, kun ne saapuvat. Parametrien aggregoinnin jälkeen keskusmalli päivitetään ja jaetaan uudelleen asiakkaiden kanssa. Koko prosessi toistuu.
Mallin kopion omistaminen eri laitteilla on, että verkkoviiveet vähenevät tai poistuvat. Datansaajan palvelimelle liittyvät kustannukset poistuvat myös. Muiden federated learning -menetelmien hyötyjä ovat se, että federated learning -mallit ovat yksityisyydensuojattuja, ja mallivastaukset ovat henkilökohtaisia laitteen käyttäjälle.
Federated learning -malliesimerkkejä ovat suositusmoottorit, petosmallit ja lääketieteelliset mallit. Media-suositusmoottorit, kuten Netflixin tai Amazonin käyttämät, voidaan kouluttaa tuhansien käyttäjien keräämällä datalla. Asiakaslaite kouluttaa oman erillisen mallinsa, ja keskusmalli oppii tekemään parempia ennusteita, vaikka yksittäiset datakohdat ovat yksilöllisiä eri käyttäjille. Vastaavasti pankkien käyttämät petosmallit voidaan kouluttaa useiden laitteiden toimintamalleilla, ja joukko pankkeja voi yhteistyössä kouluttaa yhteistä mallia. Lääketieteellisen federated learning -mallin osalta useat sairaalat voivat tehdä yhteistyötä kouluttaakseen yhteisen mallin, joka voi tunnistaa potentiaalisia kasvaimia lääketieteellisissä skannauksissa.
Federated Learning -tyypit
Federated learning -skeemat tyypillisesti kuuluvat kahteen eri luokkaan: monen osapuolen järjestelmät ja yksiosapuolen järjestelmät. Yksiosapuolen federated learning -järjestelmät ovat “yksiosapuolisia”, koska vain yksi taho on vastuussa datan keräämisen ja virtauksen valvonnasta kaikissa oppimisen verkoston asiakaslaitteissa. Mallit, jotka ovat asiakaslaitteissa, koulutetaan datalla, jolla on sama rakenne, vaikka datakohdat ovat tyypillisesti yksilöllisiä eri käyttäjille ja laitteille.
Yksiosapuolisen järjestelmän vastakohtana moniosapuoliset järjestelmät ovat hallinnoidaan useamman tahon toimesta. Nämä tahot tekevät yhteistyötä kouluttaakseen jaettua mallia hyödyntäen eri laitteita ja tietoja, joille heillä on pääsy. Parametrit ja tietorakenteet ovat tyypillisesti samanlaisia eri laitteissa, jotka kuuluvat eri tahoille, mutta ne eivät välttämättä ole täysin samanlaisia. Ennen mallin syöttämistä tehdään esikäsittely standardoidaaksesi mallin syötteet. Puolueeton taho voidaan käyttää aggregoimaan laitteiden määrittämät painot.
Federated Learning -kehykset
Suosittuja kehyksiä, joita käytetään federated learningiin, ovat Tensorflow Federated, Federated AI Technology Enabler (FATE) ja PySyft. PySyft on avoimen lähdekoodin federated learning -kirjasto, joka perustuu PyTorch-kirjastoon. PySyft on tarkoitettu varmistamaan yksityinen, turvallinen syväoppiminen palvelimien ja agenttien välillä salatun laskennan avulla. Tensorflow Federated on toinen avoimen lähdekoodin kehys, joka on rakennettu Google:n Tensorflow-alustalle. Sen lisäksi, että se mahdollistaa käyttäjien luoda omat algoritmit, Tensorflow Federated sallii käyttäjien simuloida useita sisällytettyjä federated learning -algoritmeja omilla malleillaan ja tiedoillaan. Lopulta FATE on myös avoimen lähdekoodin kehys, jonka on suunnitellut Webank AI, ja se on tarkoitettu tarjoamaan Federated AI -ekosysteemille turvallisen laskennan kehyksen.
Federated Learning -haasteet
Koska federated learning on vielä melko nuori, joukko haasteita on vielä ratkaistava, jotta se voi saavuttaa täyden potentiaalinsa. Reunalaiteiden koulutuskyky, datan merkintä ja standardisointi sekä mallin suppeus ovat potentiaalisia esteitä federated learning -lähestymistavoille.
Reunalaitteiden laskentakykyjen on otettava huomioon paikallisen koulutuksen suunnittelussa. Vaikka useimmat älypuhelimet, taulutietokoneet ja muut IoT-yhteensopivat laitteet pystyvät kouluttamaan koneoppimismalleja, se haittaa usein laitteen suorituskykyä. Tästä syystä on tehtävä kompromisseja mallin tarkkuuden ja laitteen suorituskyvyn välillä.
Datan merkintä ja standardisointi on toinen haaste, jonka federated learning -järjestelmien on voitettava. Valvottujen oppimismallien tarvitseman koulutusdatan on oltava selkeästi ja johdonmukaisesti merkitty, mikä voi olla haasteellista useiden asiakaslaitteiden osalta, jotka ovat osa järjestelmää. Tästä syystä on kehitettävä mallidataputkia, jotka soveltavat merkintöjä automaattisesti standardoiden perusteella tapahtumista ja käyttäjän toimista.
Mallin suppeus on toinen haaste federated learningille, koska federated learning -mallit suppeutuvat yleensä hitaammin kuin paikallisesti koulutetut mallit. Laitteiden määrä, jotka osallistuvat koulutukseen, lisää epävarmuuden elementin mallin koulutukseen, koska yhteysongelmat, epäsäännölliset päivitykset ja jopa erilaiset sovelluksen käyttöajat voivat vaikuttaa suppeusajan pidentymiseen ja luotettavuuden laskuun. Tästä syystä federated learning -ratkaisut ovat tyypillisesti hyödyllisimpiä, kun ne tarjoavat merkittäviä etuja keskusmallin koulutukseen verrattuna, kuten tilanteissa, joissa tietojoukko on erittäin suuri ja hajautettu.

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












