A nagy figyelem alapú transzformátormodellek hatalmas előnyöket értek el a természetes nyelvi feldolgozásban (NLP). Azonban ezeknek a gigantikus hálózatoknak a nulláról való betanítása óriási mennyiségű adatot és számítást igényel. Kisebb NLP-adatkészletek esetén egyszerű, de hatékony stratégia egy előre betanított transzformátor használata, amelyet általában felügyelet nélkül tanítanak nagyon nagy adatkészletekre, és finomhangolják azt a kívánt adatkészleten. Átölelő arc nagy állatkertet tart fenn ezekből az előre betanított transzformátorokból, és még kezdő felhasználók számára is könnyen hozzáférhetővé teszi őket.
Ezeknek a modelleknek a finomhangolása azonban még mindig szakértői tudást igényel, mivel meglehetősen érzékenyek hiperparamétereikre, például a tanulási sebességre vagy a kötegméretre. Ebben a bejegyzésben bemutatjuk, hogyan optimalizálhatjuk ezeket a hiperparamétereket a nyílt forráskódú keretrendszerrel Syne Tune elosztott hiperparaméter-optimalizáláshoz (HPO). A Syne Tune lehetővé teszi, hogy jobb hiperparaméter-konfigurációt találjunk, amely 1-4%-os relatív javulást ér el a népszerű hiperparaméterek alapértelmezett hiperparamétereihez képest. ragasztó benchmark adatkészletek. Maga az előre betanított modell kiválasztása is hiperparaméternek tekinthető, ezért a Syne Tune automatikusan kiválasztja. Szövegbesorolási probléma esetén ez az alapértelmezett modellhez képest további, körülbelül 5%-os pontosságnöveléshez vezet. Azonban több döntést is automatizálhatunk, amelyet a felhasználónak meg kell hoznia; ezt úgy demonstráljuk, hogy a példány típusát hiperparaméterként is feltesszük, amelyet később a modell üzembe helyezéséhez használunk. A megfelelő példánytípus kiválasztásával olyan konfigurációkat találhatunk, amelyek optimálisan kiegyenlítik a költségeket és a késleltetést.
A Syne Tune bevezetéséért lásd: Futtasson elosztott hiperparaméteres és neurális architektúra hangolási feladatokat a Syne Tune segítségével.
Hiperparaméter optimalizálás Syne Tune segítségével
Használjuk a ragasztó benchmark csomag, amely kilenc adatkészletből áll a természetes nyelv megértéséhez szükséges feladatokhoz, mint például a szövegkövetkezmény-felismerés vagy a hangulatelemzés. Ehhez igazítjuk a Hugging Face-t run_glue.py képzési forgatókönyv. A GLUE adatkészletek előre definiált betanítási és értékelési készlettel rendelkeznek címkékkel, valamint egy címkék nélküli kitartási tesztkészlettel. Ezért a képzési halmazt felosztjuk egy képzési és érvényesítési készletekre (70%/30% felosztás), és az értékelési készletet használjuk kitartási tesztadatkészletünkként. Ezenkívül hozzáadunk egy másik visszahívási funkciót a Hugging Face Trainer API-jához, amely minden korszak után jelenti az érvényesítési teljesítményt a Syne Tune-nak. Lásd a következő kódot:
Kezdjük a tipikus edzési hiperparaméterek optimalizálásával: a tanulási sebesség, a bemelegítési arány a tanulási sebesség növelése érdekében, és a kötegméret az előképzett BERT finomhangolásához (bert-alap-tokos) modellt, amely az ölelőarc példa alapértelmezett modellje. Lásd a következő kódot:
HPO módszerként használjuk Asha, amely egyenletesen, véletlenszerűen mintát vesz a hiperparaméter-konfigurációkból, és iteratív módon leállítja a rosszul teljesítő konfigurációk kiértékelését. Bár a kifinomultabb módszerek a célfüggvény valószínűségi modelljét használják, mint például a BO vagy a MoBster, ehhez a bejegyzéshez ASHA-t használunk, mivel a keresési térre vonatkozó feltevések nélkül érkezik.
A következő ábrán összehasonlítjuk a teszthibák relatív javulását a Hugging Faces alapértelmezett hiperparaméter-konfigurációjához képest.
Az egyszerűség kedvéért az összehasonlítást az MRPC-re, a COLA-ra és az STSB-re korlátozzuk, de hasonló fejlesztéseket figyelünk meg más GLUE adatkészleteknél is. Minden adatkészlethez egyetlen ml.g4dn.xlarge fájlon futtatjuk az ASHA-t Amazon SageMaker példány 1,800 másodperces futásidejű költségvetéssel, ami körülbelül 13, 7 és 9 teljes funkcióértékelésnek felel meg ezeken az adatkészleteken. A betanítási folyamat – például a mini-batch mintavétel által okozott – véletlenszerűségének figyelembe vétele érdekében az ASHA-t és az alapértelmezett konfigurációt is futtatjuk öt ismétlésre, független maggal a véletlenszám-generátorhoz, és jelentjük a számok átlagát és szórását. relatív javulás az ismétlések során. Láthatjuk, hogy az összes adatkészletben 1-3%-kal tudjuk javítani a prediktív teljesítményt a gondosan kiválasztott alapértelmezett konfiguráció teljesítményéhez képest.
Automatizálja az előre betanított modell kiválasztását
A HPO segítségével nem csak hiperparamétereket találhatunk, hanem automatikusan kiválaszthatjuk a megfelelő előre betanított modellt is. Miért akarjuk ezt tenni? Mivel egyetlen modell sem teljesít jobban az összes adatkészletben, ki kell választanunk a megfelelő modellt egy adott adatkészlethez. Ennek bemutatására értékeljük a Hugging Face népszerű transzformátormodelljeit. Minden egyes adatkészletnél az egyes modelleket a tesztteljesítményük alapján rangsoroljuk. Az adatkészletek rangsorolása (lásd a következő ábrát) megváltozik, és nem egyetlen modell, amely minden adatkészletben a legmagasabb pontszámot kapja. Referenciaként az egyes modellek és adatkészletek abszolút tesztteljesítményét is bemutatjuk a következő ábrán.
A megfelelő modell automatikus kiválasztásához a modell kiválasztását kategorikus paraméterekként adhatjuk hozzá, és hozzáadhatjuk ezt a hiperparaméteres keresési terünkhöz:
Bár a keresési terület most nagyobb, ez nem feltétlenül jelenti azt, hogy nehezebb optimalizálni. Az alábbi ábra a legjobban megfigyelt konfiguráció teszthibáját mutatja (a validálási hiba alapján) az ASHA MRPC adatkészletén idővel, amikor az eredeti térben (kék vonal) keresünk (egy BERT-alapú előre betanított modellel). ) vagy az új kiterjesztett keresési területen (narancssárga vonal). Ugyanazon költségvetés mellett az ASHA sokkal jobban teljesítő hiperparaméter-konfigurációt tud találni a kiterjesztett keresési területen, mint a kisebb területen.
Automatizálja a példánytípus kiválasztását
A gyakorlatban előfordulhat, hogy nem csak a prediktív teljesítmény optimalizálásával törődünk. Más célok is érdekelhetnek bennünket, például a képzési idő, a (dollár) költség, a várakozási idő vagy a méltányossági mutatók. A modell hiperparaméterein túlmenően más döntéseket is kell hoznunk, például a példánytípust.
Bár a példány típusa nem befolyásolja a prediktív teljesítményt, erősen befolyásolja a (dollár) költséget, a betanítási futásidőt és a várakozási időt. Ez utóbbi különösen fontossá válik a modell üzembe helyezésekor. Az MPO-t többcélú optimalizálási problémaként is megfogalmazhatjuk, ahol több cél egyidejű optimalizálására törekszünk. Azonban egyetlen megoldás sem optimalizálja az összes mérőszámot egyszerre. Ehelyett arra törekszünk, hogy olyan konfigurációkat találjunk, amelyek optimálisan kiegyenlítik az egyik célt a másikkal. Ezt hívják a Pareto készlet.
A beállítás további elemzéséhez hozzáadjuk a példánytípus kiválasztását további kategorikus hiperparaméterként a keresési területünkhöz:
Az általunk használt MO-ASHA, amely az ASHA-t a többcélú forgatókönyvhöz igazítja a nem dominált rendezés használatával. A MO-ASHA minden iterációban kiválasztja minden konfigurációhoz azt a példánytípust is, amelyen ki akarjuk értékelni. A HPO futtatásához heterogén példánykészleten a Syne Tune biztosítja a SageMaker háttérprogramot. Ezzel a háttérprogrammal minden próbaverziót független SageMaker képzési feladatként értékel a rendszer a saját példányán. A dolgozók száma határozza meg, hogy egy adott időpontban hány SageMaker jobot futtatunk párhuzamosan. Maga az optimalizáló, esetünkben a MO-ASHA vagy a helyi gépen, egy Sagemaker notebookon vagy egy külön SageMaker képzési feladaton fut. Lásd a következő kódot:
A következő ábrák a látencia vs teszthibát mutatják a bal oldalon, a késleltetés és a költség arányát a jobb oldalon a MO-ASHA által mintavételezett véletlenszerű konfigurációknál (korlátozzuk a láthatóság tengelyét) az MRPC-adatkészleten, miután 10,800 XNUMX másodpercig futott négy dolgozón. A szín a példány típusát jelzi. A szaggatott fekete vonal a Pareto halmazt jelenti, vagyis azon pontok halmazát, amelyek uralják legalább egy cél összes többi pontját.
Megfigyelhetünk kompromisszumot a várakozási idő és a teszthiba között, ami azt jelenti, hogy a legalacsonyabb teszthibával rendelkező legjobb konfiguráció nem éri el a legalacsonyabb késleltetést. Az Ön preferenciája alapján kiválaszthat egy hiperparaméter-konfigurációt, amely feláldozza a tesztteljesítményt, de kisebb késleltetéssel érkezik. Látjuk a késleltetés és a költség közötti kompromisszumot is. Például egy kisebb ml.g4dn.xlarge példány használatával csak kis mértékben növeljük a késleltetést, de az ml.g4dn.8xlarge példány költségének negyedét fizetjük.
Következtetés
Ebben a bejegyzésben a hiperparaméterek optimalizálását tárgyaltuk a Hugging Face előre betanított transzformátormodellek finomhangolásához a Syne Tune alapján. Láttuk, hogy az olyan hiperparaméterek optimalizálásával, mint a tanulási sebesség, a kötegméret és a bemelegítési arány, javíthatunk a gondosan kiválasztott alapértelmezett konfiguráción. Ezt úgy is kibővíthetjük, hogy hiperparaméter-optimalizálással automatikusan kiválasztjuk az előre betanított modellt.
A Syne Tune SageMaker háttérprogramja segítségével a példánytípust hiperparaméterként kezelhetjük. Bár a példány típusa nincs hatással a teljesítményre, jelentős hatással van a késleltetésre és a költségekre. Ezért, ha a HPO-t többcélú optimalizálási problémaként jelenítjük meg, olyan konfigurációkat találhatunk, amelyek optimálisan kiegyenlítik az egyik célt a másikkal. Ha szeretnéd kipróbálni magad, nézd meg nálunk példafüzet.
A szerzőkről
Aaron Klein az AWS alkalmazott tudósa.
Seeger Mátyás az AWS vezető alkalmazott tudósa.
David Salinas az AWS Sr alkalmazott tudósa.
Emily Webber közvetlenül a SageMaker elindítása után csatlakozott az AWS-hez, és azóta is próbálja elmondani a világnak! Azon kívül, hogy új ML-élményeket építhet az ügyfelek számára, Emily élvezi a meditációt és a tibeti buddhizmus tanulmányozását.
Cedric Archambeau az AWS vezető alkalmazottja, valamint az Európai Tanulási és Intelligens Rendszerek Laboratóriumának munkatársa.
- Coinsmart. Európa legjobb Bitcoin- és kriptográfiai tőzsdéje.
- Platoblockchain. Web3 metaverzum intelligencia. Felerősített tudás. SZABAD HOZZÁFÉRÉS.
- CryptoHawk. Altcoin radar. Ingyenes próbaverzió.
- Forrás: https://aws.amazon.com/blogs/machine-learning/hyperparameter-optimization-for-fine-tuning-pre-trained-transformer-models-from-hugging-face/
- "
- 10
- 100
- 7
- 9
- a
- Rólunk
- Abszolút
- hozzáférhető
- Fiók
- Elérése
- át
- További
- érint
- Minden termék
- lehetővé teszi, hogy
- Bár
- amazon
- összeg
- elemzés
- elemez
- Másik
- api
- alkalmazott
- körülbelül
- építészet
- bővített
- automatizált
- automatikusan
- átlagos
- AWS
- Tengely
- mert
- benchmark
- BEST
- Jobb
- között
- Túl
- Fekete
- fellendítésére
- költségvetés
- Épület
- ami
- eset
- okozott
- választás
- választás
- választott
- osztály
- besorolás
- kód
- hogyan
- képest
- Kiszámít
- Configuration
- ellenőrzés
- Ügyfelek
- dátum
- határozatok
- bizonyítani
- telepíteni
- telepített
- megosztott
- Nem
- Dollár
- minden
- könnyen
- Hatékony
- európai
- értékelni
- értékelés
- példa
- Tapasztalatok
- szakértő
- terjed
- Arc
- Divat
- Ábra
- következő
- Keretrendszer
- ból ből
- Tele
- funkció
- további
- Továbbá
- generátor
- segít
- itt
- Hogyan
- How To
- azonban
- HTTPS
- Hatás
- fontos
- javul
- javulás
- Növelje
- független
- befolyás
- példa
- Intelligens
- kamat
- IT
- maga
- Munka
- Állások
- csatlakozott
- tudás
- labor
- Címkék
- nyelv
- nagy
- nagyobb
- indított
- vezetékek
- tanulás
- LIMIT
- vonal
- helyi
- gép
- csinál
- KÉSZÍT
- tömeges
- jelenti
- mód
- Metrics
- esetleg
- ML
- modell
- modellek
- több
- többszörös
- Természetes
- szükségszerűen
- igények
- hálózatok
- jegyzetfüzet
- szám
- célok
- kapott
- optimalizálás
- Optimalizálja
- optimalizálása
- eredeti
- Más
- saját
- különösen
- Fizet
- teljesítmény
- előadó
- kérem
- pont
- Népszerű
- gyakorlat
- Fő
- Probléma
- folyamat
- feldolgozás
- biztosít
- hatótávolság
- Ranking
- jelentést
- riporter
- Jelentések
- jelentése
- megköveteli,
- Eredmények
- futás
- futás
- azonos
- Tudós
- Keresés
- másodperc
- mag
- kiválasztott
- érzés
- készlet
- beállítás
- előadás
- jelentős
- hasonló
- Egyszerű
- egyetlen
- Méret
- megoldások
- kifinomult
- Hely
- különleges
- osztott
- standard
- kezdet
- Állami
- Még mindig
- Stratégia
- Systems
- feladatok
- teszt
- A
- a világ
- ebből adódóan
- idő
- kereskedelem
- Képzések
- kezelésére
- borzasztó
- próba
- megértés
- us
- használ
- Felhasználók
- rendszerint
- hasznosít
- érvényesítés
- láthatóság
- Wikipedia
- nélkül
- dolgozók
- világ
- A te