Samodejno ponovno usposobite nevronske mreže z Renate PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Samodejno znova usposobite nevronske mreže z Renate

Danes objavljamo splošno razpoložljivost za Renate, odprtokodna knjižnica Python za samodejno ponovno usposabljanje modelov. Knjižnica zagotavlja algoritme za nenehno učenje, ki lahko postopoma usposabljajo nevronsko mrežo, ko je na voljo več podatkov.

Z odprto kodo Renate bi radi ustvarili prizorišče, kjer bi se združili strokovnjaki, ki delajo na sistemih strojnega učenja v resničnem svetu, in raziskovalci, ki jih zanima napredek na področju avtomatskega strojnega učenja, nenehnega učenja in vseživljenjskega učenja. Verjamemo, da bodo sinergije med tema dvema skupnostma ustvarile nove ideje v raziskovalni skupnosti strojnega učenja in zagotovile otipljiv pozitiven učinek v aplikacijah v resničnem svetu.

Vzorna prekvalifikacija in katastrofalna pozaba

Postopno usposabljanje nevronskih mrež ni preprosta naloga. V praksi so podatki, posredovani v različnih časovnih točkah, pogosto vzorčeni iz različnih distribucij. Na primer, v sistemih z odgovori na vprašanja se lahko porazdelitev tem v vprašanjih sčasoma bistveno spreminja. V klasifikacijskih sistemih bo morda treba dodati nove kategorije, ko se podatki zbirajo v različnih delih sveta. Natančna nastavitev predhodno usposobljenih modelov z novimi podatki bo v teh primerih povzročila pojav, imenovan »katastrofalno pozabljanje«. Najnovejši primeri bodo dosegli dobre rezultate, vendar se bo kakovost napovedi za podatke, zbrane v preteklosti, znatno poslabšala. Poleg tega bo poslabšanje uspešnosti še hujše, če se prekvalifikacija izvaja redno (npr. dnevno ali tedensko).

Kadar je mogoče shraniti majhen del podatkov, lahko metode, ki temeljijo na ponovni uporabi starih podatkov med ponovnim usposabljanjem, delno ublažijo katastrofalno težavo pozabljanja. Na podlagi te zamisli je bilo razvitih več metod. Nekatere shranjujejo samo neobdelane podatke, naprednejše pa tudi dodatne metapodatke (npr. vmesno predstavitev podatkovnih točk v pomnilniku). Shranjevanje majhne količine podatkov (npr. na tisoče podatkovnih točk) in njihova skrbna uporaba sta vodila do vrhunske zmogljivosti, prikazane na spodnji sliki.

Prinesite svoj model in nabor podatkov

Pri usposabljanju modelov nevronskih mrež bo morda treba spremeniti strukturo omrežja, transformacijo podatkov in druge pomembne podrobnosti. Čeprav so spremembe kode omejene, lahko postane zapletena naloga, če so ti modeli del velike programske knjižnice. Da bi se izognili tem nevšečnostim, Renate strankam ponuja možnost, da definirajo svoje modele in nize podatkov v vnaprej določenih funkcijah Python kot del konfiguracijske datoteke. Prednost tega je, da je koda strank jasno ločena od preostale knjižnice in omogoča uporabnikom, ki ne poznajo notranje strukture Renate, učinkovito uporabo knjižnice.

Poleg tega so vse funkcije, vključno z definicijo modela, zelo prilagodljive. Pravzaprav funkcija definicije modela omogoča uporabnikom, da iz nič ustvarijo nevronske mreže v skladu z lastnimi potrebami ali da ustvarijo dobro znane modele iz odprtokodnih knjižnic, kot je transformatorji or torchvision. Zahteva le dodajanje potrebnih odvisnosti v datoteko z zahtevami.

Vadnica o pisanju konfiguracijske datoteke je na voljo na Kako napisati konfiguracijsko datoteko.

Prednost optimizacije hiperparametrov

Kot se pogosto zgodi pri strojnem učenju, imajo algoritmi za nenehno učenje številne hiperparametre. Njegove nastavitve lahko pomembno vplivajo na celotno delovanje, skrbno prilagajanje pa lahko pozitivno vpliva na napovedno delovanje. Pri usposabljanju novega modela lahko Renate omogoči optimizacijo hiperparametrov (HPO) z uporabo najsodobnejših algoritmov, kot je ASHA, da izkoristi možnost izvajanja več vzporednih opravil na Amazon SageMaker. Primer rezultatov je prikazan na spodnji sliki.

Samodejno ponovno usposobite nevronske mreže z Renate PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Če želite omogočiti HPO, bo moral uporabnik določiti iskalni prostor ali uporabiti enega od privzetih iskalnih prostorov, ki so na voljo s knjižnico. Glejte primer na Izvedite usposabljanje s HPO. Stranke, ki iščejo hitrejšo ponovno nastavitev, lahko izkoristijo tudi rezultate svojih prejšnjih nastavitev z izbiro algoritmov s funkcijami prenosa učenja. Na ta način bodo optimizatorji obveščeni o tem, kateri hiperparametri dobro delujejo pri različnih opravilih prilagajanja, in se bodo lahko osredotočili nanje, kar bo skrajšalo čas prilagajanja.

Zaženite ga v oblaku

Renate uporabnikom omogoča hiter prehod z modelov za usposabljanje na lokalnem stroju za eksperimentiranje za usposabljanje nevronskih mrež velikega obsega z uporabo SageMakerja. Pravzaprav je izvajanje izobraževalnih del na lokalnem računalniku precej nenavadno, zlasti pri usposabljanju velikih modelov. Hkrati je lahko zelo koristna možnost preverjanja podrobnosti in lokalnega testiranja kode. Za odgovor na to potrebo Renate omogoča hitro preklapljanje med lokalnim strojem in storitvijo SageMaker samo s spremembo preproste zastavice v konfiguracijski datoteki.

Na primer, ko zaženete opravilo uglaševanja, ga je mogoče izvajati lokalno execute_tuning_job(..., backend='local') in hitro preklopite na SageMaker ter spremenite kodo na naslednji način:

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
...
)

Po zagonu skripta bo mogoče videti, kako se opravilo izvaja prek spletnega vmesnika SageMaker:

Samodejno ponovno usposobite nevronske mreže z Renate PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Prav tako bo mogoče spremljati delo usposabljanja in brati dnevnike v CloudWatchu:

Samodejno ponovno usposobite nevronske mreže z Renate PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Vse to brez dodatne kode ali truda.

Popoln primer izvajanja izobraževalnih del v oblaku je na voljo na Kako voditi usposabljanje.

zaključek

V tej objavi smo opisali težave, povezane s preusposabljanjem nevronskih mrež, in glavne prednosti knjižnice Renate v tem procesu. Če želite izvedeti več o knjižnici, si oglejte GitHub repozitorij, kjer boste našli pregled na visoki ravni Knjižnica in njegove algoritmi, navodila za namestitevin Primeri ki vam lahko pomaga pri začetku.

Veselimo se vašega prispevkov, povratne informacije in nadaljnja razprava o tem z vsemi zainteresiranimi ter ogled knjižnice, integrirane v resnične načrte za preusposabljanje.


O avtorjih

Samodejno ponovno usposobite nevronske mreže z Renate PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Giovanni Zappella je starejši uporabni znanstvenik, ki dela na dolgoročni znanosti pri AWS Sagemaker. Trenutno se ukvarja z nenehnim učenjem, spremljanjem modelov in AutoML. Pred tem je delal na aplikacijah večrokih razbojnikov za obsežne sisteme priporočil pri Amazon Music.

Samodejno ponovno usposobite nevronske mreže z Renate PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Martin Wistuba je uporabni znanstvenik v dolgoročni znanstveni skupini pri AWS Sagemaker. Njegove raziskave se osredotočajo na samodejno strojno učenje.

Samodejno ponovno usposobite nevronske mreže z Renate PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.  Lukas Balles je uporabni znanstvenik pri AWS. Ukvarja se s stalnim učenjem in temami, povezanimi s spremljanjem modelov.

Samodejno ponovno usposobite nevronske mreže z Renate PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Cedric Archambeau je glavni aplikativni znanstvenik pri AWS in sodelavec Evropskega laboratorija za učenje in inteligentne sisteme.

Časovni žig:

Več od Strojno učenje AWS