O SDK za Amazon SageMaker Python je odprtokodna knjižnica za usposabljanje in uvajanje modelov strojnega učenja (ML). Amazon SageMaker. Podjetniške stranke v strogo nadzorovanih panogah, kot sta zdravstvo in finance, postavijo varnostne ograje, da zagotovijo, da so njihovi podatki šifrirani in promet ne prečka interneta. Da bi zagotovili, da usposabljanje SageMaker in uvajanje modelov ML sledita tem zaščitnim ograjam, je običajna praksa, da nastavite omejitve v računu ali AWS organizacije ravni prek politik nadzora storitev in AWS upravljanje identitete in dostopa (IAM) politike za uveljavljanje uporabe posebnih vlog IAM, Navidezni zasebni oblak Amazon (Amazon VPC) konfiguracije in AWS Service Key Management (AWS KMS). V takih primerih morajo podatkovni znanstveniki ročno zagotoviti te parametre svojemu modelu ML za usposabljanje in kodo za uvajanje, tako da zabeležijo podomrežja, varnostne skupine in ključe KMS. To nalaga podatkovnim znanstvenikom, da ne pozabijo določiti teh konfiguracij, da uspešno izvajajo svoje naloge in se izognejo napakam Access Denied.
Od SageMaker Python SDK različice 2.148.0 lahko zdaj konfigurirate privzete vrednosti za parametre, kot so vloge IAM, VPC-ji in ključi KMS. Skrbniki in končni uporabniki lahko inicializirajo primitive infrastrukture AWS s privzetimi vrednostmi, določenimi v konfiguracijski datoteki v formatu YAML. Ko je konfiguriran, Python SDK samodejno podeduje te vrednosti in jih posreduje osnovnim klicem API-ja SageMaker, kot je CreateProcessingJob()
, CreateTrainingJob()
in CreateEndpointConfig()
, brez dodatnih dejanj. SDK podpira tudi več konfiguracijskih datotek, kar skrbnikom omogoča, da nastavijo konfiguracijsko datoteko za vse uporabnike, uporabniki pa jo lahko preglasijo prek konfiguracije na ravni uporabnika, ki jo je mogoče shraniti v Preprosta storitev shranjevanja Amazon (Amazon S3), Elastični datotečni sistem Amazon (Amazon EFS) za Amazon SageMaker Studio, ali uporabnikov lokalni datotečni sistem.
V tej objavi vam pokažemo, kako ustvarite in shranite privzeto konfiguracijsko datoteko v Studiu ter uporabite funkcijo privzetih nastavitev SDK za ustvarjanje virov SageMaker.
Pregled rešitev
To novo funkcijo prikazujemo od konca do konca Oblikovanje oblaka AWS predlogo, ki ustvari zahtevano infrastrukturo, in ustvari domeno Studio v nameščenem VPC. Poleg tega izdelamo ključe KMS za šifriranje nosilcev, ki se uporabljajo pri opravilih usposabljanja in obdelave. Koraki so naslednji:
- Zaženite sklad CloudFormation v svojem računu. Če pa želite to funkcijo raziskati v obstoječi domeni ali prenosnem računalniku SageMaker, preskočite ta korak.
- Napolnite
config.yaml
datoteko in datoteko shranite na privzeto mesto. - Zaženite vzorčni prenosni računalnik s primerom uporabe ML od konca do konca, vključno z obdelavo podatkov, usposabljanjem modela in sklepanjem.
- Preglasi privzete konfiguracijske vrednosti.
Predpogoji
Preden začnete, se prepričajte, da imate račun AWS in uporabnika ali vlogo IAM s skrbniškimi pravicami. Če ste podatkovni znanstvenik in trenutno posredujete infrastrukturne parametre virom v svojem prenosnem računalniku, lahko preskočite naslednji korak nastavitve okolja in začnete ustvarjati konfiguracijsko datoteko.
Če želite uporabiti to funkcijo, nadgradite svojo različico SDK SageMaker z zagonom pip install --upgrade sagemaker
.
Nastavite okolje
Če želite uvesti celotno infrastrukturo, vključno z omrežjem in domeno Studio, izvedite naslednje korake:
- Kloniraj GitHub repozitorij.
- Prijavite se v svoj račun AWS in odprite konzolo AWS CloudFormation.
- Če želite razmestiti omrežne vire, izberite Ustvari sklad.
- Naložite predlogo pod
setup/vpc_mode/01_networking.yaml
. - Vnesite ime za sklad (npr.
networking-stack
) in dokončajte preostale korake za ustvarjanje sklada. - Če želite uvesti domeno Studio, izberite Ustvari sklad še enkrat.
- Naložite predlogo pod
setup/vpc_mode/02_sagemaker_studio.yaml
. - Vnesite ime za sklad (npr.
sagemaker-stack
) in navedite ime omrežnega sklada, ko boste pozvani k vnosuCoreNetworkingStackName
parameter. - Nadaljujte s preostalimi koraki, izberite potrditve za vire IAM in ustvarite sklad.
Ko se stanje obeh skladov posodobi na CREATE_COMPLETE, nadaljujte z naslednjim korakom.
Ustvarite konfiguracijsko datoteko
Če želite uporabiti privzeto konfiguracijo za SDK SageMaker Python, ustvarite datoteko config.yaml v formatu, ki ga pričakuje SDK. Za obliko datoteke config.yaml glejte Struktura konfiguracijske datoteke. Odvisno od vašega delovnega okolja, kot so prenosni računalniki Studio, primerki prenosnih računalnikov SageMaker ali vaš lokalni IDE, lahko shranite konfiguracijsko datoteko na privzeto lokacijo ali preglasite privzete vrednosti tako, da posredujete lokacijo konfiguracijske datoteke. Za privzete lokacije za druga okolja glejte Lokacije konfiguracijskih datotek. Naslednji koraki prikazujejo nastavitev za okolje prenosnega računalnika Studio.
Za preprosto ustvarjanje config.yaml
datoteko, zaženite naslednje celice v sistemskem terminalu Studio in zamenjajte ogradne oznake z imeni skladov CloudFormation iz prejšnjega koraka:
Ta skript samodejno zapolni datoteko YAML, nadomesti ogradne oznake s privzetimi infrastrukturnimi vrednostmi in shrani datoteko v domačo mapo. Nato kopira datoteko na privzeto lokacijo za prenosne računalnike Studio. Nastala konfiguracijska datoteka bi morala biti podobna naslednji obliki:
Če imate obstoječo domeno in konfiguracijo omrežja, ustvarite config.yaml
datoteko v zahtevani obliki in jo shranite na privzeto mesto za prenosne računalnike Studio.
Upoštevajte, da te privzete nastavitve preprosto samodejno zapolnijo konfiguracijske vrednosti za ustrezne klice SDK SageMaker in uporabniku ne vsilijo nobenega posebnega VPC, podomrežja ali vloge. Če kot skrbnik želite, da vaši uporabniki uporabljajo določeno konfiguracijo ali vlogo, uporabite Ključi stanja IAM za uveljavitev privzetih vrednosti.
Poleg tega ima lahko vsak klic API svoje lastne konfiguracije. Na primer, v prejšnjem vzorcu konfiguracijske datoteke lahko podate vpc-a
in subnet-a
za delovna mesta za usposabljanje in navedite vpc-b
in subnet-c
, subnet-d
za obdelavo delovnih mest.
Zaženite vzorčni zvezek
Zdaj, ko ste nastavili konfiguracijsko datoteko, lahko začnete izvajati prenosnike za gradnjo modela in usposabljanje kot običajno, brez potrebe po izrecni nastavitvi omrežnih in šifrirnih parametrov za večino funkcij SDK. glej Podprti API-ji in parametri za popoln seznam podprtih klicev API in parametrov.
V programu Studio izberite ikono File Explorer v navigacijskem podoknu in odprite 03_feature_engineering/03_feature_engineering.ipynb
, kot je prikazano na naslednjem posnetku zaslona.
Zaženite celice zvezka eno za drugo in opazite, da ne podajate nobene dodatne konfiguracije. Ko ustvarite objekt procesorja, boste videli izhode celic, kot je prikazano v naslednjem primeru.
Kot lahko vidite v izhodu, se privzeta konfiguracija samodejno uporabi za opravilo obdelave, ne da bi potrebovali kakršen koli dodaten vnos s strani uporabnika.
Ko zaženete naslednjo celico za zagon procesorja, lahko tudi preverite, ali so privzete vrednosti nastavljene tako, da si ogledate opravilo na konzoli SageMaker. Izberite Obdelava delovnih mest pod Obravnavano v podoknu za krmarjenje, kot je prikazano na naslednjem posnetku zaslona.
Izberite opravilo obdelave s predpono end-to-end-ml-sm-proc
, in morali bi si lahko ogledati že konfigurirano omrežje in šifriranje.
Lahko nadaljujete z izvajanjem preostalih zvezkov za usposabljanje in razmestitev modela in opazili boste, da so privzete vrednosti infrastrukture samodejno uveljavljene za učna opravila in modele.
Preglasi privzeto konfiguracijsko datoteko
Obstajajo lahko primeri, ko mora uporabnik preglasiti privzeto konfiguracijo, na primer, da eksperimentira z javnim dostopom do interneta ali posodobi konfiguracijo omrežja, če podomrežju zmanjka naslovov IP. V takšnih primerih vam Python SDK omogoča tudi, da zagotovite lokacijo po meri za konfiguracijsko datoteko, bodisi v lokalnem pomnilniku ali pa pokažete na lokacijo v Amazon S3. V tem razdelku raziskujemo primer.
odprite user-configs.yaml
datoteko v domačem imeniku in posodobite EnableNetworkIsolation
vrednost v True
Pod TrainingJob
oddelek.
Zdaj odprite isti zvezek in dodajte naslednjo celico na začetek zvezka:
S to celico usmerite lokacijo konfiguracijske datoteke v SDK. Zdaj, ko ustvarite objekt procesorja, boste opazili, da je bila privzeta konfiguracija razveljavljena, da omogoči izolacijo omrežja, in opravilo obdelave v načinu izolacije omrežja ne bo uspelo.
Če uporabljate lokalno okolje, kot je VSCode, lahko uporabite isto spremenljivko okolja preglasitve, da nastavite lokacijo konfiguracijske datoteke.
Odpravljanje napak in pridobivanje privzetih nastavitev
Za hitro odpravljanje težav, če med izvajanjem klicev API-ja iz prenosnega računalnika naletite na kakršne koli napake, izhod celice prikaže uporabljene privzete konfiguracije, kot je prikazano v prejšnjem razdelku. Če si želite ogledati natančen klic Boto3, ustvarjen za ogled vrednosti atributov, posredovanih iz privzete konfiguracijske datoteke, lahko odpravite napake tako, da vklopite beleženje Boto3. Če želite vklopiti beleženje, zaženite to celico na vrhu zvezka:
Vsi naslednji klici Boto3 bodo zabeleženi s celotno zahtevo, vidno pod razdelkom telesa v dnevniku.
Ogledate si lahko tudi zbirko privzetih konfiguracij z uporabo session.sagemaker_config
vrednost, kot je prikazano v naslednjem primeru.
Nazadnje, če za ustvarjanje virov SageMaker uporabljate Boto3, lahko pridobite privzete konfiguracijske vrednosti z sagemaker_config
spremenljivka. Na primer za zagon opravila obdelave 03_feature_engineering.ipynb
z uporabo Boto3 lahko vnesete vsebino naslednje celice v isti zvezek in zaženete celico:
Avtomatizirajte ustvarjanje konfiguracijske datoteke
Za skrbnike je lahko ustvarjanje konfiguracijske datoteke in shranjevanje datoteke v vsak primerek prenosnega računalnika SageMaker ali uporabniški profil Studio lahko zastrašujoča naloga. Čeprav lahko uporabnikom priporočite, da uporabljajo skupno datoteko, shranjeno na privzeti lokaciji S3, to pomeni dodatne stroške določanja preglasitve podatkovnim znanstvenikom.
Za avtomatizacijo lahko skrbniki uporabijo SageMaker Lifecycle Configurations (LCC). Za uporabniške profile Studio ali primerke prenosnih računalnikov lahko priložite naslednji vzorčni skript LCC kot privzeti LCC za uporabnikovo privzeto aplikacijo Jupyter Server:
Poglej Uporabite konfiguracije življenjskega cikla za Amazon SageMaker Studio or Prilagodite primerek zvezka za navodila o ustvarjanju in nastavitvi privzetega skripta življenjskega cikla.
Čiščenje
Ko končate s preizkušanjem te funkcije, počistite svoje vire, da se izognete dodatnim stroškom. Če ste zagotovili nove vire, kot je določeno v tej objavi, izvedite naslednje korake za čiščenje virov:
- Zaustavite svoje aplikacije Studio za uporabniški profil. Glej Zaustavite in posodobite SageMaker Studio in Studio Apps za navodila. Preden izbrišete sklad, se prepričajte, da so izbrisane vse aplikacije.
- Izbrišite nosilec EFS, ustvarjen za domeno Studio. Nosilec EFS, priložen domeni, si lahko ogledate z uporabo a Opišite domeno Klic API.
- Izbrišite sklad domene Studio.
- Izbrišite varnostne skupine, ustvarjene za domeno Studio. Najdete jih na Amazonski elastični računalniški oblak (Amazon EC2) konzola z imeni security-group-for-inbound-nfs-d-xxx in security-group-for-outbound-nfs-d-xxx
- Izbrišite omrežni sklad.
zaključek
V tej objavi smo razpravljali o konfiguraciji in uporabi privzetih vrednosti za ključne infrastrukturne parametre z uporabo SDK-ja SageMaker Python. To omogoča skrbnikom, da nastavijo privzete konfiguracije za podatkovne znanstvenike, s čimer prihranijo čas za uporabnike in skrbnike, odpravijo breme ponavljajočega se določanja parametrov in povzročijo vitkejšo in bolj obvladljivo kodo. Za celoten seznam podprtih parametrov in API-jev glejte Konfiguriranje in uporaba privzetih vrednosti s SDK SageMaker Python. Za vsa vprašanja in razprave se pridružite Skupnost strojnega učenja in umetne inteligence.
O avtorjih
Giuseppe Angelo Porcelli je glavni arhitekt za rešitve strokovnjaka za strojno učenje za spletne storitve Amazon. Z nekajletnimi izkušnjami programskega inženiringa na področju ML sodeluje s strankami vseh velikosti, da bi poglobljeno razumel njihove poslovne in tehnične potrebe ter oblikoval rešitve AI in strojnega učenja, ki najbolje izkoriščajo oblak AWS in sklad Amazon Machine Learning. Delal je na projektih na različnih področjih, vključno z MLOps, Computer Vision, NLP in vključeval širok nabor storitev AWS. V prostem času Giuseppe rad igra nogomet.
Bruno Pistone je specialist za rešitve AI/ML za AWS s sedežem v Milanu. Sodeluje s strankami vseh velikosti, da bi jim pomagal poglobljeno razumeti njihove tehnične potrebe in oblikovati rešitve umetne inteligence in strojnega učenja, ki najbolje izkoristijo oblak AWS in sklad strojnega učenja Amazon. Njegovo strokovno področje je strojno učenje od konca do konca, industrializacija strojnega učenja in MLOps. Rad preživlja čas s prijatelji in raziskuje nove kraje ter potuje na nove destinacije.
Durga Sury je arhitekt rešitev ML v skupini Amazon SageMaker Service SA. Navdušena je nad tem, da bi strojno učenje postalo dostopno vsem. V štirih letih pri AWS je pomagala vzpostaviti platforme AI/ML za poslovne stranke. Ko ni v službi, obožuje vožnje z motorjem, skrivnostne romane in dolge sprehode s svojim 4-letnim haskijem.
- Distribucija vsebine in PR s pomočjo SEO. Okrepite se še danes.
- PlatoAiStream. Podatkovna inteligenca Web3. Razširjeno znanje. Dostopite tukaj.
- Kovanje prihodnosti z Adryenn Ashley. Dostopite tukaj.
- Kupujte in prodajajte delnice podjetij pred IPO s PREIPO®. Dostopite tukaj.
- vir: https://aws.amazon.com/blogs/machine-learning/configure-and-use-defaults-for-amazon-sagemaker-resources-with-the-sagemaker-python-sdk/
- :ima
- : je
- :ne
- :kje
- $GOR
- 1
- 10
- 100
- 20
- 30
- 60
- 7
- 9
- a
- Sposobna
- O meni
- dostop
- dostopen
- Račun
- dejavnosti
- dodajte
- Poleg tega
- Dodatne
- naslovi
- administratorji
- spet
- AI
- AI / ML
- vsi
- Dovoli
- omogoča
- že
- Prav tako
- Čeprav
- Amazon
- Amazon EC2
- Strojno učenje Amazon
- Amazon SageMaker
- Amazon Web Services
- an
- in
- kaj
- API
- API-ji
- aplikacija
- uporabna
- primerno
- aplikacije
- SE
- AS
- At
- pripisujejo
- avtomatizirati
- samodejno
- izogniti
- AWS
- Oblikovanje oblaka AWS
- ozadje
- temeljijo
- BE
- bilo
- pred
- Začetek
- BEST
- telo
- tako
- široka
- Building
- obremenitev
- poslovni
- by
- klic
- poziva
- CAN
- primeru
- primeri
- CD
- Celice
- Izberite
- stranke
- Cloud
- Koda
- zbirka
- Skupno
- dokončanje
- Izračunajte
- računalnik
- Računalniška vizija
- stanje
- konfiguracija
- Konzole
- Vsebina
- naprej
- nadzor
- nadzorom
- stroški
- bi
- ustvarjajo
- ustvaril
- ustvari
- Ustvarjanje
- Trenutno
- po meri
- Stranke, ki so
- datum
- obdelava podatkov
- podatkovni znanstvenik
- privzeto
- privzeto
- izkazati
- Odvisno
- razporedi
- razporejeni
- uvajanja
- uvajanje
- Oblikovanje
- destinacije
- drugačen
- razpravljali
- Razprave
- prikazovalniki
- Ne
- domena
- domen
- opravljeno
- dont
- navzdol
- vsak
- enostavno
- echo
- bodisi
- odstranjevanje
- omogočajo
- šifriran
- šifriranje
- konec
- konec koncev
- Končna točka
- uveljaviti
- Inženiring
- zagotovitev
- Vnesite
- Podjetje
- okolje
- okolja
- napake
- vsi
- Primer
- obstoječih
- pričakuje
- poskus
- strokovno znanje
- raziskuje
- raziskovalec
- Raziskovati
- FAIL
- false
- Feature
- Polje
- file
- datoteke
- financiranje
- Najdi
- sledi
- po
- sledi
- nogomet
- za
- format
- brezplačno
- prijatelji
- iz
- polno
- funkcije
- dobili
- pridobivanje
- git
- Skupine
- Imajo
- ob
- he
- zdravstveno varstvo
- pomagal
- pomoč
- jo
- njegov
- Domov
- Kako
- Kako
- HTML
- http
- HTTPS
- ICON
- identiteta
- if
- uvoz
- in
- Vključno
- industrij
- Infrastruktura
- vhod
- namestitev
- primer
- Navodila
- vmesnik
- Internet
- dostop do interneta
- v
- vključujejo
- IP
- IP naslovi
- izolacija
- IT
- ITS
- Job
- Delovna mesta
- pridružite
- jpg
- Ključne
- tipke
- velika
- učenje
- Stopnja
- Knjižnica
- življenski krog
- kot
- Seznam
- lokalna
- kraj aktivnosti
- Lokacije
- prijavi
- prijavljen
- sečnja
- Long
- Poglej
- ljubi
- stroj
- strojno učenje
- Znamka
- Izdelava
- upravljanje
- ročno
- MILAN
- ML
- MLOps
- način
- Model
- modeli
- več
- Najbolj
- motorno kolo
- več
- Mystery
- Ime
- Imena
- ostalo
- Nimate
- potrebna
- potrebujejo
- potrebe
- mreža
- mreženje
- Novo
- Naslednja
- nlp
- št
- prenosnik
- Opaziti..
- Opažam
- zdaj
- predmet
- of
- on
- enkrat
- ONE
- odprite
- open source
- or
- OS
- Ostalo
- ven
- izhod
- preglasijo
- lastne
- podokno
- parameter
- parametri
- opravil
- Podaje
- strastno
- plačilna
- Mesta
- Platforme
- platon
- Platonova podatkovna inteligenca
- PlatoData
- igranje
- Točka
- politike
- Prispevek
- praksa
- prejšnja
- , ravnateljica
- zasebna
- privilegiji
- obravnavati
- Procesor
- profil
- Profili
- projekti
- zagotavljajo
- javnega
- Postavlja
- Python
- vprašanja
- Hitri
- Priporočamo
- Preostalih
- ne pozabite
- zahteva
- obvezna
- viri
- Odgovor
- Omejitve
- rezultat
- vloga
- vloge
- Run
- tek
- s
- SA
- sagemaker
- Enako
- Shrani
- shranjevanje
- Znanstvenik
- Znanstveniki
- SDK
- Oddelek
- varnost
- glej
- Storitev
- Storitve
- Zasedanje
- nastavite
- nastavitev
- nastavitev
- več
- je
- shouldnt
- Prikaži
- predstavitev
- pokazale
- Podoben
- Enostavno
- preprosto
- Velikosti
- Software
- inženiring programske opreme
- rešitve
- Nekaj
- specialist
- specifična
- določeno
- Poraba
- sveženj
- Skladovnice
- Začetek
- začel
- Status
- Korak
- Koraki
- shranjevanje
- trgovina
- shranjeni
- studio
- subnet
- podomrežja
- kasneje
- Uspešno
- taka
- Podprti
- Podpira
- sistem
- Naloga
- skupina
- tehnični
- Predloga
- terminal
- da
- O
- njihove
- Njih
- POTEM
- s tem
- te
- ta
- skozi
- tesno
- čas
- do
- vrh
- Prometa
- Vlak
- usposabljanje
- OBRAT
- Obračalni
- pod
- osnovni
- razumeli
- Nadgradnja
- nadgradnja
- Uporaba
- uporaba
- primeru uporabe
- Rabljeni
- uporabnik
- Uporabniki
- uporabo
- vrednost
- Vrednote
- preverjanje
- različica
- preko
- Poglej
- ogled
- Virtual
- vidna
- Vizija
- Obseg
- prostornine
- želeli
- we
- web
- spletne storitve
- Dobro
- kdaj
- bo
- z
- brez
- delo
- delal
- deluje
- deluje
- yaml
- let
- Vi
- Vaša rutina za
- zefirnet