Veliki transformatorski modeli, ki temeljijo na pozornosti, so dosegli velik napredek pri obdelavi naravnega jezika (NLP). Vendar usposabljanje teh ogromnih omrežij iz nič zahteva ogromno podatkov in računalništva. Za manjše nabore podatkov NLP je preprosta, a učinkovita strategija uporaba vnaprej usposobljenega transformatorja, ki se običajno nenadzorovano uri na zelo velikih naborih podatkov, in ga natančno prilagodite na naboru podatkov, ki vas zanima. Objemni obraz vzdržuje velik modelni živalski vrt teh vnaprej usposobljenih transformatorjev in jih omogoča enostavno dostopne tudi za začetnike.
Vendar natančno prilagajanje teh modelov še vedno zahteva strokovno znanje, ker so precej občutljivi na svoje hiperparametre, kot sta stopnja učenja ali velikost serije. V tej objavi pokažemo, kako optimizirati te hiperparametre z odprtokodnim ogrodjem Syne Tune za porazdeljeno optimizacijo hiperparametrov (HPO). Syne Tune nam omogoča, da poiščemo boljšo konfiguracijo hiperparametrov, ki doseže relativno izboljšanje med 1-4 % v primerjavi s privzetimi hiperparametri na priljubljenih LEPILO nabori primerjalnih podatkov. Izbira vnaprej usposobljenega modela se prav tako lahko šteje za hiperparameter in jo zato samodejno izbere Syne Tune. Pri problemu s klasifikacijo besedila to vodi do dodatnega povečanja natančnosti za približno 5 % v primerjavi s privzetim modelom. Vendar pa lahko avtomatiziramo več odločitev, ki jih mora uporabnik sprejeti; to pokažemo tako, da izpostavimo tudi vrsto instance kot hiperparameter, ki ga kasneje uporabimo za uvedbo modela. Z izbiro prave vrste instance lahko najdemo konfiguracije, ki optimalno uravnavajo stroške in zakasnitev.
Za uvod v Syne Tune glejte Zaženite porazdeljena opravila prilagajanja hiperparametrov in nevronske arhitekture s Syne Tune.
Optimizacija hiperparametrov s Syne Tune
Uporabili bomo LEPILO primerjalno zbirko, ki je sestavljena iz devetih naborov podatkov za naloge razumevanja naravnega jezika, kot je prepoznavanje besedilnih vsebin ali analiza sentimenta. Za to prilagodimo Hugging Face's run_glue.py scenarij usposabljanja. Podatkovni nizi GLUE so opremljeni z vnaprej določenim naborom za usposabljanje in vrednotenje z oznakami ter z naborom vzdržljivih testov brez oznak. Zato smo nabor za usposabljanje razdelili na nabore za usposabljanje in validacijo (razdelitev 70 %/30 %) in ocenjevalni nabor uporabili kot naš nabor podatkov o preskusu zadržanosti. Poleg tega API-ju Trainer Hugging Face dodamo še eno funkcijo povratnega klica, ki poroča o uspešnosti preverjanja po vsaki epohi nazaj v Syne Tune. Oglejte si naslednjo kodo:
Začnemo z optimizacijo tipičnih hiperparametrov usposabljanja: hitrostjo učenja, razmerjem ogrevanja za povečanje stopnje učenja in velikostjo serije za natančno nastavitev vnaprej usposobljenega BERT (z ohišjem na podstavku bert), ki je privzeti model v primeru Hugging Face. Oglejte si naslednjo kodo:
Kot našo metodo HPO uporabljamo AŠA, ki enakomerno naključno vzorči konfiguracije hiperparametrov in iterativno ustavi vrednotenje slabo delujočih konfiguracij. Čeprav bolj sofisticirane metode uporabljajo verjetnostni model ciljne funkcije, na primer BO ali MoBster obstaja, za to objavo uporabljamo ASHA, ker prihaja brez predpostavk o iskalnem prostoru.
Na naslednji sliki primerjamo relativno izboljšanje testne napake glede na privzeto konfiguracijo hiperparametrov Hugging Faces.
Zaradi poenostavitve primerjavo omejimo na MRPC, COLA in STSB, vendar opazimo podobne izboljšave tudi pri drugih naborih podatkov GLUE. Za vsak nabor podatkov izvajamo ASHA na enem ml.g4dn.xlarge Amazon SageMaker primerek s proračunom časa izvajanja 1,800 sekund, kar ustreza približno 13, 7 oziroma 9 ocenam polne funkcije na teh nizih podatkov. Da bi upoštevali notranjo naključnost procesa usposabljanja, na primer povzročeno z vzorčenjem mini serije, izvajamo ASHA in privzeto konfiguracijo za pet ponovitev z neodvisnim semenom za generator naključnih števil ter poročamo o povprečju in standardnem odklonu relativno izboljšanje med ponovitvami. Vidimo lahko, da lahko v vseh nizih podatkov dejansko izboljšamo napovedno zmogljivost za 1-3 % glede na zmogljivost skrbno izbrane privzete konfiguracije.
Avtomatizirajte izbiro vnaprej usposobljenega modela
HPO lahko uporabimo ne le za iskanje hiperparametrov, temveč tudi za samodejno izbiro pravega vnaprej usposobljenega modela. Zakaj želimo to narediti? Ker noben model ne prekaša vseh naborov podatkov, moramo izbrati pravi model za določen nabor podatkov. Da bi to dokazali, ocenjujemo vrsto priljubljenih modelov transformatorjev podjetja Hugging Face. Za vsak nabor podatkov vsak model razvrstimo po njegovi preskusni uspešnosti. Razvrstitev med nabori podatkov (glejte naslednjo sliko) se spremeni in ne en sam model, ki bi dosegel najvišjo oceno na vsakem naboru podatkov. Kot referenco na naslednji sliki prikazujemo tudi absolutno preskusno zmogljivost vsakega modela in nabora podatkov.
Za samodejno izbiro pravega modela lahko izbiro modela pretvorimo v kategorične parametre in to dodamo v naš iskalni prostor hiperparametrov:
Čeprav je zdaj iskalni prostor večji, to ne pomeni nujno, da ga je težje optimizirati. Naslednja slika prikazuje preskusno napako najboljše opazovane konfiguracije (na podlagi napake validacije) na naboru podatkov MRPC za ASHA skozi čas, ko iščemo v prvotnem prostoru (modra črta) (z vnaprej usposobljenim modelom BERT v osnovnem primeru ) ali v novem razširjenem iskalnem prostoru (oranžna črta). Glede na enak proračun lahko ASHA v razširjenem iskalnem prostoru najde veliko bolj uspešno konfiguracijo hiperparametrov kot v manjšem prostoru.
Avtomatizirajte izbiro vrste primerka
V praksi morda ne skrbimo le za optimizacijo napovedne uspešnosti. Morda nas zanimajo tudi drugi cilji, kot so čas usposabljanja, (dolarski) stroški, zakasnitev ali meritve pravičnosti. Sprejeti moramo tudi druge izbire poleg hiperparametrov modela, na primer izbiro vrste primerka.
Čeprav vrsta primerka ne vpliva na napovedno zmogljivost, močno vpliva na (dolarske) stroške, čas izvajanja usposabljanja in zakasnitev. Slednje postane še posebej pomembno, ko je model uveden. HPO lahko izrazimo kot problem optimizacije z več cilji, kjer želimo optimizirati več ciljev hkrati. Vendar pa nobena rešitev ne optimizira vseh metrik hkrati. Namesto tega želimo najti nabor konfiguracij, ki optimalno izmenjujejo en cilj z drugim. To se imenuje Pareto set.
Za nadaljnjo analizo te nastavitve dodamo izbiro vrste primerka kot dodatni kategorični hiperparameter v naš iskalni prostor:
Mi uporabljamo MO-AŠA, ki prilagaja ASHA scenariju z več cilji z uporabo razvrščanja brez prevlade. V vsaki iteraciji MO-ASHA za vsako konfiguracijo izbere tudi vrsto instance, na kateri jo želimo ovrednotiti. Za zagon HPO na heterogenem naboru instanc Syne Tune ponuja zaledje SageMaker. S tem zaledjem se vsak preizkus oceni kot neodvisno učno opravilo SageMaker na svojem primerku. Število delavcev določa, koliko opravil SageMaker izvajamo vzporedno v določenem času. Sam optimizator, v našem primeru MO-ASHA, se izvaja na lokalnem računalniku, prenosnem računalniku Sagemaker ali na ločenem izobraževalnem opravilu SageMaker. Oglejte si naslednjo kodo:
Naslednje slike prikazujejo zakasnitev v primerjavi s testno napako na levi in zakasnitev v primerjavi s stroški na desni za naključne konfiguracije, ki jih je vzorčil MO-ASHA (omejujemo os za vidnost) na naboru podatkov MRPC po izvajanju 10,800 sekund na štirih delavcih. Barva označuje vrsto primerka. Črtkana črna črta predstavlja Paretovo množico, kar pomeni množico točk, ki prevladujejo nad vsemi drugimi točkami v vsaj enem cilju.
Opazimo lahko kompromis med zakasnitvijo in preskusno napako, kar pomeni, da najboljša konfiguracija z najmanjšo preskusno napako ne doseže najnižje zakasnitve. Glede na vaše želje lahko izberete konfiguracijo hiperparametrov, ki žrtvuje učinkovitost preskusa, vendar ima manjšo zakasnitev. Vidimo tudi kompromis med zakasnitvijo in stroški. Z uporabo manjšega primerka ml.g4dn.xlarge, na primer, le malo povečamo zakasnitev, vendar plačamo četrtino stroškov primerka ml.g4dn.8xlarge.
zaključek
V tej objavi smo razpravljali o optimizaciji hiperparametrov za natančno uravnavanje vnaprej usposobljenih modelov transformatorjev iz Hugging Face na podlagi Syne Tune. Videli smo, da lahko z optimizacijo hiperparametrov, kot so stopnja učenja, velikost serije in razmerje ogrevanja, izboljšamo skrbno izbrano privzeto konfiguracijo. To lahko razširimo tudi s samodejno izbiro vnaprej usposobljenega modela prek optimizacije hiperparametrov.
S pomočjo zaledja SageMaker družbe Syne Tune lahko vrsto instance obravnavamo kot hiperparameter. Čeprav vrsta primerka ne vpliva na zmogljivost, ima pomemben vpliv na zakasnitev in stroške. Če torej HPO opredelimo kot problem optimizacije z več cilji, lahko najdemo nabor konfiguracij, ki optimalno izmenjujejo en cilj z drugim. Če želite to preizkusiti sami, si oglejte naše primer zvezek.
O avtorjih
Aaron Klein je uporabni znanstvenik pri AWS.
Matija Seeger je glavni aplikativni znanstvenik pri AWS.
David Salinas je višja uporabna znanstvenica pri AWS.
Emily Webber se je pridružil AWS takoj po lansiranju SageMakerja in od takrat poskuša svetu povedati o njem! Poleg ustvarjanja novih izkušenj ML za stranke Emily uživa v meditaciji in preučevanju tibetanskega budizma.
Cedric Archambeau je glavni aplikativni znanstvenik pri AWS in sodelavec Evropskega laboratorija za učenje in inteligentne sisteme.
- Coinsmart. Najboljša evropska borza bitcoinov in kriptovalut.
- Platoblockchain. Web3 Metaverse Intelligence. Razširjeno znanje. PROST DOSTOP.
- CryptoHawk. Altcoin radar. Brezplačen preizkus.
- Vir: https://aws.amazon.com/blogs/machine-learning/hyperparameter-optimization-for-fine-tuning-pre-trained-transformer-models-from-hugging-face/
- "
- 10
- 100
- 7
- 9
- a
- O meni
- absolutna
- dostopen
- Račun
- Doseči
- čez
- Dodatne
- vplivajo
- vsi
- omogoča
- Čeprav
- Amazon
- znesek
- Analiza
- analizirati
- Še ena
- API
- uporabna
- približno
- Arhitektura
- Povečana
- avtomatizirati
- samodejno
- povprečno
- AWS
- Os
- ker
- merilo
- BEST
- Boljše
- med
- Poleg
- črna
- krepko
- povečanje
- proračun
- Building
- ki
- primeru
- povzročilo
- izbira
- možnosti
- izbran
- razred
- Razvrstitev
- Koda
- kako
- v primerjavi z letom
- Izračunajte
- konfiguracija
- nadzor
- Stranke, ki so
- datum
- odločitve
- izkazati
- razporedi
- razporejeni
- porazdeljena
- Ne
- Dollar
- vsak
- enostavno
- Učinkovito
- Evropski
- oceniti
- Ocena
- Primer
- Doživetja
- strokovnjak
- razširiti
- Obraz
- Moda
- Slika
- po
- Okvirni
- iz
- polno
- funkcija
- nadalje
- Poleg tega
- generator
- pomoč
- tukaj
- Kako
- Kako
- Vendar
- HTTPS
- vpliv
- Pomembno
- izboljšanje
- Izboljšanje
- Povečajte
- Neodvisni
- vplivajo
- primer
- Inteligentna
- obresti
- IT
- sam
- Job
- Delovna mesta
- pridružil
- znanje
- lab
- Oznake
- jezik
- velika
- večja
- začela
- Interesenti
- učenje
- LIMIT
- vrstica
- lokalna
- stroj
- Znamka
- IZDELA
- ogromen
- kar pomeni,
- Metode
- Meritve
- morda
- ML
- Model
- modeli
- več
- več
- naravna
- nujno
- potrebe
- omrežij
- prenosnik
- Številka
- Cilji
- pridobljeni
- optimizacija
- Optimizirajte
- optimizacijo
- izvirno
- Ostalo
- lastne
- zlasti
- Plačajte
- performance
- izvajati
- prosim
- točke
- Popular
- praksa
- , ravnateljica
- problem
- Postopek
- obravnavati
- zagotavlja
- območje
- Lestvica
- poročilo
- reporter
- Poročila
- predstavlja
- zahteva
- Rezultati
- Run
- tek
- Enako
- Znanstvenik
- Iskalnik
- sekund
- seme
- izbran
- sentiment
- nastavite
- nastavitev
- Prikaži
- pomemben
- Podoben
- Enostavno
- sam
- Velikosti
- Rešitev
- prefinjeno
- Vesolje
- specifična
- po delih
- standardna
- Začetek
- Država
- Še vedno
- Strategija
- sistemi
- Naloge
- Test
- O
- svet
- zato
- čas
- trgovini
- usposabljanje
- zdravljenje
- ogromno
- sojenje
- razumevanje
- us
- uporaba
- Uporabniki
- navadno
- uporabiti
- potrjevanje
- vidljivost
- Wikipedia
- brez
- delavci
- svet
- Vaša rutina za