Decembra 2020 je dr. AWS je objavil splošno razpoložljivost Amazon SageMaker JumpStart, zmožnost Amazon SageMaker ki vam pomaga hitro in enostavno začeti s strojnim učenjem (ML). SageMaker JumpStart zagotavlja fino nastavitev in uvajanje široke palete vnaprej usposobljenih modelov v priljubljenih opravilih ML z enim klikom ter izbor celovitih rešitev, ki rešujejo pogoste poslovne probleme. Te funkcije odpravljajo težko delo pri vsakem koraku procesa ML, kar olajša razvoj visokokakovostnih modelov in skrajša čas do uvajanja.
Vse vsebine JumpStart so bile prej na voljo samo prek Amazon SageMaker Studio, ki zagotavlja a uporabniku prijazen grafični vmesnik za interakcijo s funkcijo. Pred kratkim tudi mi napovedal začetek enostavnega za uporabo API-ji JumpStart kot razširitev SDK-ja SageMaker Python, ki vam omogoča programsko uvajanje in natančno nastavitev velikega izbora vnaprej usposobljenih modelov, ki jih podpira JumpStart, na vaših lastnih nizih podatkov. Ta zagon odklene uporabo zmožnosti JumpStart v delovnih tokovih vaše kode, cevovodih MLOps in povsod drugje, kjer komunicirate s SageMakerjem prek SDK.
V tej objavi z veseljem sporočamo, da vsi modeli JumpStart, ki jih je mogoče učiti, zdaj podpirajo postopno usposabljanje. Postopno usposabljanje vam omogoča, da usposobite model, ki ste ga že natančno prilagodili, z uporabo razširjenega nabora podatkov, ki vsebuje osnovni vzorec, ki ni bil upoštevan v prejšnjih izvajanjih natančnega prilagajanja, kar je povzročilo slabo delovanje modela. Postopno usposabljanje prihrani tako čas kot vire, ker vam ni treba ponovno usposobiti modela iz nič. Če želite skočiti neposredno na kodo JumpStart API, ki jo razlagamo v tej objavi, se lahko obrnete na vzorec zvezka.
JumpStart pregled
JumpStart je večplasten izdelek, ki vključuje različne zmožnosti, ki vam pomagajo hitro začeti uporabljati ML na SageMakerju. V času pisanja vam JumpStart omogoča naslednje:
- Razmestite vnaprej usposobljene modele za pogoste naloge ML – JumpStart vam omogoča, da obravnavate pogoste naloge ML brez razvojnih naporov, saj zagotavlja enostavno uvajanje modelov, vnaprej usposobljenih na velikih, javno dostopnih naborih podatkov. Raziskovalna skupnost ML je vložila veliko truda v to, da je večina nedavno razvitih modelov postala javno dostopna za uporabo; JumpStart gosti zbirko več kot 300 modelov, ki zajemajo 15 najbolj priljubljenih nalog ML, kot so zaznavanje predmetov, klasifikacija besedila in generiranje besedila, kar začetnikom olajša njihovo uporabo. Ti modeli so vzeti iz priljubljenih središč modelov, kot so TensorFlow, PyTorch, Hugging Face in MXNet Hub.
- Natančno prilagodite vnaprej usposobljene modele – JumpStart vam omogoča natančno nastavitev vnaprej pripravljenih modelov brez potrebe po pisanju lastnega algoritma za usposabljanje. V ML se imenuje zmožnost prenosa znanja, pridobljenega z enega področja na drugega transferno učenje. Učenje prenosa lahko uporabite za izdelavo natančnih modelov na svojih manjših naborih podatkov z veliko nižjimi stroški usposabljanja kot stroški usposabljanja izvirnega modela. JumpStart vključuje tudi priljubljene algoritme za usposabljanje, ki temeljijo na LightGBM, CatBoost, XGBoost in Scikit-learn, ki jih lahko trenirate od začetka za tabelarično regresijo in klasifikacijo.
- Uporabite vnaprej izdelane rešitve – JumpStart ponuja nabor 17 rešitev za običajne primere uporabe ML, kot so napovedovanje povpraševanja ter industrijske in finančne aplikacije, ki jih lahko uvedete z le nekaj kliki. Rešitve so aplikacije ML od konca do konca, ki združujejo različne storitve AWS za rešitev določenega primera poslovne uporabe. Uporabljajo Oblikovanje oblaka AWS predloge in referenčne arhitekture za hitro uvajanje, kar pomeni, da so popolnoma prilagodljivi.
- Uporabite primere zvezkov za algoritme SageMaker – SageMaker ponuja zbirko vgrajenih algoritmov za pomoč podatkovnim znanstvenikom in izvajalcem ML, da hitro začnejo z usposabljanjem in uvajanjem modelov ML. JumpStart ponuja vzorčne zvezke, ki jih lahko uporabite za hitro uporabo teh algoritmov.
- Preglejte video posnetke in bloge za usposabljanje – JumpStart ponuja tudi številne objave v spletnem dnevniku in videoposnetke, ki vas učijo, kako uporabljati različne funkcije znotraj SageMakerja.
JumpStart sprejema nastavitve VPC po meri in AWS Service Key Management (AWS KMS) šifrirne ključe, tako da lahko varno uporabljate razpoložljive modele in rešitve v okolju vašega podjetja. Svoje varnostne nastavitve lahko posredujete JumpStartu v Studiu ali prek SDK-ja SageMaker Python.
Razvrstitev slik
Klasifikacija slike se nanaša na razvrstitev slike v eno od oznak razreda v naboru podatkov za usposabljanje. Model lahko natančno prilagodite kateremu koli danemu naboru podatkov, ki vsebuje slike, ki pripadajo poljubnemu številu razredov. Model, ki je na voljo za natančno nastavitev na JumpStartu, pripne klasifikacijsko plast ustreznemu modelu ekstraktorja funkcij in inicializira parametre plasti na naključne vrednosti. Izhodna dimenzija klasifikacijskega sloja je določena glede na število razredov v vhodnih podatkih. Korak natančnega prilagajanja prilagodi parametre klasifikacijske plasti, medtem ko ohrani parametre modela ekstraktorja funkcij zamrznjene in vrne natančno nastavljeni model. Cilj je zmanjšati napako napovedi vhodnih podatkov.
Za naš nabor podatkov je vnos imenik s toliko podimeniki, kot je število razredov. Vsak podimenik mora imeti slike, ki pripadajo temu razredu, v formatu .jpg. Vhodni imenik bi moral izgledati kot naslednja hierarhija, če podatki o usposabljanju vsebujejo slike iz dveh razredov: roses
in dandelion
:
Imena map, razredov in imena datotek .jpg so lahko poljubna.
Nudimo tf_flowers
1 nabor podatkov kot privzeti nabor podatkov za natančno nastavitev modela. Ta nabor podatkov vsebuje slike petih vrst rož. Nabor podatkov je bil prenesen iz TensorFlow.
Pregled navodila
Naslednji razdelki nudijo predstavitev po korakih za izvajanje klasifikacije slik s programom JumpStart, prek uporabniškega vmesnika Studio in API-jev JumpStart.
Sprehodimo se skozi naslednje korake:
- Do JumpStart dostopajte prek uporabniškega vmesnika Studio:
- Natančno prilagodite predhodno usposobljeni model.
- Razmestite natančno nastavljen model.
- Postopoma usposobite natančno nastavljen model in ga prerazporedite.
- Uporabite JumpStart programsko s SDK SageMaker Python:
- Natančno prilagodite predhodno usposobljeni model.
- Razmestite natančno nastavljen model.
- Postopoma usposobite natančno nastavljen model in ga prerazporedite.
Do JumpStart dostopajte prek uporabniškega vmesnika Studio
V tem razdelku prikazujemo, kako natančno prilagoditi in razmestiti modele JumpStart prek uporabniškega vmesnika Studio. Poleg tega pokažemo, kako postopno usposobiti model, ki ste ga predhodno natančno prilagodili.
Natančno prilagodite predhodno usposobljeni model
Naslednji videoposnetek prikazuje, kako v JumpStart poiščete predhodno usposobljen model klasifikacije slik in ga natančno prilagodite. Stran z modelom vsebuje dragocene informacije o modelu, o tem, kako ga uporabljati, pričakovanem formatu podatkov in nekaterih podrobnostih natančne nastavitve.
Za namene predstavitve natančno prilagodimo model z uporabo privzeto zagotovljenega nabora podatkov, ki je tf_flowers
nabor podatkov, sestavljen iz različnih vrst rož. Natančna nastavitev lastnega nabora podatkov vključuje pravilno oblikovanje podatkov (kot je razloženo na strani modela) in njihovo nalaganje v Preprosta storitev shranjevanja Amazon (Amazon S3) in določitev njegove lokacije v konfiguraciji vira podatkov.
Uporabljamo enake privzeto nastavljene vrednosti hiperparametrov (število epoh, hitrost učenja in velikost serije). Uporabljamo tudi primerek ml.p3.2xlarge, podprt z grafično procesorsko enoto, kot primerek za usposabljanje SageMaker.
Svoje usposabljanje lahko spremljate neposredno na konzoli Studio in ste obveščeni po njegovem zaključku.
Razmestite natančno nastavljen model
Ko je usposabljanje končano, lahko uvedete natančno nastavljen model z iste strani, ki vsebuje podrobnosti o delu usposabljanja. Za uvedbo našega modela izberemo drugo vrsto instance, ml.p2.xlarge. Še vedno zagotavlja pospešek GPE, potreben za nizko zakasnitev sklepanja, vendar po nižji ceni. Ko konfigurirate primerek gostovanja SageMaker, izberite uvajanje. Traja lahko od 5 do 10 minut, dokler vaša vztrajna končna točka ne začne delovati.
Potem je vaša končna točka delujoča in pripravljena na odziv na zahteve po sklepanju!
Da bi pospešili vaš čas za sklepanje, JumpStart ponuja vzorčni zvezek, ki vam pokaže, kako zagnati sklepanje na vaši sveže razporejeni končni točki. Izberite Odprite Beležnico pod Uporabi končno točko iz Studia.
Postopoma usposobite natančno nastavljen model in ga uvedite
Ko je natančna nastavitev končana, lahko dodatno usposobite model za povečanje zmogljivosti. Ta korak je zelo podoben začetnemu postopku natančnega prilagajanja, le da kot izhodišče uporabimo že natančno nastavljen model. Uporabite lahko nove podatke, vendar mora biti format nabora podatkov enak (isti niz razredov).
Uporabite JumpStart programsko s SDK SageMaker
V prejšnjih razdelkih smo pokazali, kako lahko uporabite uporabniški vmesnik JumpStart za natančno nastavitev, uvajanje in postopno interaktivno usposabljanje modela v nekaj klikih. Uporabite lahko tudi JumpStartove modele in enostavno natančno programsko nastavitev z uporabo API-jev, ki so integrirani v SDK SageMaker. Zdaj bomo pregledali hiter primer, kako lahko ponovite prejšnji postopek. Vsi koraki v tej predstavitvi so na voljo v priloženih zvezkih Uvod v JumpStart – klasifikacija slik.
Natančno prilagodite predhodno usposobljeni model
Za natančno nastavitev izbranega modela moramo pridobiti URI tega modela, kot tudi URI skripta za usposabljanje in sliko vsebnika, ki se uporablja za usposabljanje. Na srečo so ti trije vnosi odvisni izključno od imena modela, različice (za seznam razpoložljivih modelov glejte Tabela razpoložljivih modelov JumpStart) in vrsto primerka, na katerem se želite učiti. To je prikazano v naslednjem delčku kode:
Pridobivamo model_id
ustreza istemu modelu, ki smo ga uporabljali prej. Ikona v identifikatorju ustreza klasifikaciji slike.
Zdaj lahko natančno prilagodite ta model JumpStart na svojem naboru podatkov po meri z uporabo SDK-ja SageMaker. Uporabljamo enako tf_flowers
nabor podatkov, ki javno gostuje na Amazon S3 in je priročno osredotočen na analizo razpoloženja. Vaš nabor podatkov mora biti strukturiran za natančno nastavitev, kot je razloženo v prejšnjem razdelku. Oglejte si naslednji primer kode:
Za naš izbrani model pridobimo enake privzete hiperparametre kot tiste, ki smo jih videli v prejšnjem razdelku, z uporabo sagemaker.hyperparameters.retrieve_default()
. Nato postavimo primerek ocenjevalca SageMaker in pokličemo metodo .fit, da začnemo natančno prilagajati naš model, tako da mu posredujemo URI Amazon S3 za naše podatke o usposabljanju. Kot vidite, je entry_point
skript je poimenovan transfer_learning.py
(enako za druge naloge in modele) in vhodni podatkovni kanal, ki se posreduje .fit
mora biti imenovan training
.
Uvajanje natančno nastavljenega modela
Ko je usposabljanje končano, lahko uvedete svoj natančno nastavljen model. Za to potrebujemo le URI skripta za sklepanje (koda, ki določa, kako se model uporablja za sklepanje, ko je enkrat razporejen) in URI slike vsebnika za sklepanje, ki vključuje ustrezen strežnik modela za gostovanje modela, ki smo ga izbrali. Oglejte si naslednjo kodo:
Po nekaj minutah je naš model razporejen in iz njega lahko v realnem času pridobimo napovedi!
Nato prikličemo končno točko, da napovemo, katere vrste cvetov obstajajo na vzorčni sliki. Uporabljamo query_endpoint
in parse_response
pomožne funkcije, ki so opredeljene v priloženih prenosnik.
Postopoma usposobite natančno nastavljen model in ga prerazporedite
Učinkovitost natančno nastavljenega modela lahko povečamo z nadaljnjim usposabljanjem na novih slikah. Za to lahko uporabite poljubno število novih ali starih slik, vendar mora format nabora podatkov ostati enak (isti niz razredov). Korak postopnega usposabljanja je podoben procesu natančnega uravnavanja, s pomembno razliko: pri začetnem natančnem uravnavanju začnemo z vnaprej usposobljenim modelom, medtem ko pri postopnem usposabljanju začnemo z obstoječim natančno nastavljenim modelom. Oglejte si naslednjo kodo:
Ko je usposabljanje končano, lahko uporabimo iste korake, kot so opisani v prejšnjem razdelku, da razmestimo model.
zaključek
JumpStart je zmožnost v SageMakerju, ki vam omogoča hiter začetek ML. JumpStart uporablja odprtokodne vnaprej usposobljene modele za reševanje pogostih težav ML, kot so klasifikacija slik, zaznavanje predmetov, klasifikacija besedila, klasifikacija stavčnih parov in odgovarjanje na vprašanja.
V tej objavi smo vam pokazali, kako natančno prilagoditi in uvesti vnaprej usposobljen model klasifikacije slik. Pokazali smo tudi, kako postopno usposobiti natančno nastavljen model za klasifikacijo slik. Z JumpStart lahko preprosto izvedete ta postopek brez potrebe po kodiranju. Preizkusite rešitev sami in nam v komentarjih sporočite, kako gre. Če želite izvedeti več o JumpStartu, si oglejte video AWS re:Invent 2020 Začnite uporabljati ML v nekaj minutah z Amazon SageMaker JumpStart.
Reference
- Ekipa TensorFlow, 2019
O avtorjih
dr. Vivek Madan je uporabni znanstvenik pri ekipi Amazon SageMaker JumpStart. Doktoriral je. z Univerze Illinois v Urbana-Champaignu in bil podoktorski raziskovalec na Georgia Tech. Je aktiven raziskovalec strojnega učenja in oblikovanja algoritmov ter je objavil članke na konferencah EMNLP, ICLR, COLT, FOCS in SODA.
João Moura je specialist za rešitve AI/ML pri Amazon Web Services. Večinoma se osredotoča na primere uporabe NLP in pomaga strankam optimizirati usposabljanje in uvajanje modela globokega učenja. Je tudi aktiven zagovornik rešitev ML z nizko kodo in strojne opreme, specializirane za ML.
Dr. Ashish Khetan je višji aplikativni znanstvenik z Amazon SageMaker JumpStart in Vgrajeni algoritmi Amazon SageMaker in pomaga pri razvoju algoritmov strojnega učenja. Je aktiven raziskovalec strojnega učenja in statističnega sklepanja ter je objavil veliko člankov na konferencah NeurIPS, ICML, ICLR, JMLR, ACL in EMNLP.
- '
- "
- 100
- 2020
- a
- sposobnost
- O meni
- pospeši
- natančna
- čez
- aktivna
- Naslov
- algoritem
- algoritmi
- vsi
- Dovoli
- omogoča
- že
- Amazon
- Amazon Web Services
- znesek
- Analiza
- Objavi
- razglasitve
- Še ena
- kjerkoli
- API
- API-ji
- aplikacije
- uporabna
- Uporabi
- primerno
- razpoložljivost
- Na voljo
- AWS
- ker
- Blog
- Blog Prispevkov
- vgrajeno
- poslovni
- klic
- Lahko dobiš
- Zmogljivosti
- primeru
- primeri
- Izberite
- razred
- razredi
- Razvrstitev
- Koda
- zbirka
- komentarji
- Skupno
- skupnost
- dokončanje
- sestavljajo
- konference
- konfiguracija
- Konzole
- Posoda
- Vsebuje
- vsebina
- Nadzor
- Ustrezno
- stroški
- ustvarjajo
- po meri
- Stranke, ki so
- prilagodljiv
- datum
- globoko
- Povpraševanje
- izkazati
- Dokazano
- razporedi
- razporejeni
- uvajanja
- uvajanje
- opisano
- Oblikovanje
- Podrobnosti
- Odkrivanje
- Razvoj
- razvili
- Razvoj
- Razlika
- drugačen
- Dimenzije
- neposredno
- Lučki delavec
- domena
- vsak
- enostavno
- enostaven za uporabo
- prizadevanje
- omogoča
- šifriranje
- konec koncev
- Končna točka
- Podjetje
- okolje
- Primer
- Primeri
- Razen
- razburjen
- obstoječih
- razširiti
- Pričakuje
- Obraz
- Feature
- Lastnosti
- finančna
- fit
- osredotočena
- po
- format
- iz
- funkcije
- nadalje
- splošno
- generacija
- Georgia
- GPU
- strojna oprema
- pomoč
- pomoč
- Pomaga
- hierarhija
- visoka kvaliteta
- drži
- gostila
- gostovanje
- Kako
- Kako
- Vendar
- HTTPS
- Hub
- Illinois
- slika
- slike
- Pomembno
- vključuje
- Povečajte
- industrijske
- Podatki
- vhod
- primer
- integrirana
- medsebojno delovanje
- vključeni
- IT
- Job
- skoči
- vzdrževanje
- Ključne
- tipke
- Vedite
- znanje
- label
- Oznake
- velika
- kosilo
- plast
- UČITE
- naučili
- učenje
- dviganje
- Seznam
- kraj aktivnosti
- Poglej
- stroj
- strojno učenje
- Večina
- Izdelava
- upravljanje
- Matter
- pomeni
- ML
- Model
- modeli
- monitor
- več
- Najbolj
- Najbolj popularni
- Imena
- prenosnik
- Številka
- številne
- Optimizirajte
- Ostalo
- lastne
- zlasti
- Podaje
- Vzorec
- performance
- Točka
- slaba
- Popular
- Prispevkov
- napovedati
- napoved
- Napovedi
- prejšnja
- Cena
- Težave
- Postopek
- proizvodnjo
- Izdelek
- zagotavljajo
- če
- zagotavlja
- zagotavljanje
- namene
- vprašanje
- Hitro
- hitro
- RE
- Pred kratkim
- zmanjšanje
- nanaša
- ostajajo
- Raziskave
- viri
- vrne
- Run
- tek
- Enako
- Znanstvenik
- Znanstveniki
- SDK
- Varno
- varnost
- izbran
- izbor
- sentiment
- Storitve
- nastavite
- Podoben
- Enostavno
- Velikosti
- So
- Rešitev
- rešitve
- SOLVE
- nekaj
- specialist
- Začetek
- začel
- Statistično
- Še vedno
- shranjevanje
- strukturirano
- studio
- podpora
- ob
- Naloge
- skupina
- tech
- predloge
- O
- 3
- skozi
- čas
- skupaj
- usposabljanje
- prenos
- Vrste
- ui
- pod
- univerza
- odklene
- us
- uporaba
- raznolikost
- različnih
- različica
- Video
- Video posnetki
- web
- spletne storitve
- Kaj
- medtem
- v
- delovnih tokov
- pisanje
- Vaša rutina za
- youtube