Suuret huomioihin perustuvat muuntajamallit ovat saaneet valtavia hyötyjä luonnollisen kielen käsittelyssä (NLP). Näiden jättimäisten verkkojen kouluttaminen tyhjästä vaatii kuitenkin valtavan määrän dataa ja laskentaa. Pienemmille NLP-tietojoukoille yksinkertainen mutta tehokas strategia on käyttää esikoulutettua muuntajaa, joka on yleensä koulutettu valvomatta erittäin suurille tietojoukoille, ja hienosäätää sitä kiinnostavassa tietojoukossa. Halaaminen kasvot ylläpitää suurta mallieläintarhaa näistä esikoulutetuista muuntajista ja tekee niistä helposti saatavilla myös aloitteleville käyttäjille.
Näiden mallien hienosäätö vaatii kuitenkin edelleen asiantuntemusta, koska ne ovat melko herkkiä hyperparametreilleen, kuten oppimisnopeudelle tai eräkokolle. Tässä viestissä näytämme, kuinka nämä hyperparametrit optimoidaan avoimen lähdekoodin kehyksellä SyNee -viritys hajautettuun hyperparametrien optimointiin (HPO). Syne Tunen avulla voimme löytää paremman hyperparametrikokoonpanon, jolla saavutetaan suhteellinen parannus 1-4 % verrattuna suosittujen oletushyperparametreihin. lIIMA vertailutietojoukot. Itse esiopetetun mallin valintaa voidaan pitää myös hyperparametrina ja siksi Syne Tune valitsee sen automaattisesti. Tekstin luokitteluongelmassa tämä lisää tarkkuutta noin 5 % oletusmalliin verrattuna. Voimme kuitenkin automatisoida enemmän päätöksiä, jotka käyttäjän on tehtävä; osoitamme tämän myös paljastamalla ilmentymän tyypin hyperparametrina, jota käytämme myöhemmin mallin käyttöönotossa. Valitsemalla oikean ilmentymän tyypin voimme löytää kokoonpanoja, jotka kompensoivat optimaalisesti kustannuksia ja viivettä.
Syne Tunen esittely löytyy osoitteesta Suorita hajautettuja hyperparametrien ja hermoarkkitehtuurin viritystöitä Syne Tunen avulla.
Hyperparametrien optimointi Syne Tunen avulla
Käytämme lIIMA benchmark-paketti, joka koostuu yhdeksästä tietojoukosta luonnollisen kielen ymmärtämistehtäviä, kuten tekstin aiheuttaman tunnistusta tai tunneanalyysiä varten. Tätä varten sovitamme Hugging Face'sin Run_glue.py harjoituskäsikirjoitus. GLUE-tietojoukot sisältävät ennalta määritellyn koulutus- ja arviointisarjan etiketeillä sekä pitotestisarjan ilman tarroja. Siksi jaamme koulutusjoukon koulutus- ja validointijoukkoon (70 %/30 % jako) ja käytämme arviointijoukkoa pidätystestitietojoukona. Lisäksi lisäämme toisen takaisinsoittotoiminnon Hugging Facen Trainer API:hen, joka raportoi validoinnin suorituskyvyn jokaisen aikakauden jälkeen takaisin Syne Tunelle. Katso seuraava koodi:
Aloitamme optimoimalla tyypilliset harjoittelun hyperparametrit: oppimisnopeus, alkulämmittelysuhde oppimisnopeuden lisäämiseksi ja eräkoko esikoulutetun BERT:n hienosäätöä varten (bert-base-kotelo) -malli, joka on oletusmalli Hugging Face -esimerkissä. Katso seuraava koodi:
HPO-menetelmänä käytämme Asha, joka ottaa näytteitä hyperparametrikokoonpanoista tasaisesti satunnaisesti ja pysäyttää iteratiivisesti huonosti toimivien kokoonpanojen arvioinnin. Vaikka kehittyneemmät menetelmät käyttävät tavoitefunktion todennäköisyysmallia, kuten BO tai MoBster on olemassa, käytämme tässä viestissä ASHA:ta, koska se tulee ilman mitään oletuksia hakuavaruudesta.
Seuraavassa kuvassa vertaamme testivirheen suhteellista parannusta Hugging Facesin oletusarvoiseen hyperparametrikokoonpanoon verrattuna.
Yksinkertaisuuden vuoksi rajoitamme vertailun MRPC-, COLA- ja STSB-tietoihin, mutta havaitsemme samanlaisia parannuksia myös muissa GLUE-tietosarjoissa. Jokaiselle tietojoukolle suoritamme ASHA:n yhdellä ml.g4dn.xlargella Amazon Sage Maker esimerkki, jonka ajonaikainen budjetti on 1,800 13 sekuntia, mikä vastaa noin 7, 9 ja 1 täyttä toimintoarviointia näissä tietojoukoissa. Harjoitusprosessin luontaisen satunnaisuuden huomioon ottamiseksi, esimerkiksi minieränäytteenoton aiheuttaman, suoritamme sekä ASHA:n että oletuskonfiguraation viidelle toistolle itsenäisellä siemenellä satunnaislukugeneraattorille ja raportoimme lukujen keskimääräisen ja keskihajonnan. suhteellinen parannus toistoissa. Näemme, että kaikissa tietojoukoissa voimme itse asiassa parantaa ennakoivaa suorituskykyä 3-XNUMX % verrattuna huolellisesti valitun oletuskokoonpanon suorituskykyyn.
Automatisoi esikoulutetun mallin valinta
Voimme käyttää HPO:ta hyperparametrien etsimiseen, vaan myös automaattisesti oikean esiopetetun mallin valitsemiseen. Miksi haluamme tehdä tämän? Koska yksikään malli ei toimi paremmin kaikissa tietojoukoissa, meidän on valittava oikea malli tietylle tietojoukolle. Tämän osoittamiseksi arvioimme useita suosittuja Hugging Facen muuntajamalleja. Jokaisen tietojoukon kohdalla luokittelemme jokaisen mallin sen testisuorituskyvyn perusteella. Tietojoukkojen sijoitus (katso seuraava kuva) muuttuu eikä yksittäinen malli, joka saa korkeimman pistemäärän jokaisessa tietojoukossa. Viitteenä näytämme myös kunkin mallin ja tietojoukon absoluuttisen testisuorituskyvyn seuraavassa kuvassa.
Oikean mallin valitsemiseksi automaattisesti voimme heittää mallin valinnan kategorisiksi parametreiksi ja lisätä tämän hyperparametrihakuavaruuteen:
Vaikka hakutila on nyt suurempi, se ei välttämättä tarkoita, että sen optimointi olisi vaikeampaa. Seuraava kuva näyttää parhaan havaitun konfiguraation (validointivirheen perusteella) testivirheen ASHA:n MRPC-tietojoukossa ajan kuluessa, kun etsimme alkuperäisestä tilasta (sininen viiva) (BERT-pohjaisessa esiopetetussa mallissa ) tai uudessa lisätyssä hakutilassa (oranssi viiva). Samalla budjetilla ASHA pystyy löytämään paljon tehokkaamman hyperparametrikokoonpanon laajennetussa hakutilassa kuin pienemmässä tilassa.
Automatisoi ilmentymän tyypin valinta
Käytännössä emme ehkä välitä pelkästään ennakoivan suorituskyvyn optimoinnista. Saatamme välittää myös muista tavoitteista, kuten harjoitusajasta, (dollarin) hinnasta, viiveestä tai oikeudenmukaisuusmittareista. Meidän on myös tehtävä muita valintoja mallin hyperparametrien lisäksi, esimerkiksi valittava ilmentymätyyppi.
Vaikka ilmentymän tyyppi ei vaikuta ennakoituun suorituskykyyn, se vaikuttaa voimakkaasti (dollarin) kustannuksiin, koulutuksen suoritusaikaan ja latenssiin. Jälkimmäisestä tulee erityisen tärkeä, kun mallia otetaan käyttöön. Voimme ilmaista HPO:n usean tavoitteen optimointiongelmaksi, jossa pyrimme optimoimaan useita tavoitteita samanaikaisesti. Mikään yksittäinen ratkaisu ei kuitenkaan optimoi kaikkia mittareita samanaikaisesti. Sen sijaan pyrimme löytämään joukon kokoonpanoja, jotka sopivat optimaalisesti yhteen tavoitteeseen verrattuna. Tätä kutsutaan Pareto setti.
Tämän asetuksen analysoimiseksi tarkemmin lisäämme ilmentymän tyypin valinnan ylimääräiseksi kategoriseksi hyperparametriksi hakuavaruuteen:
Käytämme Mo-Asha, joka mukauttaa ASHA:n usean tavoitteen skenaarioon käyttämällä ei-dominoitua lajittelua. Jokaisessa iteraatiossa MO-ASHA myös valitsee jokaiselle kokoonpanolle myös instanssityypin, jossa haluamme arvioida sen. Syne Tune tarjoaa SageMaker-taustajärjestelmän HPO:n suorittamiseksi heterogeenisten esiintymien joukossa. Tämän taustaohjelman avulla jokainen kokeilu arvioidaan itsenäiseksi SageMaker-koulutustyöksi omassa ilmentymässään. Työntekijöiden määrä määrittelee kuinka monta SageMaker-työtä suoritamme rinnakkain tietyllä hetkellä. Itse optimoija, tapauksessamme MO-ASHA, toimii joko paikallisessa koneessa, Sagemaker-muistikirjassa tai erillisessä SageMaker-harjoitustyössä. Katso seuraava koodi:
Seuraavissa kuvissa näkyy latenssi vs. testivirhe vasemmalla ja latenssi vs. hinta oikealla satunnaisissa kokoonpanoissa, jotka MO-ASHA on ottanut näytteitä (rajoitamme näkyvyyttä) MRPC-tietojoukossa sen jälkeen, kun sitä on suoritettu 10,800 XNUMX sekuntia neljällä työntekijällä. Väri ilmaisee ilmentymän tyypin. Katkotettu musta viiva edustaa Pareto-joukkoa, mikä tarkoittaa pisteiden joukkoa, joka hallitsee kaikkia muita pisteitä vähintään yhdessä tavoitteessa.
Voimme havaita kompromissin latenssin ja testivirheen välillä, mikä tarkoittaa, että paras kokoonpano pienimmällä testivirheellä ei saavuta pienintä latenssia. Halutessasi voit valita hyperparametrikokoonpanon, joka uhraa testisuorituskyvyn, mutta jossa on pienempi viive. Näemme myös kompromissin viiveen ja kustannusten välillä. Käyttämällä pienempää ml.g4dn.xlarge-instanssia esimerkiksi lisäämme vain marginaalisesti latenssia, mutta maksamme neljänneksen ml.g4dn.8xlarge-esiintymän hinnasta.
Yhteenveto
Tässä viestissä keskustelimme hyperparametrien optimoinnista Hugging Facen esikoulutettujen muuntajamallien hienosäätämiseksi Syne Tunen perusteella. Näimme, että optimoimalla hyperparametreja, kuten oppimisnopeus, eräkoko ja lämpenemissuhde, voimme parantaa huolellisesti valittua oletuskokoonpanoa. Voimme myös laajentaa tätä valitsemalla automaattisesti esiopetetun mallin hyperparametrioptimoinnin avulla.
Syne Tunen SageMaker-taustaohjelman avulla voimme käsitellä ilmentymän tyyppiä hyperparametrina. Vaikka ilmentymän tyyppi ei vaikuta suorituskykyyn, sillä on merkittävä vaikutus viiveeseen ja kustannuksiin. Siksi määrittämällä HPO:n usean tavoitteen optimointiongelmaksi voimme löytää joukon kokoonpanoja, jotka sopivat optimaalisesti yhteen tavoitteeseen verrattuna. Jos haluat kokeilla tätä itse, tutustu meidän esimerkki muistikirja.
Tietoja Tekijät
Aaron Klein on AWS:n soveltava tutkija.
Matthias Seeger on johtava sovellettu tutkija AWS:ssä.
David Salinas on Sr Applied Scientist AWS:ssä.
Emily Webber liittyi AWS:ään heti SageMakerin julkaisun jälkeen ja on yrittänyt kertoa siitä maailmalle siitä lähtien! Asiakkaille uusien ML-elämysten rakentamisen lisäksi Emily nauttii meditoinnista ja Tiibetin buddhalaisuuden opiskelusta.
Cedric Archambeau on johtava soveltava tutkija AWS:ssä ja European Lab for Learning and Intelligent Systems -tutkija.
- Coinsmart. Euroopan paras Bitcoin- ja kryptopörssi.
- Platoblockchain. Web3 Metaverse Intelligence. Tietoa laajennettu. VAPAA PÄÄSY.
- CryptoHawk. Altcoinin tutka. Ilmainen kokeilu.
- Lähde: https://aws.amazon.com/blogs/machine-learning/hyperparameter-optimization-for-fine-tuning-pre-traained-transformer-models-from-hugging-face/
- "
- 10
- 100
- 7
- 9
- a
- Meistä
- absoluuttinen
- saatavilla
- Tili
- Saavuttaa
- poikki
- lisä-
- vaikuttaa
- Kaikki
- mahdollistaa
- Vaikka
- Amazon
- määrä
- analyysi
- analysoida
- Toinen
- api
- sovellettu
- suunnilleen
- arkkitehtuuri
- täydennetty
- automatisoida
- automaattisesti
- keskimäärin
- AWS
- Akseli
- koska
- benchmark
- PARAS
- Paremmin
- välillä
- Jälkeen
- Musta
- tappi
- edistää
- talousarvio
- Rakentaminen
- joka
- tapaus
- aiheutti
- valinta
- valintoja
- valittu
- luokka
- luokittelu
- koodi
- Tulla
- verrattuna
- Laskea
- Konfigurointi
- ohjaus
- Asiakkaat
- tiedot
- päätökset
- osoittaa
- sijoittaa
- käyttöön
- jaettu
- ei
- dollari
- kukin
- helposti
- Tehokas
- Eurooppalainen
- arvioida
- arviointi
- esimerkki
- Elämykset
- asiantuntija
- laajentaa
- Kasvot
- Muoti
- Kuva
- jälkeen
- Puitteet
- alkaen
- koko
- toiminto
- edelleen
- Lisäksi
- generaattori
- auttaa
- tätä
- Miten
- Miten
- Kuitenkin
- HTTPS
- Vaikutus
- tärkeä
- parantaa
- parannus
- Kasvaa
- itsenäinen
- vaikutus
- esimerkki
- Älykäs
- korko
- IT
- itse
- Job
- Työpaikat
- liittyi
- tuntemus
- laboratorio
- tarrat
- Kieli
- suuri
- suurempi
- käynnistettiin
- Liidit
- oppiminen
- RAJOITA
- linja
- paikallinen
- kone
- tehdä
- TEE
- massiivinen
- merkitys
- menetelmät
- Metrics
- ehkä
- ML
- malli
- mallit
- lisää
- moninkertainen
- Luonnollinen
- välttämättä
- tarpeet
- verkot
- muistikirja
- numero
- tavoitteet
- saatu
- optimointi
- Optimoida
- optimoimalla
- alkuperäinen
- Muut
- oma
- erityisesti
- Maksaa
- suorituskyky
- esittävä
- Ole hyvä
- pistettä
- Suosittu
- harjoitusta.
- Pääasiallinen
- Ongelma
- prosessi
- käsittely
- tarjoaa
- alue
- Sijoitus
- raportti
- toimittaja
- Raportit
- edustaa
- Vaatii
- tulokset
- ajaa
- juoksu
- sama
- Tiedemies
- Haku
- sekuntia
- siemenet
- valittu
- näkemys
- setti
- asetus
- näyttää
- merkittävä
- samankaltainen
- Yksinkertainen
- single
- Koko
- ratkaisu
- hienostunut
- Tila
- erityinen
- jakaa
- standardi
- Alkaa
- Osavaltio
- Yhä
- Strategia
- järjestelmät
- tehtävät
- testi
- -
- maailma
- siksi
- aika
- kauppaa
- koulutus
- kohdella
- valtava
- oikeudenkäynti
- ymmärtäminen
- us
- käyttää
- Käyttäjät
- yleensä
- käyttää
- validointi
- näkyvyys
- wikipedia
- ilman
- työntekijöitä
- maailman-
- Sinun