A mesterséges intelligencia napjainkban gyorsan fejlődő világában a mély tanulási modellek az innováció élvonalában találták magukat, a számítógépes látást (CV), a természetes nyelvi feldolgozást (NLP) és az ajánlórendszereket felölelő alkalmazásokkal. A modellek képzésével és finomhangolásával kapcsolatos növekvő költségek azonban kihívást jelentenek a vállalkozások számára. Ezt a költséget elsősorban a mély tanulási modellek képzéséhez felhasznált adatok puszta mennyisége okozza. Manapság a nagy modelleket gyakran terabájtnyi adatra oktatják, és hetekig tarthat a betanítás, még erős GPU-val vagy AWS Trainium-alapú hardver. Az ügyfelek jellemzően olyan technikákra és optimalizálásokra hagyatkoznak, amelyek javítják a modell betanítási ciklusának hatékonyságát, például optimalizált kernelekre vagy rétegekre, vegyes precíziós képzésre vagy olyan szolgáltatásokra, mint pl. Amazon SageMaker elosztott oktatókönyvtárak. Azonban ma már kevésbé összpontosítanak magának a képzési adatoknak a hatékonyságára. A modellképzés során nem minden adat járul hozzá egyformán a tanulási folyamathoz: előfordulhat, hogy a számítási erőforrások jelentős részét olyan egyszerű példák feldolgozására fordítják, amelyek nem járulnak hozzá lényegesen a modell általános pontosságához.
Az ügyfelek hagyományosan olyan előfeldolgozási technikákra támaszkodnak, mint a fel- vagy lemintavétel és a deduplikáció, hogy finomítsák és javítsák adataik információminőségét. Ezek a technikák segíthetnek, de gyakran időigényesek, speciális adattudományi tapasztalatot igényelnek, és néha inkább művészet, mint tudomány. Az ügyfelek gyakran a kurált adatkészletekre is támaszkodnak, mint pl RefinedWeb, hogy javítsák modelljeik teljesítményét; ezek az adatkészletek azonban nem mindig teljesen nyílt forráskódúak, és gyakran általánosabb célt szolgálnak, és nem kapcsolódnak az Ön konkrét használati esetéhez.
Hogyan lehet másként leküzdeni ezt az alacsony információs adatmintákhoz kapcsolódó eredménytelenséget a modellképzés során?
Örömmel jelentjük be az intelligens szitálás nyilvános előzetesét, a SageMaker új képességét, amely akár 35%-kal csökkentheti a mélytanulási modellek képzésének költségeit. Az intelligens szitálás egy új adathatékonysági technika, amely aktívan elemzi az adatmintákat a képzés során, és kiszűri azokat a mintákat, amelyek kevésbé informatívak a modell számára. Ha az adatok egy kisebb részhalmazára oktatunk, csak a modellkonvergenciához leginkább hozzájáruló mintákkal, a teljes betanítás és a költség csökken, minimális vagy semmilyen hatással a pontosságra. Ezen túlmenően, mivel a funkció online működik a modellképzés során, az intelligens szitálás nem igényel változtatásokat az upstream adatokon vagy a későbbi képzési folyamatokon.
Ebben a bejegyzésben a következő témákat tárgyaljuk:
- A SageMaker új intelligens szitálási képessége és működése
- Az intelligens szitálás használata PyTorch képzési terhelésekkel
Azt is megnézheted dokumentáció és a mintafüzetek további forrásokért az intelligens szitálás megkezdéséhez.
Hogyan működik a SageMaker intelligens szitálás
Ezt a bejegyzést annak áttekintésével kezdjük, hogy az intelligens szitálási képesség hogyan gyorsíthatja fel a modellképzést a SageMakeren.
Az intelligens szitálás feladata, hogy a betanítási folyamat során átszitálja a betanítási adatokat, és csak az informatívabb mintákat táplálja be a modellbe. A PyTorch-al végzett tipikus edzés során az adatokat a rendszer iteratív módon, kötegekben küldi el a képzési hurokba és a gyorsítóeszközökbe (például GPU-k vagy Trainium chipek) PyTorch DataLoader. Az intelligens rostálást ebben az adatbetöltési szakaszban valósítják meg, és ezért független a betanítási folyamatban zajló upstream adat-előfeldolgozástól.
Az intelligens szitálás az Ön modelljét és a felhasználó által megadott veszteségfüggvényt használja az egyes adatminták kiértékelő előrehaladására a betöltéskor. A nagy veszteségű minták lényegesen befolyásolják a modellképzést, ezért a képzésben használják őket; a viszonylag alacsony veszteségű adatmintákat félretesszük és kizárjuk a képzésből.
Az intelligens szitálás kulcsfontosságú eleme a kizárandó adatok aránya: például ha az arányt 33%-ra állítja be (béta_value=0.5), az egyes kötegek veszteségének körülbelül az alsó harmadában lévő minták ki lesznek zárva a képzésből. Ha elegendő nagy veszteségű mintát azonosítottunk egy köteg befejezéséhez, az adatok a teljes betanítási hurkon keresztül kerülnek elküldésre, és a modell normálisan tanul és oktat. Ha az intelligens rostálás engedélyezve van, nem kell módosítania az edzési hurkot.
A következő diagram ezt a munkafolyamatot mutatja be.
Azáltal, hogy a betanítási adatoknak csak egy részhalmazát tartalmazza, az intelligens szitálás csökkenti a modell betanításához szükséges időt és számítási időt. Tesztjeink során közel 40%-kal csökkentettük a teljes edzésidőt és költséget. Az adatok intelligens szitálása minimális vagy semmilyen hatással lehet a modell pontosságára, mivel a kizárt minták viszonylag alacsony veszteséggel jártak a modell számára. A következő táblázatban egy sor kísérleti eredményt mutatunk be, amelyek bemutatják a SageMaker intelligens szitálással lehetséges teljesítményjavulást.
A táblázatban az Elfogadott százalék oszlop a képzési ciklusban szereplő és felhasznált adatok arányát jelzi. Ennek a hangolható paraméternek a növelése csökkenti a költségeket (ahogyan az IMR megtakarítás % oszlopban látható), de a pontosságot is befolyásolhatja. A % Accepted megfelelő beállítása az adatkészlettől és a modelltől függ; kísérletezni kell ezzel a paraméterrel, és be kell hangolnia, hogy a legjobb egyensúlyt érje el a csökkentett költségek és a pontosságra gyakorolt hatás között.
Megoldás áttekintése
A következő szakaszokban egy gyakorlati példát mutatunk be az intelligens szitálás engedélyezésére egy PyTorch képzési feladattal a SageMakeren. Ha gyorsan szeretne kezdeni, ugorjon a PyTorch vagy PyTorch Lightning példák.
Előfeltételek
Feltételezzük, hogy már tudja, hogyan kell betanítani egy modellt a PyTorch vagy a PyTorch Lightning segítségével a SageMaker Python SDK használatával és az Estimator osztályt a SageMaker Deep Learning Containers használatával. Ha nem, nézze meg A SageMaker Python SDK használata mielőtt folytatná.
Kezdje el a SageMaker intelligens szitálást
Egy tipikus PyTorch képzési feladatban inicializálja a PyTorch képzést DataLoader adatkészletével és egyéb szükséges paramétereivel, amely a képzés előrehaladtával bemeneti kötegeket biztosít. Az edzési adatok intelligens rostálásának engedélyezéséhez újat kell használnia DataLoader
osztály: smart_sifting.dataloader.sift_dataloader.SiftingDataloader
. Ezt az osztályt burkolóként használják a meglévő PyTorch tetején DataLoader
és a képzési folyamat ehelyett használni fogja SiftingDataloader
bemeneti kötegek beszerzéséhez. A SiftingDataLoader
lekéri a bemeneti köteget az eredeti PyTorch-től DataLoader
, értékeli a minták fontosságát a kötegben, és szitált köteget készít nagy veszteségű mintákkal, amelyeket aztán továbbít a betanítási lépésnek. A csomagolóanyag a következő kódhoz hasonlít:
A SiftingDataloader
néhány további paramétert igényel az edzési adatok elemzéséhez, amelyeket a következőn keresztül adhat meg sift_config
paraméter. Először hozzon létre a smart_sifting.sift_config.sift_configs.RelativeProbabilisticSiftConfig
tárgy. Ez az objektum tartalmazza a konfigurálható és szükséges elemeket beta_value
és a loss_history_length
, amelyek rendre meghatározzák a megtartandó minták arányát és a relatív veszteség értékelésekor figyelembe veendő minták ablakát. Vegye figyelembe, hogy mivel az intelligens szitálás az Ön modelljét használja a minta fontosságának meghatározására, negatív következményei lehetnek, ha teljesen véletlenszerű súlyozású modellt használunk. Ehelyett használhatja loss_based_sift_config
és egy sift_delay
a szitálási folyamat késleltetése addig, amíg a modellben szereplő paramétersúlyok a véletlenszerű értékeken túl nem frissülnek. (További részletekért lásd Alkalmazza az intelligens szitálást az edzési szkriptjére.) A következő kódban definiáljuk sift_config
és adja meg beta_value
és a loss_history_length
, valamint késlelteti a szitálás megkezdését a használatával loss_based_sift_config
:
Ezután be kell írnia a loss_impl
paraméter a SiftingDataloader
tárgy. Az intelligens szitálás egyéni mintaszinten működik, és kulcsfontosságú, hogy hozzáférjünk egy veszteségszámítási módszerhez a minta fontosságának meghatározásához. Meg kell valósítania egy szitálási veszteség módszert, amely egy nx1 tenzort ad vissza, amely n minta veszteségi értékét tartalmazza. Általában ugyanazt a veszteségi módszert adja meg, amelyet az Ön által használt model
edzés közben. Végül helyezzen el egy mutatót a modelljére a SiftingDataloader
objektum, amelyet a minták értékelésére használnak, mielőtt azok bekerülnének a képzésbe. Lásd a következő kódot:
A következő kód egy teljes példát mutat be az intelligens szitálás engedélyezésére egy meglévő BERT képzési munkával:
Következtetés
Ebben a bejegyzésben megvizsgáltuk az intelligens szitálás nyilvános előzetesét, a SageMaker új képességét, amely akár 35%-kal csökkentheti a mélytanulási modell képzési költségeit. Ez a funkció javítja az adathatékonyságot a képzés során, és kiszűri a kevésbé informatív adatmintákat. A modellkonvergenciához csak a leghatásosabb adatok felvételével jelentősen csökkentheti a képzési időt és költséget, miközben megőrzi a pontosságot. Sőt, zökkenőmentesen integrálódik a meglévő folyamatokba anélkül, hogy módosítani kellene az adatokon vagy a képzési folyamaton.
Ha mélyebben szeretne belemerülni a SageMaker intelligens szitálásba, felfedezni annak működését, és megvalósítani a PyTorch képzési terhelésekkel, tekintse meg dokumentáció és a mintafüzetek és kezdje meg ezzel az új képességgel.
A szerzőkről
Robert Van Dusen az Amazon SageMaker vezető termékmenedzsere. Keretrendszereket, fordítókat és optimalizálási technikákat vezet a mélytanulási képzéshez.
K Lokesh Kumar Reddy az Amazon Applied AI csapat vezető mérnöke. A hatékony ML-képzési technikákra és a társalgási AI-rendszerek fejlesztésére szolgáló eszközök kifejlesztésére összpontosít. Szabadidejében szívesen keres új kultúrákat, új tapasztalatokat, és naprakész marad a legújabb technológiai trendekkel.
Abhishek Dan az Amazon Applied AI csapatának vezető fejlesztői menedzsere, gépi tanulással és párbeszédes AI-rendszerekkel foglalkozik. Szenvedélyesen rajong az AI-technológiákért, és a tudomány és a mérnöki tudományok metszéspontjában dolgozik az AI-rendszerek képességeinek fejlesztésén, hogy intuitívabb és zökkenőmentesebb ember-számítógép interakciókat hozzon létre. Jelenleg nagy nyelvi modellekre épít alkalmazásokat, hogy növelje a hatékonyságot és a CX fejlesztéseket az Amazon számára.
- SEO által támogatott tartalom és PR terjesztés. Erősödjön még ma.
- PlatoData.Network Vertical Generative Ai. Erősítse meg magát. Hozzáférés itt.
- PlatoAiStream. Web3 Intelligence. Felerősített tudás. Hozzáférés itt.
- PlatoESG. Carbon, CleanTech, Energia, Környezet, Nap, Hulladékgazdálkodás. Hozzáférés itt.
- PlatoHealth. Biotechnológiai és klinikai vizsgálatok intelligencia. Hozzáférés itt.
- Forrás: https://aws.amazon.com/blogs/machine-learning/accelerate-deep-learning-model-training-up-to-35-with-amazon-sagemaker-smart-sifting/
- :is
- :nem
- $ UP
- 100
- 125
- 13
- 14
- 23
- 25
- 35%
- 7
- a
- Rólunk
- gyorsul
- gázpedál
- elfogadott
- hozzáférés
- pontosság
- Elérése
- elért
- aktívan
- hozzá
- További
- Ezen kívül
- továbbjutó
- érint
- AI
- AI rendszerek
- Minden termék
- már
- Is
- változtatások
- mindig
- amazon
- Amazon SageMaker
- Az Amazon Web Services
- an
- elemez
- elemzések
- és a
- bejelent
- bármilyen
- alkalmazások
- alkalmazott
- Alkalmazott AI
- megfelelő
- körülbelül
- VANNAK
- Művészet
- mesterséges
- mesterséges intelligencia
- AS
- félre
- társult
- feltételezni
- At
- AWS
- Egyenleg
- BE
- mert
- óta
- előtt
- kezdődik
- BEST
- között
- Túl
- Alsó
- Épület
- de
- by
- számít
- számítás
- TUD
- képességek
- képesség
- eset
- kihívás
- Változások
- ellenőrizze
- játékpénz
- osztály
- kód
- Oszlop
- teljes
- teljesen
- számítás
- számítási
- Kiszámít
- számítógép
- Számítógépes látás
- konstrukciókat
- fogyasztó
- Konténerek
- folyamatos
- contribuer
- hozzájárul
- Konvergencia
- társalgó
- társalgási AI
- Költség
- kiadások
- teremt
- kritikus
- a válogatott
- Jelenleg
- Ügyfelek
- CX
- dátum
- adat-tudomány
- adatkészletek
- találka
- csökken
- mély
- mély tanulás
- mélyebb
- meghatározott
- meghatározó
- késleltetés
- igazolták
- bemutatását,
- részletek
- Határozzuk meg
- Dev
- eszköz
- Eszközök
- megvitatni
- megosztott
- elosztott képzés
- merülés
- do
- Nem
- ne
- hajtás
- hajtott
- alatt
- minden
- hatékonyság
- hatékony
- más
- lehetővé
- engedélyezve
- lehetővé téve
- mérnök
- Mérnöki
- elég
- Vállalatok
- egyaránt
- értékelni
- értékelő
- Még
- fejlődik
- példa
- példák
- izgatott
- kizárt
- létező
- tapasztalat
- Tapasztalatok
- kísérlet
- kísérleti
- feltárása
- feltárt
- Funkció
- Jellemzők
- Szűrők
- Végül
- vezetéknév
- Összpontosít
- összpontosított
- következő
- A
- Forefront
- Előre
- talált
- keretek
- ból ből
- Tele
- teljesen
- funkció
- általános
- kap
- GPU
- GPU
- hardver
- Legyen
- he
- segít
- övé
- tart
- Hogyan
- How To
- azonban
- HTML
- HTTPS
- azonosított
- if
- illusztrálja
- Hatás
- hatásos
- végre
- végre
- következményei
- importál
- fontosság
- javul
- javulás
- fejlesztések
- javítja
- in
- tartalmaz
- beleértve
- Beleértve
- növekvő
- független
- jelzi
- egyéni
- eredménytelenség
- információ
- tájékoztató
- Innováció
- bemenet
- helyette
- integrál
- Intelligencia
- kölcsönhatások
- útkereszteződés
- bele
- intuitív
- IT
- maga
- Munka
- jpg
- ugrás
- Tart
- Kulcs
- Ismer
- Kumar
- táj
- nyelv
- nagy
- legutolsó
- tojók
- vezetékek
- tanulás
- tanul
- kevesebb
- szint
- könyvtárak
- villám
- mint
- betöltés
- logika
- MEGJELENÉS
- le
- gép
- gépi tanulás
- fenntartása
- csinál
- menedzser
- jelentősen
- Lehet..
- módszer
- minimális
- vegyes
- ML
- modell
- modellek
- Modulok
- több
- a legtöbb
- kell
- Természetes
- Természetes nyelvi feldolgozás
- közel
- Szükség
- szükséges
- negatív
- Új
- NLP
- nem
- Egyik sem
- rendszerint
- megjegyezni
- tárgy
- of
- gyakran
- on
- online
- csak
- nyitva
- nyílt forráskódú
- működik
- optimalizálás
- optimalizált
- or
- eredeti
- Más
- mi
- ki
- kimenetek
- átfogó
- Overcome
- áttekintés
- paraméter
- paraméterek
- elhalad
- Elmúlt
- szenvedélyes
- mert
- teljesítmény
- csővezeték
- Plató
- Platón adatintelligencia
- PlatoData
- pózok
- lehetséges
- állás
- erős
- Gyakorlati
- Pontosság
- Preview
- elsősorban
- folyamat
- Folyamatok
- feldolgozás
- Termékek
- termék menedzser
- arány
- biztosít
- nyilvános
- cél
- Piton
- pytorch
- világítás
- gyorsan
- véletlen
- gyorsan
- Ajánlást
- csökkenteni
- Csökkent
- csökkenti
- csökkentés
- utal
- finomítani
- összefüggő
- relatív
- viszonylag
- támaszkodnak
- szükség
- kötelező
- megköveteli,
- Tudástár
- illetőleg
- REST
- Eredmények
- visszatérés
- Visszatér
- sagemaker
- azonos
- Megtakarítás
- Tudomány
- sdk
- zökkenőmentes
- zökkenőmentesen
- szakaszok
- lát
- keres
- MAGA
- idősebb
- küldött
- Szolgáltatások
- készlet
- beállítás
- kellene
- Műsorok
- Szitál
- jelentős
- jelentősen
- Egyszerű
- kisebb
- okos
- néhány
- néha
- forrás
- feszültség
- specializált
- különleges
- költött
- Színpad
- kezdet
- kezdődött
- tartózkodás
- Lépés
- lényegesen
- ilyen
- Systems
- táblázat
- Vesz
- Feladat
- csapat
- technika
- technikák
- Technologies
- Technológia
- tesztek
- mint
- hogy
- A
- az információ
- azok
- maguk
- akkor
- Ott.
- ebből adódóan
- Ezek
- ők
- Harmadik
- ezt
- Keresztül
- idő
- nak nek
- Ma
- mai
- szerszámok
- felső
- Témakörök
- fáklya
- Végösszeg
- hagyományosan
- Vonat
- kiképzett
- Képzések
- vonatok
- Trends
- dallam
- tipikus
- jellemzően
- -ig
- frissítve
- Upstream adatok
- használ
- használati eset
- használt
- használ
- segítségével
- Értékek
- keresztül
- látomás
- kötet
- séta
- akar
- we
- háló
- webes szolgáltatások
- Hetek
- JÓL
- voltak
- amikor
- ami
- míg
- lesz
- ablak
- val vel
- nélkül
- munkafolyamat
- művek
- te
- A te
- zephyrnet