Amazon SageMaker je popolnoma upravljana storitev strojnega učenja (ML). S SageMakerjem lahko podatkovni znanstveniki in razvijalci hitro in preprosto zgradijo in učijo modele ML ter jih nato neposredno uvedejo v gostujoče okolje, pripravljeno za proizvodnjo. Sagemaker ponuja vgrajen primerek beležnice za avtoring Jupyter za enostaven dostop do vaših podatkovnih virov za raziskovanje in analizo, tako da vam ni treba upravljati strežnikov. Zagotavlja tudi običajne algoritme ML, ki so optimizirani za učinkovito izvajanje z izjemno velikimi podatki v porazdeljenem okolju.
SageMaker zahteva, da so podatki o usposabljanju za model ML prisotni bodisi v Amazon Simple Storage Service (Amazon S3), Amazon Elastic File System (Amazon EFS) ali Amazon FSx for Lustre (za več informacij glejte Access Training Data). Za usposabljanje modela z uporabo podatkov, shranjenih zunaj treh podprtih storitev shranjevanja, je treba podatke najprej vnesti v eno od teh storitev (običajno Amazon S3). To zahteva izgradnjo podatkovnega cevovoda (z uporabo orodij, kot je npr Amazon SageMaker Data Wrangler) za prenos podatkov v Amazon S3. Vendar pa lahko ta pristop ustvari izziv za upravljanje podatkov v smislu upravljanja življenjskega cikla tega medija za shranjevanje podatkov, oblikovanja kontrol dostopa, revizije podatkov itd., vse za namen uprizarjanja podatkov o usposabljanju za čas usposabljanja. V takšnih situacijah je morda zaželeno, da so podatki dostopni SageMakerju v kratkotrajnih medijih za shranjevanje, pritrjenih na kratkotrajne instance usposabljanja brez vmesnega shranjevanja podatkov v Amazon S3.
Ta objava prikazuje način, kako to storiti z uporabo Snowflake kot vir podatkov in s prenosom podatkov neposredno iz Snowflake v primerek opravila SageMaker Training.
Pregled rešitev
Mi uporabljamo Nabor stanovanjskih podatkov v Kaliforniji kot nabor podatkov za usposabljanje za to objavo in usposobite model ML za napovedovanje mediane vrednosti hiše za vsako okrožje. Te podatke dodamo v Snežinko kot novo tabelo. Ustvarimo vsebnik za usposabljanje po meri, ki prenese podatke neposredno iz tabele Snowflake v primerek za usposabljanje, namesto da bi podatke najprej prenesel v vedro S3. Ko so podatki preneseni v instanco za usposabljanje, skript za usposabljanje po meri izvede naloge priprave podatkov in nato usposobi model ML z uporabo Ocenjevalnik XGBoost. Vsa koda za to objavo je na voljo v GitHub repo.
Naslednja slika predstavlja visokonivojsko arhitekturo predlagane rešitve za uporabo Snowflake kot vira podatkov za usposabljanje modelov ML s SageMakerjem.
Koraki poteka dela so naslednji:
- Nastavite prenosni računalnik SageMaker in AWS upravljanje identitete in dostopa (IAM) z ustreznimi dovoljenji, ki SageMakerju omogočajo dostop Registar elastičnih zabojnikov Amazon (Amazon ECR), Secrets Manager in druge storitve v vašem računu AWS.
- Shranite svoje poverilnice računa Snowflake v AWS Secrets Manager.
- Zaužijte podatke v tabeli v vašem računu Snowflake.
- Ustvarite sliko vsebnika po meri za usposabljanje modela ML in jo potisnite v Amazon ECR.
- Zaženite opravilo usposabljanja SageMaker za usposabljanje modela ML. Primerek usposabljanja pridobi poverilnice Snowflake iz upravitelja skrivnosti in nato te poverilnice uporabi za prenos nabora podatkov neposredno iz Snowflake. To je korak, ki odpravi potrebo po prvem prenosu podatkov v vedro S3.
- Izurjen model ML je shranjen v vedru S3.
Predpogoji
Če želite implementirati rešitev v tej objavi, bi morali imeti AWS računA Račun snežinke in poznavanje SageMakerja.
Nastavite prenosnik SageMaker in vlogo IAM
Uporabljamo AWS CloudFormation za ustvarjanje prenosnega računalnika SageMaker, imenovanega aws-aiml-blogpost-sagemaker-snowflake-example
in poklicana vloga IAM SageMakerSnowFlakeExample
. Izberite Izstrelite sklad za regijo, v katero želite razmestiti sredstva.
Shranite poverilnice Snowflake v upravitelju skrivnosti
Shranite svoje poverilnice Snowflake kot skrivnost v upravitelju skrivnosti. Za navodila, kako ustvariti skrivnost, glejte Create an AWS Secrets Manager secret
.
- Poimenujte skrivnost
snowflake_credentials
. To je potrebno, ker koda vsnowflake-load-dataset.ipynb
pričakuje, da se bo skrivnost tako imenovala. - Ustvarite skrivnost kot par ključ-vrednost z dvema ključema:
- uporabniško ime – Vaše uporabniško ime Snowflake.
- geslo – Geslo, povezano z vašim uporabniškim imenom Snowflake.
Zaužijte podatke v tabeli v vašem računu Snowflake
Za vnos podatkov izvedite naslednje korake:
- Na konzoli SageMaker izberite Prenosniki v podoknu za krmarjenje.
- Izberite notebook aws-aiml-blogpost-sagemaker-snowflake-example in izberite Odprite JupyterLab.
- Izberite
snowflake-load-dataset.ipynb
da ga odprete v JupyterLab. Ta zvezek bo zaužil Nabor stanovanjskih podatkov v Kaliforniji na mizo Snežinka. - V zvezku uredite vsebino naslednje celice, da nadomestite vrednosti nadomestnih oznak s tisto, ki ustreza vašemu računu snežinke:
- V meniju Zaženi izberite Zaženi vse celice za zagon kode v tem zvezku. S tem boste nabor podatkov prenesli lokalno v zvezek in ga nato vnesli v tabelo Snowflake.
Naslednji delček kode v zvezku vnese nabor podatkov v Snowflake. Glej snowflake-load-dataset.ipynb
zvezek za celotno kodo.
- Zaprite zvezek, ko se vse celice zaženejo brez napak. Vaši podatki so zdaj na voljo v Snowflake. Naslednji posnetek zaslona prikazuje
california_housing
tabela, ustvarjena v Snowflake.
Zaženi sagemaker-snowflake-example.ipynb
prenosnik
Ta prenosni računalnik ustvari vsebnik za usposabljanje po meri s povezavo Snowflake, ekstrahira podatke iz Snowflake v efemerno shrambo primerka za usposabljanje, ne da bi jih uprizoril v Amazonu S3, in na podatkih izvaja usposabljanje modela XGBoost za vzporedne porazdeljene podatke (DDP). Usposabljanje DDP ni potrebno za usposabljanje modela na tako majhnem naboru podatkov; tukaj je vključen za ilustracijo še ene nedavno izdane funkcije SageMaker.
Ustvarite vsebnik po meri za usposabljanje
Zdaj ustvarjamo vsebnik po meri za opravilo usposabljanja modela ML. Upoštevajte, da je za ustvarjanje vsebnika Docker potreben korenski dostop. Ta prenosni računalnik SageMaker je bil nameščen z omogočenim korenskim dostopom. Če pravilniki organizacije vašega podjetja ne dovoljujejo korenskega dostopa do virov v oblaku, boste morda želeli uporabiti naslednjo datoteko Docker in skripte lupine, da zgradite vsebnik Docker drugje (na primer na prenosnem računalniku) in ga nato potisnete v Amazon ECR. Vsebnik uporabljamo na podlagi slike vsebnika SageMaker XGBoost 246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.5-1
z naslednjimi dodatki:
- O Snowflake Connector za Python za prenos podatkov iz tabele Snowflake v primerek usposabljanja.
- Skript Python za povezavo z upraviteljem skrivnosti za pridobitev poverilnic Snowflake.
Uporaba konektorja Snowflake in skripta Python zagotavlja, da uporabnikom, ki uporabljajo to sliko vsebnika za usposabljanje modela ML, ni treba pisati te kode kot del svojega skripta za usposabljanje in lahko uporabljajo to funkcionalnost, ki jim je že na voljo.
Sledi datoteka Docker za vsebnik za usposabljanje:
Slika vsebnika je izdelana in potisnjena v Amazon ECR. Ta slika se uporablja za usposabljanje modela ML.
Usposobite model ML z uporabo naloge za usposabljanje SageMaker
Ko uspešno ustvarimo sliko vsebnika in jo potisnemo v Amazon ECR, jo lahko začnemo uporabljati za usposabljanje modela.
- Ustvarimo niz skriptov Python za prenos podatkov iz Snowflake z uporabo Snowflake Connector za Python, pripravite podatke in nato uporabite
XGBoost Regressor
za usposabljanje modela ML. To je korak prenosa podatkov neposredno v instanco za usposabljanje, s katerim se izognete uporabi Amazon S3 kot vmesnega pomnilnika za podatke o usposabljanju. - Usposabljanje Distributed Data Parallel omogočamo tako, da koda za usposabljanje prenese naključno podmnožico podatkov, tako da vsak primerek usposabljanja prenese enako količino podatkov iz Snowflake. Na primer, če obstajata dve vozlišči za usposabljanje, potem vsako vozlišče prenese naključni vzorec 50 % vrstic v tabeli Snowflake. Oglejte si naslednjo kodo:
- Nato zagotovimo skript za usposabljanje SDK-ju SageMaker
Estimator
skupaj z izvornim imenikom, tako da lahko vse skripte, ki jih ustvarimo, zagotovimo vsebniku za usposabljanje, ko se opravilo za usposabljanje izvaja z uporaboEstimator.fit
metoda:Za več informacij glejte Pripravite Scikit-Learn skript za usposabljanje.
- Po končanem usposabljanju modela je usposobljeni model na voljo kot a
model.tar.gz
datoteko v privzetem vedru SageMaker za regijo:
Zdaj lahko uvedete usposobljeni model za pridobivanje sklepanja o novih podatkih! Za navodila glejte Ustvarite svojo končno točko in uvedite svoj model.
Čiščenje
Da se izognete prihodnjim stroškom, izbrišite vire. To lahko storite tako, da izbrišete predlogo CloudFormation, uporabljeno za ustvarjanje vloge IAM in zvezka SageMaker.
Vire Snowflake boste morali izbrisati ročno iz konzole Snowflake.
zaključek
V tej objavi smo pokazali, kako prenesti podatke, shranjene v tabeli Snowflake, v primerek opravila SageMaker Training in usposobiti model XGBoost z uporabo vsebnika za usposabljanje po meri. Ta pristop nam omogoča neposredno integracijo Snowflake kot vira podatkov z prenosnim računalnikom SageMaker, ne da bi morali podatke pripraviti v Amazon S3.
Priporočamo vam, da izveste več z raziskovanjem SDK za Amazon SageMaker Python in izdelava rešitve z uporabo vzorčne implementacije, podane v tej objavi, in nabora podatkov, ki ustreza vašemu podjetju. Če imate vprašanja ali predloge, pustite komentar.
O avtorjih
Amit Arora je specialist za AI in ML pri Amazon Web Services, ki podjetjem pomaga pri uporabi storitev strojnega učenja v oblaku za hitro razširitev njihovih inovacij. Je tudi pomožni predavatelj v programu podatkovne znanosti in analitike MS na Univerzi Georgetown v Washingtonu DC.
Divya Muralidharan je arhitekt rešitev pri Amazon Web Services. Zanima jo pomoč podjetniškim strankam pri reševanju poslovnih težav s tehnologijo. Ima magisterij iz računalništva na Rochester Institute of Technology. Zunaj službe čas preživlja s kuhanjem, petjem in gojenjem rastlin.
Sergej Ermolin je glavni arhitekt rešitev AIML pri AWS. Pred tem je bil arhitekt programskih rešitev za globoko učenje, analitiko in tehnologije velikih podatkov pri Intelu. Sergey, veteran iz Silicijeve doline s strastjo do strojnega učenja in umetne inteligence, se zanima za nevronske mreže že od časov pred GPU, ko jih je uporabil za napovedovanje staranja kvarčnih kristalov in cezijevih atomskih ur pri Hewlett-Packardu. Sergey ima certifikat MSEE in CS na Stanfordu ter diplomo iz fizike in strojništva na California State University v Sacramentu. Poleg dela Sergej uživa v vinarstvu, smučanju, kolesarjenju, jadranju in potapljanju. Sergej je tudi pilot prostovoljec za Angelski let.
- Distribucija vsebine in PR s pomočjo SEO. Okrepite se še danes.
- Platoblockchain. Web3 Metaverse Intelligence. Razširjeno znanje. Dostopite tukaj.
- vir: https://aws.amazon.com/blogs/machine-learning/use-snowflake-as-a-data-source-to-train-ml-models-with-amazon-sagemaker/
- : je
- $GOR
- 1
- 10
- 7
- 8
- a
- O meni
- dostop
- dostopen
- Račun
- dodatkov
- po
- proti
- Staranja
- AI
- AIML
- algoritmi
- vsi
- omogoča
- že
- Amazon
- Amazon FSx
- Amazon SageMaker
- Amazon Web Services
- znesek
- Analiza
- analitika
- in
- Še ena
- pristop
- primerno
- Arhitektura
- SE
- umetni
- Umetna inteligenca
- AS
- povezan
- At
- revidiranje
- avtorstvo
- Na voljo
- AWS
- Oblikovanje oblaka AWS
- baza
- temeljijo
- BE
- ker
- Big
- Big Podatki
- izgradnjo
- Building
- zgrajena
- poslovni
- by
- california
- se imenuje
- CAN
- Celice
- potrdilo
- izziv
- Stroški
- Izberite
- čiščenje
- Ure
- Cloud
- Koda
- Stolpec
- Stolpci
- komentar
- Skupno
- dokončanje
- računalnik
- Računalništvo
- Connect
- povezava
- Konzole
- Posoda
- Vsebuje
- Vsebina
- Nadzor
- ustvarjajo
- ustvaril
- ustvari
- Ustvarjanje
- Mandatno
- po meri
- Stranke, ki so
- datum
- Upravljanje podatkov
- Priprava podatkov
- znanost o podatkih
- shranjevanje podatkov
- Datum čas
- Dnevi
- DDP
- Odločanje
- globoko
- globoko učenje
- privzeto
- Stopnja
- razporedi
- razporejeni
- Razvijalci
- neposredno
- porazdeljena
- okraj
- Lučki delavec
- dont
- prenesi
- prenosov
- vsak
- enostavno
- učinkovito
- bodisi
- odpravlja
- drugje
- omogočena
- spodbujanje
- Končna točka
- Inženiring
- zagotavlja
- Podjetje
- okolje
- Napaka
- Primer
- izvršiti
- obstaja
- pričakuje
- raziskovanje
- Raziskovati
- Izvlečki
- izredno
- olajšati
- sejem
- Poznavanje
- Feature
- Slika
- file
- končna
- prva
- fit
- po
- sledi
- za
- iz
- polno
- v celoti
- funkcionalnost
- Prihodnost
- dobili
- pridobivanje
- GitHub
- dogaja
- Pridelovanje
- Imajo
- ob
- pomoč
- tukaj
- na visoki ravni
- drži
- gostila
- Gostitelji
- Hiša
- Ohišje
- Kako
- Kako
- Vendar
- HTML
- HTTPS
- identiteta
- slika
- izvajati
- Izvajanje
- uvoz
- in
- vključujejo
- vključeno
- Indeks
- Podatki
- novosti
- namestitev
- primer
- Inštitut
- Navodila
- integrirati
- integrirana
- Intel
- Intelligence
- zainteresirani
- IT
- Job
- tipke
- laptop
- velika
- Zadnja
- UČITE
- učenje
- pustite
- življenski krog
- ln
- lokalno
- stroj
- strojno učenje
- upravljanje
- upravlja
- upravljanje
- upravitelj
- upravljanje
- ročno
- ujemanje
- mehanska
- mediji
- srednje
- Meni
- Metoda
- ML
- Model
- modeli
- več
- premikanje
- MS
- Ime
- ostalo
- Nimate
- potrebe
- omrežij
- nevronske mreže
- Novo
- Naslednja
- Vozel
- vozlišča
- prenosnik
- Številka
- predmet
- of
- Office
- on
- ONE
- odprite
- optimizirana
- Da
- Organizacija
- Ostalo
- zunaj
- paket
- pand
- podokno
- vzporedno
- del
- strast
- strastno
- Geslo
- opravlja
- Dovoljenja
- Fizika
- pilot
- plinovod
- placeholder
- Rastline
- platon
- Platonova podatkovna inteligenca
- PlatoData
- politike
- naseljeno
- Prispevek
- napovedati
- Pripravimo
- predstaviti
- prej
- , ravnateljica
- Težave
- Program
- predlagano
- zagotavljajo
- če
- zagotavlja
- Namen
- Push
- potisnilo
- Python
- vprašanja
- hitro
- naključno
- hitro
- precej
- Preberi
- Pred kratkim
- evidence
- zmanjšuje
- okolica
- sprosti
- pomembno
- zamenjajte
- predstavlja
- obvezna
- zahteva
- viri
- vrnitev
- vloga
- koren
- ROW
- Run
- Sacramento
- sagemaker
- jadranje
- Shrani
- Lestvica
- Znanost
- Znanstveniki
- scikit-učiti
- skripte
- SDK
- skrivnost
- Strežniki
- Storitev
- Storitve
- nastavite
- Oblikujte
- Shell
- shouldnt
- Razstave
- pomemben
- Silicij
- Silicon Valley
- Enostavno
- saj
- situacije
- majhna
- So
- Software
- Rešitev
- rešitve
- SOLVE
- vir
- Viri
- Vesolje
- specialist
- uprizoritev
- Začetek
- Država
- Izjava
- Korak
- Koraki
- shranjevanje
- shranjeni
- podomrežja
- Uspešno
- taka
- podpora
- Podprti
- sistem
- miza
- Naloge
- Tehnologije
- Tehnologija
- Predloga
- Pogoji
- da
- O
- Vir
- njihove
- Njih
- te
- 3
- skozi
- čas
- do
- orodja
- Skupaj za plačilo
- Vlak
- usposobljeni
- usposabljanje
- vlaki
- tipično
- univerza
- Nadgradnja
- us
- uporaba
- uporabnik
- Uporabniki
- Valley
- vrednost
- Vrednote
- veteran
- prostovoljec
- washington
- način..
- web
- spletne storitve
- ki
- WHO
- bo
- z
- v
- brez
- delo
- pisati
- XGBoost
- Vi
- Vaša rutina za
- zefirnet