AI-mallit ja alustat
Ubersin Kuitu on uusi hajautettu tekoälymallin koulutuskehys
VentureBeatin mukaan Uberin tekoälytutkijat ovat vastikään julkaissut tutkimuspaperin Arxivissa, jossa esitellään uusi alusta, jolla pyritään auttamaan hajautettujen tekoälymallien luomisessa. Alusta on nimeltään Kuitu, ja sitä voidaan käyttää sekä vahvistusoppimisen tehtävissä että populaatiopohjaisessa oppimisessa. Kuitu on suunniteltu tekemään suurten mittakaavojen rinnakkaislaskenta helpommin saataville ei-asiantuntijoille, jotta he voivat hyödyntää hajautettujen tekoälyalgoritmien ja mallien voimaa.
Kuitu on vastikään julkaistu avoimena lähdekoodina GitHubissa, ja se on yhteensopiva Python 3.6: n tai uudemman version kanssa, Kubernetesin kanssa Linux-järjestelmällä ja pilviympäristössä. Tutkijaryhmän mukaan alusta pystyy helposti skaalautumaan satoihin tai jopa tuhansiin yksittäisiin koneisiin.
Uberin tutkijaryhmä selittää, että monet viimeaikaisista ja merkittävistä edistysaskelista tekoälyssä ovat johtuneet suuremmista malleista ja algoritmeista, jotka on koulutettu hajautetun koulutuksen avulla. Hajautettujen populaatiomallien ja vahvistusmallien luominen on kuitenkin edelleen haasteellista hajautetun koulutuksen suunnitelmissa, sillä niissä on usein ongelmia tehokkuuden ja joustavuuden kanssa. Kuitu tekee hajautetusta järjestelmästä luotettavamman ja joustavamman yhdistämällä klusterin hallintasoftwaren dynaamiseen skaalautumiseen ja sallimalla käyttäjien siirtää työnsä yhdestä koneesta useisiin koneisiin vaivattomasti.
Kuitu koostuu kolmesta eri osasta: API: sta, taustapalvelimesta ja klusterikerroksesta. API-kerros mahdollistaa käyttäjien luoda esimerkiksi jonot, hallinnat ja prosessit. Taustapalvelin kerros sallii käyttäjien luoda ja lopettaa työt, jotka hallitaan eri klustereiden avulla, ja klusterikerros hallinnoi yksittäisiä klustereita ja niiden resursseja, mikä vähentää merkittävästi Kuitun seurattavien asioiden määrää.
Kuitu mahdollistaa työn jonottamisen ja suorittamisen etäältä yhdellä paikallisella koneella tai useilla eri koneilla käyttäen työn takaisinperintäprosesseja. Kuitu käyttää myös kontteja varmistamaan, että esimerkiksi syöteaineisto ja riippuvat paketit ovat itsenäisiä. Kuitu-kehys sisältää myös sisäänrakennetun virheenkäsittelyn, jolloin työntekijä voidaan nopeasti elvyttää, jos se kaatuu. Kuitu pystyy tekemään kaiken tämän vuorovaikuttaen klusterin hallinnan kanssa, jotta Kuitu-sovellukset voivat suorittaa niin, kuin ne olisivat normaaleja sovelluksia, jotka suoritetaan tietokoneklusterissa.
Kokeelliset tulokset osoittivat, että Kuitun vastausaika oli keskimäärin muutamia millisekunteja, ja se skaalautui myös paremmin kuin perusTekoälytekniikat, kun se rakennettiin 2048 prosessorin ytimellä/työntekijällä. Työn suorittamiseen tarvittava aika väheni vähitellen työntekijöiden määrän kasvaessa. IPyParallel suoritti 50 koulutusiteraatiota noin 1400 sekunnissa, kun taas Kuitu suoritti samat 50 koulutusiteraatiota noin 50 sekunnissa 512 työntekijän ollessa saatavilla.
Kuitu-tutkimuksen tekijät selittävät, että Kuitu pystyy saavuttamaan useita tavoitteita, kuten dynaamisen skaalautumisen algoritmeja ja suurten tietomäärien käytön:
“[Meidän työmme osoittaa], että Kuitu saavuttaa useita tavoitteita, kuten tehokkaan hyödyntämisen suuren määrän heterogeenisen laskentalaitteiston, dynaamisen skaalautumisen algoritmeja resurssien käytön tehokkuuden parantamiseksi, vähentämällä insinöörien työtaakkaa, jotta vahvistusoppimisen ja populaatiopohjaiset algoritmit toimisivat tietokoneklustereilla, ja nopeasti sopeutumalla eri laskentaympäristöihin tutkimuksen tehokkuuden parantamiseksi. Odotamme, että se edistää edelleen vaikeiden [vahvistusoppimisen] ongelmien ratkaisua [vahvistusoppimisen] algoritmeilla ja populaatiopohjaisilla menetelmillä tekemällä näiden menetelmien kehittämisen ja kouluttamisen helpommaksi ja skaalautumisen, jotta ne voidaan nähdä oikeasti loistavina.”












