Vgrajeno Amazon SageMaker Algoritem XGBoost zagotavlja upravljani vsebnik za zagon priljubljenega XGBoost ogrodje strojnega učenja (ML) z dodatno priročnostjo podpore za napredno usposabljanje ali funkcije sklepanja, kot je porazdeljeno usposabljanje, razrez podatkovnih nizov za velike podatkovne nize, A/B testiranje modelaali večmodelno sklepanje končne točke. Ta močan algoritem lahko tudi razširite, da se prilagodi različnim zahtevam.
Pakiranje kode in odvisnosti v en vsebnik je priročen in robusten pristop za dolgoročno vzdrževanje kode, ponovljivost in namene revizije. Spreminjanje vsebnika neposredno zvesto sledi osnovnemu vsebniku in se izogne podvajanju obstoječih funkcij, ki jih že podpira osnovni vsebnik. V tej objavi pregledamo notranje delovanje vsebnika algoritma SageMaker XGBoost in zagotovimo pragmatične skripte za neposredno prilagoditev vsebnika.
Struktura vsebnika SageMaker XGBoost
Algoritem XGBoost, vgrajen v SageMaker, je zapakiran kot samostojen vsebnik, na voljo na GitHub, in ga je mogoče razširiti z razvijalcem prijazno odprtokodno licenco Apache 2.0. Posoda pakira odprtokodni algoritem XGBoost in pomožna orodja za zagon algoritma v okolju SageMaker, integriranem z drugimi storitvami AWS Cloud. To vam omogoča treniranje modelov XGBoost na različnih virov podatkov, naredite paketne napovedi na podatke brez povezave ali gosti an končna točka sklepanja v realnem času plinovod.
Vsebnik podpira operacije usposabljanja in sklepanja z različnimi vstopnimi točkami. Za način sklepanja lahko vnos najdete v glavni funkciji v skript serving.py. Za serviranje sklepanja v realnem času vsebnik izvaja a Bučko-temelji spletni strežnik da kdaj sklican, prejme HTTP-kodirano zahtevo, ki vsebuje podatke, dekodira podatke v XGBoost DMatrix format, naloži modelin vrne an HTTP-kodiran odgovor nazaj. Te metode so zaprte pod ScoringService razreda, ki ga je mogoče v veliki meri prilagoditi tudi prek skriptnega načina (glej prilogo spodaj).
Vstopna točka za način usposabljanja (način algoritma) je glavna funkcija v usposabljanje.py. Glavna funkcija nastavi okolje usposabljanja in pokliče funkcijo opravila usposabljanja. Je dovolj prilagodljiv, da omogoča porazdeljeno usposabljanje ali usposabljanje z enim vozliščem ali pripomočke, kot je navzkrižno preverjanje. Srce procesa usposabljanja lahko najdete v train_job Funkcija.
Datoteke Docker, ki pakirajo vsebnik, lahko najdete v GitHub repo. Upoštevajte, da je vsebnik zgrajen v dveh korakih: a baza najprej se zgradi kontejner, nato pa končna posodo na vrhu.
Pregled rešitev
Vsebnik lahko spremenite in znova sestavite prek izvorne kode. Vendar to vključuje zbiranje in ponovno gradnjo vseh odvisnosti in paketov iz nič. V tej objavi razpravljamo o enostavnejšem pristopu, ki spreminja vsebnik neposredno na že zgrajeno in javno dostopno sliko vsebnika algoritma SageMaker XGBoost.
Pri tem pristopu smo potegnite kopijo javne slike SageMaker XGBoost, spremenite skripte ali dodajte pakete in ponovno zgradite vsebnik na vrhu. Spremenjen vsebnik je mogoče shraniti v zasebnem repozitoriju. Na ta način se izognemo ponovni gradnji vmesnih odvisnosti in namesto tega gradimo neposredno na že zgrajenih knjižnicah, zapakiranih v uradnem vsebniku.
Naslednja slika prikazuje pregled skripta, ki se uporablja za pridobivanje javne osnovne slike, spreminjanje in ponovno izdelavo slike ter njeno nalaganje v zasebni Registar elastičnih zabojnikov Amazon (Amazon ECR) repozitorij. The bash skript v spremni kodi te objave izvaja vse korake poteka dela, prikazane v diagramu. Spremljevalni prenosnik prikazuje primer, kjer se URI določene različice algoritma SageMaker XGBoost najprej pridobi in posreduje bash skript, ki zamenja dva skripta Python na sliki, jo znova zgradi in spremenjeno sliko potisne v zasebno repozitorij Amazon ECR. Spremno kodo lahko spremenite tako, da ustreza vašim potrebam.
Predpogoji
O GitHub repozitorij vsebuje kodo, ki spremlja to objavo. Lahko zaženete vzorec zvezka v vašem računu AWS ali uporabite priloženo Oblikovanje oblaka AWS stack za namestitev prenosnega računalnika z uporabo prenosnega računalnika SageMaker. Potrebujete naslednje predpogoje:
- Račun AWS.
- Potrebna dovoljenja za zagon paketnega preoblikovanja SageMaker in opravil usposabljanja ter privilegije Amazon ECR. Predloga CloudFormation ustvari vzorec AWS upravljanje identitete in dostopa (IAM) vloge.
Uvedite rešitev
Če želite ustvariti svoje rešitvene vire z uporabo AWS CloudFormation, izberite Izstrelite sklad:
Sklad razmesti prenosni računalnik SageMaker, vnaprej konfiguriran za kloniranje repozitorija GitHub. Predstavitev prenosnik vključuje korake za pridobivanje javne slike SageMaker XGBoost za dano različico, njeno spreminjanje in potiskanje vsebnika po meri v zasebno repozitorij Amazon ECR. Beležnica uporablja javnost Nabor podatkov o ušesih kot vzorec uri model z uporabo vgrajenega učnega načina SageMaker XGBoost in ponovno uporabi ta model v sliki po meri za izvajanje opravil paketnega preoblikovanja, ki ustvarijo sklepanje skupaj z vrednostmi SHAP.
zaključek
Vgrajeni algoritmi SageMaker zagotavljajo različne funkcije in funkcionalnosti in jih je mogoče še razširiti pod odprtokodno licenco Apache 2.0. V tej objavi smo pregledali, kako razširiti produkcijski vgrajen vsebnik za algoritem SageMaker XGBoost, da bo izpolnil produkcijske zahteve, kot sta koda za nazaj in združljivost API-ja.
Vzorec zvezka in pomočnika skripte zagotovite priročno izhodišče za prilagoditev slike vsebnika SageMaker XGBoost, kot želite. Poskusi!
Dodatek: Skriptni način
Način skripta ponuja način za spreminjanje številnih vgrajenih algoritmov SageMaker z zagotavljanjem vmesnika za zamenjavo funkcij, ki so odgovorne za preoblikovanje vnosov in nalaganje modela. Skriptni način ni tako prilagodljiv kot neposredno spreminjanje vsebnika, vendar zagotavlja pot, ki popolnoma temelji na Pythonu, za prilagoditev vgrajenega algoritma brez potrebe po neposrednem delu z Lučki delavec.
V skriptnem načinu, a user-module
je na voljo za prilagajanje dekodiranja podatkov, nalaganja modela in predvidevanja. Uporabniški modul lahko definira a transformer_fn
ki obravnava vse vidike obdelave zahteve do priprave odgovora. Ali namesto definiranja transformer_fn
, lahko zagotovite metode po meri model_fn
, input_fn
, predict_fn
in output_fn
individualno, da prilagodite nalaganje modela in dekodiranje ter pripravo vnosa za napovedovanje. Za podrobnejši pregled skriptnega načina glejte Prinesite svoj model s skriptnim načinom SageMaker.
O avtorjih
Peyman Razaghi je podatkovni znanstvenik pri AWS. Ima doktorat iz informacijske teorije na Univerzi v Torontu in je bil podoktorski raziskovalec na Univerzi Južne Kalifornije (USC) v Los Angelesu. Preden se je pridružil AWS, je bil Peyman zaposleni sistemski inženir pri Qualcommu in je prispeval k številnim pomembnim mednarodnim telekomunikacijskim standardom. Je avtor več znanstveno-raziskovalnih člankov, ki so bili recenzirani s področja statistike in sistemskega inženiringa, izven dela pa uživa v starševstvu in cestnem kolesarjenju.
- "
- 100
- dostop
- prilagoditi
- Račun
- napredno
- algoritem
- algoritmi
- vsi
- že
- Amazon
- API
- pristop
- OBMOČJE
- članki
- AWS
- izgradnjo
- vgrajeno
- california
- Izberite
- razred
- Cloud
- storitev v oblaku
- Koda
- Zbiranje
- popolnoma
- Posoda
- Vsebuje
- udobje
- Priročen
- ustvari
- po meri
- datum
- podatkovni znanstvenik
- razporedi
- razpolaga
- drugačen
- neposredno
- razpravlja
- porazdeljena
- Lučki delavec
- inženir
- okolje
- Primer
- razširiti
- Lastnosti
- Slika
- prva
- prilagodljiv
- po
- format
- je pokazala,
- Okvirni
- funkcija
- nadalje
- GitHub
- veliko
- drži
- Kako
- Kako
- HTTPS
- identiteta
- slika
- Podatki
- vhod
- integrirana
- vmesnik
- Facebook Global
- IT
- Job
- Delovna mesta
- učenje
- Licenca
- dolgoročna
- Los Angeles
- stroj
- strojno učenje
- IZDELA
- Izdelava
- upravlja
- ML
- Model
- modeli
- več
- prenosnik
- Številka
- Uradni
- offline
- operacije
- Ostalo
- lastne
- Točka
- Popular
- močan
- napoved
- Napovedi
- zasebna
- Postopek
- proizvodnjo
- proizvodnja
- zagotavljajo
- zagotavlja
- zagotavljanje
- javnega
- namene
- v realnem času
- Skladišče
- zahteva
- Zahteve
- Raziskave
- viri
- Odgovor
- odgovorna
- vrne
- pregleda
- Pot
- Run
- Znanstvenik
- Storitve
- služijo
- brušenje
- Software
- Rešitev
- Izvorna koda
- Južna
- sveženj
- standardi
- Statistika
- Podprti
- Podpora
- Podpira
- sistemi
- Vir
- skozi
- skupaj
- orodja
- vrh
- toronto
- usposabljanje
- vlaki
- Transform
- preoblikovanje
- univerza
- uporaba
- raznolikost
- Wikipedia
- delo
- bi