Amazon SageMaker Python SDK este o bibliotecă open-source pentru formarea și implementarea modelelor de învățare automată (ML). Amazon SageMaker. Clienții întreprinderi din industrii strâns controlate, cum ar fi asistența medicală și finanțele, stabilesc balustrade de securitate pentru a se asigura că datele lor sunt criptate și traficul nu traversează internetul. Pentru a vă asigura că instruirea SageMaker și implementarea modelelor ML respectă aceste parapeți, este o practică obișnuită să stabiliți restricții la cont sau Organizații AWS nivel prin politicile de control al serviciilor şi Gestionarea identității și accesului AWS politici (IAM) pentru a impune utilizarea unor roluri IAM specifice, Cloud virtual virtual Amazon (Amazon VPC) configurații și AWS Service Management Service (AWS KMS). În astfel de cazuri, oamenii de știință de date trebuie să furnizeze acești parametri manual pentru instruirea modelului ML și codul de implementare, notând subrețele, grupurile de securitate și cheile KMS. Acest lucru pune sarcina oamenilor de știință de date să-și amintească să specifice aceste configurații, să-și execute cu succes lucrările și să evite obținerea erorilor Acces refuzat.
Începând cu SageMaker Python SDK versiunea 2.148.0, acum puteți configura valorile implicite pentru parametri precum rolurile IAM, VPC-urile și cheile KMS. Administratorii și utilizatorii finali pot inițializa primitivele infrastructurii AWS cu valorile implicite specificate într-un fișier de configurare în format YAML. Odată configurat, SDK-ul Python moștenește automat aceste valori și le propagă la apelurile de bază ale API-ului SageMaker, cum ar fi CreateProcessingJob()
, CreateTrainingJob()
, și CreateEndpointConfig()
, fără a fi necesare acțiuni suplimentare. SDK-ul acceptă, de asemenea, mai multe fișiere de configurare, permițând administratorilor să seteze un fișier de configurare pentru toți utilizatorii, iar utilizatorii îl pot înlocui printr-o configurație la nivel de utilizator care poate fi stocată în Serviciul Amazon de stocare simplă (Amazon S3), Sistem de fișiere elastice Amazon (Amazon EFS) pentru Amazon SageMaker Studio, sau sistemul de fișiere local al utilizatorului.
În această postare, vă arătăm cum să creați și să stocați fișierul de configurare implicit în Studio și să utilizați caracteristica implicită SDK pentru a vă crea resursele SageMaker.
Prezentare generală a soluțiilor
Demonstrăm această nouă caracteristică cu un capăt la capăt Formarea AWS Cloud șablon care creează infrastructura necesară și creează un domeniu Studio în VPC-ul implementat. În plus, creăm chei KMS pentru criptarea volumelor utilizate în joburile de instruire și procesare. Pașii sunt următorii:
- Lansați stiva CloudFormation în contul dvs. Ca alternativă, dacă doriți să explorați această caracteristică pe un domeniu sau blocnotes SageMaker existent, săriți peste acest pas.
- Populați
config.yaml
fișier și salvați fișierul în locația implicită. - Rulați un exemplu de blocnotes cu un caz de utilizare ML de la capăt la capăt, inclusiv procesarea datelor, antrenamentul modelului și inferența.
- Ignorați valorile implicite de configurare.
Cerințe preliminare
Înainte de a începe, asigurați-vă că aveți un cont AWS și un utilizator sau un rol IAM cu privilegii de administrator. Dacă sunteți un om de știință de date care transmite parametrii de infrastructură resurselor din notebook, puteți sări peste următorul pas de configurare a mediului și să începeți să creați fișierul de configurare.
Pentru a utiliza această funcție, asigurați-vă că actualizați versiunea SDK-ului SageMaker rulând pip install --upgrade sagemaker
.
Configurați mediul înconjurător
Pentru a implementa o infrastructură completă, inclusiv rețea și un domeniu Studio, parcurgeți următorii pași:
- Clonați GitHub depozit.
- Conectați-vă la contul dvs. AWS și deschideți consola AWS CloudFormation.
- Pentru a implementa resursele de rețea, alegeți Creați stivă.
- Încărcați șablonul sub
setup/vpc_mode/01_networking.yaml
. - Furnizați un nume pentru stiva (de exemplu,
networking-stack
) și parcurgeți pașii rămași pentru a crea stiva. - Pentru a implementa domeniul Studio, alegeți Creați stivă din nou.
- Încărcați șablonul sub
setup/vpc_mode/02_sagemaker_studio.yaml
. - Furnizați un nume pentru stiva (de exemplu,
sagemaker-stack
) și furnizați numele stivei de rețea atunci când vi se solicităCoreNetworkingStackName
parametru. - Continuați cu pașii rămași, selectați confirmările pentru resursele IAM și creați stiva.
Când starea ambelor stive se actualizează la CREATE_COMPLETE, treceți la pasul următor.
Creați fișierul de configurare
Pentru a utiliza configurația implicită pentru SDK-ul SageMaker Python, creați un fișier config.yaml în formatul la care se așteaptă SDK-ul. Pentru formatul fișierului config.yaml, consultați Structura fișierului de configurare. În funcție de mediul dvs. de lucru, cum ar fi notebook-urile Studio, instanțele de notebook SageMaker sau IDE-ul dvs. local, puteți fie să salvați fișierul de configurare în locația implicită, fie să anulați valorile implicite prin transmiterea unei locații de fișier de configurare. Pentru locațiile implicite pentru alte medii, consultați Locațiile fișierelor de configurare. Următorii pași prezintă configurarea pentru un mediu de notebook Studio.
Pentru a crea cu ușurință config.yaml
fișier, rulați următoarele celule în terminalul dvs. de sistem Studio, înlocuind substituenții cu numele stivei CloudFormation de la pasul anterior:
Acest script populează automat fișierul YAML, înlocuind substituenții cu valorile implicite ale infrastructurii și salvează fișierul în folderul principal. Apoi copiază fișierul în locația implicită pentru notebook-urile Studio. Fișierul de configurare rezultat ar trebui să arate similar cu următorul format:
Dacă aveți un domeniu existent și o configurație de rețea configurată, creați config.yaml
fișier în formatul necesar și salvați-l în locația implicită pentru notebook-urile Studio.
Rețineți că aceste valori implicite pur și simplu completează automat valorile de configurare pentru apelurile corespunzătoare SageMaker SDK și nu impun utilizatorul la vreun VPC, subrețea sau rol specific. În calitate de administrator, dacă doriți ca utilizatorii dvs. să folosească o anumită configurație sau rol, utilizați Cheile de stare IAM pentru a aplica valorile implicite.
În plus, fiecare apel API poate avea propriile configurații. De exemplu, în exemplul de fișier de configurare precedent, puteți specifica vpc-a
și subnet-a
pentru locuri de muncă de formare, și specificați vpc-b
și subnet-c
, subnet-d
pentru prelucrarea locurilor de muncă.
Rulați un caiet de probă
Acum că ați setat fișierul de configurare, puteți începe să rulați ca de obicei blocnotesurile pentru construirea modelului și antrenament, fără a fi nevoie să setați în mod explicit parametrii de rețea și criptare, pentru majoritatea funcțiilor SDK. Vedea API-uri și parametri acceptați pentru o listă completă a apelurilor și parametrilor API acceptați.
În Studio, alegeți pictograma File Explorer din panoul de navigare și deschideți 03_feature_engineering/03_feature_engineering.ipynb
, așa cum se arată în următoarea captură de ecran.
Rulați celulele blocnotesului una câte una și observați că nu specificați nicio configurație suplimentară. Când creați obiectul procesor, veți vedea ieșirile celulei ca în exemplul următor.
După cum puteți vedea în rezultat, configurația implicită este aplicată automat jobului de procesare, fără a fi nevoie de nicio intrare suplimentară din partea utilizatorului.
Când rulați următoarea celulă pentru a rula procesorul, puteți verifica, de asemenea, că valorile implicite sunt setate, vizualizând lucrarea pe consola SageMaker. Alege Prelucrarea locurilor de muncă în Prelucrare în panoul de navigare, așa cum se arată în următoarea captură de ecran.
Alegeți jobul de procesare cu prefixul end-to-end-ml-sm-proc
și ar trebui să puteți vizualiza rețelele și criptarea deja configurate.
Puteți continua să rulați notebook-urile rămase pentru a antrena și a implementa modelul și veți observa că setările implicite ale infrastructurii sunt aplicate automat atât pentru joburile de instruire, cât și pentru modele.
Ignorați fișierul de configurare implicit
Pot exista cazuri în care un utilizator trebuie să înlocuiască configurația implicită, de exemplu, pentru a experimenta accesul public la internet sau pentru a actualiza configurația de rețea dacă subrețeaua rămâne fără adrese IP. În astfel de cazuri, SDK-ul Python vă permite, de asemenea, să furnizați o locație personalizată pentru fișierul de configurare, fie pe stocarea locală, fie puteți indica o locație în Amazon S3. În această secțiune, explorăm un exemplu.
Deschideți user-configs.yaml
fișier în directorul dvs. de acasă și actualizați EnableNetworkIsolation
valoare pentru True
, Sub TrainingJob
secţiune.
Acum, deschideți același blocnotes și adăugați următoarea celulă la începutul blocnotesului:
Cu această celulă, indicați locația fișierului de configurare către SDK. Acum, când creați obiectul procesor, veți observa că configurația implicită a fost suprascrisă pentru a activa izolarea rețelei, iar jobul de procesare va eșua în modul de izolare a rețelei.
Puteți utiliza aceeași variabilă de mediu pentru a seta locația fișierului de configurare dacă utilizați mediul local, cum ar fi VSCode.
Depanați și recuperați valorile implicite
Pentru depanare rapidă, dacă întâmpinați erori atunci când rulați apeluri API de pe notebook, rezultatul celulei afișează configurațiile implicite aplicate, așa cum se arată în secțiunea anterioară. Pentru a vizualiza apelul Boto3 exact creat pentru a vedea valorile atributelor transmise din fișierul de configurare implicit, puteți depana activând înregistrarea Boto3. Pentru a activa înregistrarea, rulați următoarea celulă din partea de sus a notebook-ului:
Orice apeluri Boto3 ulterioare vor fi înregistrate cu solicitarea completă, vizibilă sub secțiunea de corp din jurnal.
De asemenea, puteți vizualiza colecția de configurații implicite folosind session.sagemaker_config
valoare așa cum se arată în exemplul următor.
În cele din urmă, dacă utilizați Boto3 pentru a vă crea resursele SageMaker, puteți prelua valorile implicite de configurare folosind sagemaker_config
variabil. De exemplu, pentru a rula jobul de procesare în 03_feature_engineering.ipynb
folosind Boto3, puteți introduce conținutul următoarei celule în același blocnotes și puteți rula celula:
Automatizați crearea fișierului de configurare
Pentru administratori, nevoia de a crea fișierul de configurare și de a salva fișierul în fiecare instanță de notebook SageMaker sau profil de utilizator Studio poate fi o sarcină descurajantă. Deși le puteți recomanda utilizatorilor să folosească un fișier comun stocat într-o locație S3 implicită, aceasta pune suprasarcina suplimentară de specificare a suprascrierii pentru oamenii de știință de date.
Pentru a automatiza acest lucru, administratorii pot utiliza SageMaker Lifecycle Configurations (LCC). Pentru profilurile de utilizator Studio sau instanțe de notebook, puteți atașa următorul exemplu de script LCC ca LCC implicit pentru aplicația Jupyter Server implicită a utilizatorului:
Vedea Utilizați configurațiile ciclului de viață pentru Amazon SageMaker Studio or Personalizați o instanță Notebook pentru instrucțiuni despre crearea și setarea unui script de ciclu de viață implicit.
A curăța
Când ați terminat de experimentat cu această funcție, curățați-vă resursele pentru a evita să plătiți costuri suplimentare. Dacă ați furnizat resurse noi așa cum este specificat în această postare, parcurgeți următorii pași pentru a vă curăța resursele:
- Închideți aplicațiile Studio pentru profilul de utilizator. Vedea Închideți și actualizați aplicațiile SageMaker Studio și Studio pentru instructiuni. Asigurați-vă că toate aplicațiile sunt șterse înainte de a șterge stiva.
- Ștergeți volumul EFS creat pentru domeniul Studio. Puteți vizualiza volumul EFS atașat domeniului utilizând a DescribeDomain Apel API.
- Ștergeți stiva de domenii Studio.
- Ștergeți grupurile de securitate create pentru domeniul Studio. Le puteți găsi pe Cloud Elastic de calcul Amazon Consolă (Amazon EC2), cu numele security-group-for-inbound-nfs-d-xxx și security-group-for-outbound-nfs-d-xxx
- Ștergeți stiva de rețea.
Concluzie
În această postare, am discutat despre configurarea și utilizarea valorilor implicite pentru parametrii cheie ai infrastructurii folosind SDK-ul SageMaker Python. Acest lucru permite administratorilor să stabilească configurații implicite pentru oamenii de știință de date, economisind astfel timp pentru utilizatori și administratori, eliminând sarcina de a specifica în mod repetat parametrii și rezultând un cod mai simplu și mai ușor de gestionat. Pentru lista completă a parametrilor și API-urilor acceptate, consultați Configurarea și utilizarea setărilor implicite cu SageMaker Python SDK. Pentru orice întrebări și discuții, alăturați-vă Învățare automată și comunitate AI.
Despre Autori
Giuseppe Angelo Porcelli este arhitect principal de soluții de specialitate în învățare automată pentru Amazon Web Services. Cu câțiva ani în domeniul ingineriei software cu un fundal ML, el lucrează cu clienți de orice dimensiune pentru a înțelege în profunzime nevoile lor de afaceri și tehnice și pentru a proiecta soluții AI și de învățare automată care folosesc cel mai bine AWS Cloud și stiva Amazon Machine Learning. El a lucrat la proiecte în diferite domenii, inclusiv MLOps, Computer Vision, NLP și implicând un set larg de servicii AWS. În timpul liber lui Giuseppe îi place să joace fotbal.
Bruno Pistone este un arhitect specializat în soluții AI/ML pentru AWS cu sediul în Milano. Lucrează cu clienții de orice dimensiune pentru a-i ajuta să-și înțeleagă în profunzime nevoile tehnice și să conceapă soluții de inteligență artificială și de învățare automată care folosesc cel mai bine AWS Cloud și stiva Amazon Machine Learning. Domeniul său de expertiză sunt Machine Learning end to end, Machine Learning Industrialization și MLOps. Îi place să petreacă timpul cu prietenii săi și să exploreze locuri noi, precum și să călătorească către noi destinații.
Durga Sury este arhitect de soluții ML în echipa Amazon SageMaker Service SA. Este pasionată de a face învățarea automată accesibilă tuturor. În cei 4 ani la AWS, ea a ajutat la crearea platformelor AI/ML pentru clienții întreprinderilor. Când nu lucrează, îi plac plimbările cu motocicleta, romanele misterioase și plimbările lungi cu husky-ul ei de 5 ani.
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- PlatoAiStream. Web3 Data Intelligence. Cunoștințe amplificate. Accesați Aici.
- Mintând viitorul cu Adryenn Ashley. Accesați Aici.
- Cumpărați și vindeți acțiuni în companii PRE-IPO cu PREIPO®. Accesați Aici.
- Sursa: https://aws.amazon.com/blogs/machine-learning/configure-and-use-defaults-for-amazon-sagemaker-resources-with-the-sagemaker-python-sdk/
- :are
- :este
- :nu
- :Unde
- $UP
- 1
- 10
- 100
- 20
- 30
- 60
- 7
- 9
- a
- Capabil
- Despre Noi
- acces
- accesibil
- Cont
- acțiuni
- adăuga
- plus
- Suplimentar
- adrese
- administratori
- din nou
- AI
- AI / ML
- TOATE
- Permiterea
- permite
- deja
- de asemenea
- Cu toate ca
- Amazon
- Amazon EC2
- Învățare automată Amazon
- Amazon SageMaker
- Amazon Web Services
- an
- și
- Orice
- api
- API-uri
- aplicaţia
- aplicat
- adecvat
- Apps
- SUNT
- AS
- At
- atașa
- automatizarea
- în mod automat
- evita
- AWS
- Formarea AWS Cloud
- fundal
- bazat
- BE
- fost
- înainte
- Început
- CEL MAI BUN
- corp
- atât
- larg
- Clădire
- povară
- afaceri
- by
- apel
- apeluri
- CAN
- caz
- cazuri
- CD
- Celule
- Alege
- client
- Cloud
- cod
- colectare
- Comun
- Completă
- Calcula
- calculator
- Computer Vision
- condiție
- Configuraţie
- Consoleze
- conținut
- continua
- Control
- controlată
- Cheltuieli
- ar putea
- crea
- a creat
- creează
- Crearea
- În prezent
- personalizat
- clienţii care
- de date
- de prelucrare a datelor
- om de știință de date
- Mod implicit
- implicite
- demonstra
- În funcție
- implementa
- dislocate
- Implementarea
- desfășurarea
- Amenajări
- destinații
- diferit
- discutat
- discuții
- afișează
- Nu
- domeniu
- domenii
- făcut
- Dont
- jos
- fiecare
- cu ușurință
- ecou
- oricare
- eliminarea
- permite
- criptate
- criptare
- capăt
- un capăt la altul
- Punct final
- aplica
- Inginerie
- asigura
- Intrați
- Afacere
- Mediu inconjurator
- medii
- Erori
- toată lumea
- exemplu
- existent
- se așteaptă
- experiment
- expertiză
- explora
- explorator
- Explorarea
- FAIL
- fals
- Caracteristică
- camp
- Fișier
- Fişiere
- finanţa
- Găsi
- urma
- următor
- urmează
- Fotbal
- Pentru
- format
- Gratuit
- Prietenii lui
- din
- Complet
- funcții
- obține
- obtinerea
- merge
- Grupului
- Avea
- având în
- he
- de asistență medicală
- a ajutat
- ajutor
- ei
- lui
- Acasă
- Cum
- Cum Pentru a
- HTML
- http
- HTTPS
- ICON
- Identitate
- if
- import
- in
- Inclusiv
- industrii
- Infrastructură
- intrare
- instala
- instanță
- instrucțiuni
- interfaţă
- Internet
- acces la internet
- în
- implicând
- IP
- Adresele IP
- izolare
- IT
- ESTE
- Loc de munca
- Locuri de munca
- alătura
- jpg
- Cheie
- chei
- mare
- învăţare
- Nivel
- Bibliotecă
- ciclu de viață
- ca
- Listă
- local
- locaţie
- Locații
- log
- autentificat
- logare
- Lung
- Uite
- iubeste
- maşină
- masina de învățare
- face
- Efectuarea
- administrare
- manual
- MILAN
- ML
- MLOps
- mod
- model
- Modele
- mai mult
- cele mai multe
- motocicletă
- multiplu
- Mister
- nume
- nume
- Navigare
- Nevoie
- necesar
- au nevoie
- nevoilor
- reţea
- rețele
- Nou
- următor
- nlp
- Nu.
- caiet
- Înștiințare..
- observând
- acum
- obiect
- of
- on
- dată
- ONE
- deschide
- open-source
- or
- OS
- Altele
- afară
- producție
- trece peste
- propriu
- pâine
- parametru
- parametrii
- Trecut
- Care trece
- pasionat
- de plată
- Locuri
- Platforme
- Plato
- Informații despre date Platon
- PlatoData
- joc
- Punct
- Politicile
- Post
- practică
- precedent
- Principal
- privat
- privilegii
- prelucrare
- procesor
- Profil
- Profiluri
- Proiecte
- furniza
- public
- puts
- Piton
- Întrebări
- Rapid
- recomanda
- rămas
- minte
- solicita
- necesar
- Resurse
- răspuns
- restricții
- rezultând
- Rol
- rolurile
- Alerga
- funcţionare
- s
- SA
- sagemaker
- acelaşi
- Economisiți
- economisire
- Om de stiinta
- oamenii de stiinta
- sdk
- Secțiune
- securitate
- vedea
- serviciu
- Servicii
- sesiune
- set
- instalare
- configurarea
- câteva
- ea
- să
- Arăta
- prezenta
- indicat
- asemănător
- simplu
- pur şi simplu
- Mărimea
- Software
- Inginerie software
- soluţii
- ceva
- specialist
- specific
- specificată
- Cheltuire
- stivui
- Stive
- Începe
- început
- Stare
- Pas
- paşi
- depozitare
- stoca
- stocate
- studio
- subrețea
- subrețele
- ulterior
- Reușit
- astfel de
- Suportat
- Sprijină
- sistem
- Sarcină
- echipă
- Tehnic
- șablon
- Terminal
- acea
- lor
- Lor
- apoi
- astfel
- Acestea
- acest
- Prin
- strans
- timp
- la
- top
- trafic
- Tren
- Pregătire
- ÎNTORCĂ
- Cotitură
- în
- care stau la baza
- înţelege
- Actualizează
- upgrade-ul
- Folosire
- utilizare
- carcasa de utilizare
- utilizat
- Utilizator
- utilizatorii
- folosind
- valoare
- Valori
- verifica
- versiune
- de
- Vizualizare
- vizionează
- Virtual
- vizibil
- viziune
- volum
- volume
- vrea
- we
- web
- servicii web
- BINE
- cand
- voi
- cu
- fără
- Apartamente
- a lucrat
- de lucru
- fabrică
- yaml
- ani
- Tu
- Ta
- zephyrnet