Opeta neuroverkot automaattisesti uudelleen Renate PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.

Opeta neuroverkot automaattisesti uudelleen Renaten avulla

Tänään ilmoitamme yleisestä saatavuudesta Renate, avoimen lähdekoodin Python-kirjasto automaattiseen mallin uudelleenkoulutukseen. Kirjasto tarjoaa jatkuvan oppimisalgoritmeja, jotka pystyvät asteittain kouluttamaan hermoverkkoa, kun enemmän tietoa tulee saataville.

Avoimen lähdekoodin Renaten avulla haluamme luoda paikan, jossa todellisten koneoppimisjärjestelmien parissa työskentelevät harjoittajat ja tutkijat, jotka ovat kiinnostuneita edistämään automaattisen koneoppimisen, jatkuvan oppimisen ja elinikäisen oppimisen huippua, kohtaavat. Uskomme, että synergia näiden kahden yhteisön välillä synnyttää uusia ideoita koneoppimisen tutkimusyhteisössä ja tarjoaa konkreettisen positiivisen vaikutuksen tosielämän sovelluksiin.

Mallin uudelleenkoulutus ja katastrofaalinen unohtaminen

Neuroverkkojen asteittainen kouluttaminen ei ole yksinkertainen tehtävä. Käytännössä eri ajankohtina annetut tiedot otetaan usein eri jakaumista. Esimerkiksi kysymysvastausjärjestelmissä aiheiden jakautuminen kysymyksissä voi vaihdella merkittävästi ajan myötä. Luokitusjärjestelmissä uusien luokkien lisääminen voi olla tarpeen, kun tietoja kerätään eri puolilta maailmaa. Aiemmin koulutettujen mallien hienosäätö uusilla tiedoilla näissä tapauksissa johtaa ilmiöön, jota kutsutaan "katastrofiiseksi unohtamiseksi". Viimeisimmät esimerkit pärjäävät hyvin, mutta aiemmin kerätylle tiedolle tehtyjen ennusteiden laatu heikkenee merkittävästi. Lisäksi suorituskyvyn heikkeneminen on vielä vakavampaa, kun uudelleenkoulutus tapahtuu säännöllisesti (esim. päivittäin tai viikoittain).

Kun pienen osan dataa on mahdollista tallentaa, vanhan tiedon uudelleenkäyttöön perustuvat menetelmät uudelleenkoulutuksen aikana voivat osittain lievittää katastrofaalista unohtamisongelmaa. Tämän ajatuksen mukaisesti on kehitetty useita menetelmiä. Jotkut niistä tallentavat vain raakadataa, kun taas edistyneemmät myös lisää metatietoja (esim. datapisteiden väliesitys muistissa). Pienen tietomäärän (esim. tuhansien tietopisteiden) tallentaminen ja niiden huolellinen käyttö johti alla olevassa kuvassa näkyvään ylivoimaiseen suorituskykyyn.

Tuo oma mallisi ja tietokokoelmasi

Neuraaliverkkomalleja opetettaessa saattaa olla tarpeen muuttaa verkon rakennetta, datan muuntamista ja muita tärkeitä yksityiskohtia. Vaikka koodin muutokset ovat rajallisia, siitä voi tulla monimutkainen tehtävä, kun nämä mallit ovat osa suurta ohjelmistokirjastoa. Näiden haittojen välttämiseksi Renate tarjoaa asiakkaille mahdollisuuden määrittää mallinsa ja tietojoukonsa ennalta määritetyissä Python-funktioissa osana määritystiedostoa. Tämän etuna on, että asiakkaiden koodi pysyy selkeästi erillään muusta kirjastosta ja asiakkaat, jotka eivät tiedä Renaten sisäisestä rakenteesta, voivat käyttää kirjastoa tehokkaasti.

Lisäksi kaikki toiminnot, mukaan lukien mallin määrittely, ovat erittäin joustavia. Itse asiassa mallinmääritystoiminnon avulla käyttäjät voivat luoda hermoverkkoja tyhjästä omien tarpeidensa mukaan tai luoda tunnettuja malleja avoimen lähdekoodin kirjastoista, kuten muuntajat or soihtunäkö. Se vaatii vain tarvittavien riippuvuuksien lisäämisen vaatimustiedostoon.

Ohje määritystiedoston kirjoittamiseen on saatavilla osoitteessa Kuinka kirjoittaa asetustiedosto.

Hyperparametrien optimoinnin etu

Kuten koneoppimisessa usein tapahtuu, jatkuvan oppimisen algoritmeissa on useita hyperparametreja. Sen asetukset voivat vaikuttaa merkittävästi yleiseen suorituskykyyn, ja huolellinen viritys voi vaikuttaa positiivisesti ennakoivaan suorituskykyyn. Opettaessaan uutta mallia Renate voi ottaa käyttöön hyperparametrien optimoinnin (HPO) käyttämällä huippuluokan algoritmeja, kuten ASHA, hyödyntääkseen kykyä suorittaa useita rinnakkaisia ​​töitä Amazon SageMakerissa. Esimerkki tuloksista näkyy alla olevassa kuvassa.

Opeta neuroverkot automaattisesti uudelleen Renate PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.

HPO:n ottamiseksi käyttöön käyttäjän on määritettävä hakutila tai käytettävä jotakin kirjaston mukana olevista oletushakutiloista. Katso esimerkkiä osoitteessa Suorita koulutustyö HPO:n kanssa. Asiakkaat, jotka etsivät nopeampaa uudelleenviritystä, voivat myös hyödyntää aiempien viritystöidensä tuloksia valitsemalla algoritmeja, joissa on siirtooppimistoimintoja. Tällä tavalla optimoijat saavat tietoa siitä, mitkä hyperparametrit toimivat hyvin eri viritystöiden aikana, ja he voivat keskittyä niihin, mikä vähentää viritysaikaa.

Suorita se pilvessä

Renaten avulla käyttäjät voivat nopeasti siirtyä harjoitusmalleista paikallisella koneella kokeilua varten ja kouluttaa laajamittaisia ​​hermoverkkoja SageMakerin avulla. Itse asiassa koulutustöiden suorittaminen paikallisella koneella on melko epätavallista, varsinkin kun koulutetaan suuria malleja. Samalla voi olla erittäin hyödyllistä voida tarkistaa tiedot ja testata koodia paikallisesti. Vastatakseen tähän tarpeeseen Renate mahdollistaa nopean vaihdon paikallisen koneen ja SageMaker-palvelun välillä muuttamalla yksinkertaista lippua asetustiedostossa.

Esimerkiksi viritystyötä käynnistettäessä on mahdollista ajaa paikallisesti execute_tuning_job(..., backend='local') ja vaihda nopeasti SageMakeriin muuttamalla koodia seuraavasti:

execute_tuning_job(
...,
backend="sagemaker",
role=get_execution_role(),      # requires importing the function from Syne Tune
instance_type="ml.g4dn.2xlarge" # the desired instance type
job_name="name_prefix_",             # a prefix to be used to identify the job
...
)

Skriptin suorittamisen jälkeen on mahdollista nähdä työ käynnissä SageMaker-verkkoliittymästä:

Opeta neuroverkot automaattisesti uudelleen Renate PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.

CloudWatchissa on myös mahdollista seurata koulutustyötä ja lukea lokeja:

Opeta neuroverkot automaattisesti uudelleen Renate PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.

Kaikki tämä ilman ylimääräistä koodia tai vaivaa.

Täydellinen esimerkki harjoittelutehtävien suorittamisesta pilvessä on saatavilla osoitteessa Kuinka suorittaa koulutustyötä.

Yhteenveto

Tässä viestissä kuvailimme hermoverkkojen uudelleenkoulutukseen liittyviä ongelmia ja Renate-kirjaston tärkeimpiä etuja prosessissa. Lisätietoja kirjastosta saat osoitteesta GitHub-arkisto, josta löydät korkean tason yleiskatsauksen kirjasto ja se on algoritmit, ohjeet asennusja Esimerkit jotka voivat auttaa sinua pääsemään alkuun.

Odotamme innolla maksut, palautetta ja keskustelua tästä edelleen kaikkien kiinnostuneiden kanssa sekä kirjaston integroitumiseen todellisiin uudelleenkoulutusputkiin.


Tietoja kirjoittajista

Opeta neuroverkot automaattisesti uudelleen Renate PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.Giovanni Zappella on Sr. Applied Scientist, joka työskentelee AWS Sagemakerin pitkän aikavälin tieteen parissa. Tällä hetkellä hän työskentelee jatkuvan oppimisen, mallien seurannan ja AutoML:n parissa. Sitä ennen hän työskenteli monikätisten rosvojen sovellusten parissa suuria suosituksia varten Amazon Musicissa.

Opeta neuroverkot automaattisesti uudelleen Renate PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.Martin Wistuba on soveltuva tutkija AWS Sagemakerin pitkän aikavälin tiederyhmässä. Hänen tutkimuksensa keskittyy automaattiseen koneoppimiseen.

Opeta neuroverkot automaattisesti uudelleen Renate PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.  Lukas Balles on AWS:n soveltava tutkija. Hän työskentelee jatkuvan oppimisen ja mallien seurantaan liittyvien aiheiden parissa.

Opeta neuroverkot automaattisesti uudelleen Renate PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.Cedric Archambeau on johtava soveltava tutkija AWS:ssä ja European Lab for Learning and Intelligent Systems -tutkija.

Aikaleima:

Lisää aiheesta AWS-koneoppiminen