AI 101

Mikä on Federated Learning?

mm

Mikä on Federated Learning?

Perinteinen tapa kouluttaa tekoälymallit tapahtuu asettamalla palvelimet, joilla mallit koulutetaan datasta, usein pilvipohjaisen laskentapohjaisen alustan avulla. Viime vuosien aikana on kuitenkin kehittynyt vaihtoehtoinen mallin luomismuoto, jota kutsutaan federated learningiksi. Federated learning tuo tekoälymallit data-lähteeseen, sen sijaan, että data tuodaan malliin. 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 verkkoa, ovat kullekin laitteelle kopioitu malli. Eri laitteet/asiakkaat kouluttavat omaa mallikopiotaan asiakkaan paikallisella datasta, ja sitten yksittäisten mallien parametreja/painoja lähetetään päälaiteelle tai palvelimelle, joka yhdistää parametreja ja päivittää globaalin mallin. Tämä koulutusprosessi voidaan toistaa, kunnes haluttu tarkkuustaso saavutetaan. Lyhyesti sanottuna, federated learningin idea on, että koulutusdataa ei koskaan siirretä laitteiden tai osapuolten välillä, vaan ainoastaan malliin liittyvät päivitykset.

Federated learning voidaan jakaa kolmeen eri vaiheeseen tai prosessiin. Federated learning alkaa yleensä geneerisestä mallista, joka toimii pohjana ja koulutetaan keskuspalvelimella. Ensimmäisessä vaiheessa tämä geneerinen malli lähetetään sovelluksen asiakkaille. Nämä paikalliset kopiot koulutetaan datasta, joka on tuotettu asiakasjärjestelmistä, ja ne oppivat ja parantavat suorituskykyään.

Toisessa vaiheessa asiakkaat lähettävät oppimansa mallin parametreja keskuspalvelimelle. Tämä tapahtuu säännöllisesti, ja se on aikataulutettu.

Kolmannessa vaiheessa palvelin yhdistää oppimansa parametreja, kun se vastaanottaa ne. Parametrien yhdistämisen jälkeen keskusmalli päivitetään ja jaetaan uudelleen asiakkaiden kanssa. Koko prosessi toistuu sitten.

Mallin kopion etu laitteilla on, että verkko-viiveet vähenevät tai poistuvat. Datansaajan kanssa jaettavien kustannusten poistuminen on myös etu. Muita federated learning -menetelmien etuja ovat se, että federated learning -mallit ovat yksityisyyden suojaamia, ja mallivasteet ovat henkilökohtaisia käyttäjälle.

Esimerkkejä federated learning -malleista ovat suosittelumootorit, petosmallit ja lääketieteelliset mallit. Media-suositusmoottorit, kuten Netflixin tai Amazonin käyttämät, voidaan kouluttaa tuhansien käyttäjien keräämästä datasta. Asiakaslaite kouluttaa oman mallinsa, ja keskusmalli oppii tekemään parempia ennusteita, vaikka yksittäiset data-pisteet ovat yksilöllisiä eri käyttäjille. Vastaavasti, pankkien käyttämät petosmallit voidaan kouluttaa useiden laitteiden toimintamalleista, ja joukko pankkeja voi yhteistyössä kouluttaa yhteisen mallin. Lääketieteellisessä federated learning -mallissa useat sairaalat voivat yhdistyä kouluttamaan yhteistä mallia, joka voi tunnistaa mahdollisia kasvaimia lääketieteellisistä skannauksista.

Federated Learning -tyypit

Federated learning -skeemat jaetaan yleensä kahteen eri luokkaan: monen osapuolen järjestelmät ja yhden osapuolen järjestelmät. Yhden osapuolen federated learning -järjestelmät ovat “yhden osapuolen”, koska ainoastaan yksi osapuoli on vastuussa datan keräämisestä ja siirtämisestä kaikille asiakaslaitteille oppimisen verkossa. Mallit, jotka ovat asiakaslaitteilla, koulutetaan datasta, jolla on sama rakenne, vaikka datapisteet ovat yleensä yksilöllisiä eri käyttäjille ja laitteille.

Toisin kuin yhden osapuolen järjestelmät, monen osapuolen järjestelmät ovat useiden osapuolten hallinnassa. Nämä osapuoliet toimivat yhdessä kouluttaakseen jaettua mallia hyödyntäen laitteita ja tietoja, joihin heillä on pääsy. Parametrit ja tietorakenteet ovat yleensä samanlaisia laitteilla, jotka kuuluvat eri osapuolille, mutta ne eivät välttämättä ole täysin samanlaisia. Esikäsittely tehdään standardoidakseen mallin syötteitä. Puolueeton osapuoli voidaan käyttää painojen yhdistämiseen laitteista, jotka ovat yksilöllisiä eri osapuolille.

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 -syvän oppimisen 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. Se sallii käyttäjien luoda omat algoritmit ja simuloida useita sisällytettyjä federated learning -algoritmeja omilla malleillaan ja datastaan. Lopuksi, FATE on myös avoimen lähdekoodin kehys, joka on suunniteltu Webank AI:lle, ja se on tarkoitettu tarjoamaan Federated AI -ekosysteemille turvallisen laskennan kehyksen.

Federated Learning -haasteet

Koska federated learning on vielä melko nuori, useita haasteita on vielä ratkaistava, jotta se voi saavuttaa täyden potentiaalinsa. Reunalaiteiden laskentakyky, datan merkintä ja standardisointi sekä mallin suppeneminen ovat potentiaalisia esteitä federated learning -lähestymistavoille.

Reunalaiteiden laskentakykyä on tarkasteltava paikallisen koulutuksen suunnittelussa. Vaikka useimmat älypuhelimet, taulutietokoneet ja muut IoT-yhteensopivat laitteet pystyvät kouluttamaan tekoälymallit, se haittaa usein laitteen suorituskykyä. Tässä 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. Valvottu oppiminen vaatii koulutusdataa, joka on selvästi ja johdonmukaisesti merkitty, mikä voi olla haasteellista useiden asiakaslaitteiden osalta, jotka ovat osa järjestelmää. Tämän vuoksi on tärkeää kehittää mallin data-putkia, jotka soveltavat merkintöjä johdonmukaisesti tapahtumien ja käyttäjän toimien perusteella.

Mallin suppenemisaika on myös haaste federated learningille, koska federated learning -mallit kestää yleensä kauemmin suppenemiseen verrattuna paikallisesti koulutettuihin malleihin. Laitteiden määrä, jotka osallistuvat koulutukseen, lisää epävarmuutta mallin koulutukseen, koska yhteyden ongelmia, epäsäännöllisiä päivityksiä ja eri sovelluksen käyttöaikoja voidaan lisätä suppenemisajan pidentämiseen ja luotettavuuden vähentämiseen. Tämän vuoksi federated learning -ratkaisut ovat yleensä hyödyllisimpiä, kun ne tarjoavat merkittäviä etuja keskusmallin koulutukseen, kuten tapauksissa, joissa tietokannat ovat erittäin suuria ja hajautettuja.

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

Blogger ja ohjelmoija, jolla on erityisalat Machine Learning ja Deep Learning -aiheissa. Daniel toivoo pystyvänsä auttamaan muita käyttämään tekoälyn voimaa sosiaaliseen hyvään.