A Amazon SageMaker Python SDK egy nyílt forráskódú könyvtár a gépi tanulási (ML) modellek betanításához és telepítéséhez Amazon SageMaker. A szigorúan ellenőrzött iparágakban, például az egészségügyben és a pénzügyekben dolgozó vállalati ügyfelek biztonsági korlátokat állítanak fel, hogy biztosítsák adataik titkosítását, és a forgalom ne haladja át az internetet. Annak érdekében, hogy a SageMaker képzése és az ML-modellek bevezetése ezeket a korlátokat kövesse, bevett gyakorlat, hogy korlátozásokat állítanak be a fiókban, ill. AWS szervezetek szinten a szolgáltatás-ellenőrzési szabályzatok és AWS Identity and Access Management (IAM) irányelvek az egyes IAM-szerepek használatának kikényszerítésére, Amazon Virtual Private Cloud (Amazon VPC) konfigurációk, ill AWS kulcskezelési szolgáltatás (AWS KMS) billentyűket. Ilyen esetekben az adattudósoknak ezeket a paramétereket manuálisan kell megadniuk az ML modell betanítási és telepítési kódjához, az alhálózatok, a biztonsági csoportok és a KMS-kulcsok feljegyzésével. Ez az adatkutatókra hárítja a feladatot, hogy ne felejtsék el megadni ezeket a konfigurációkat, sikeresen lefuttatni feladataikat, és elkerülni a hozzáférés megtagadásával kapcsolatos hibákat.
A SageMaker Python SDK 2.148.0-s verziójától kezdve mostantól beállíthatja az alapértelmezett értékeket az olyan paraméterekhez, mint az IAM-szerepek, a VPC-k és a KMS-kulcsok. A rendszergazdák és a végfelhasználók inicializálhatják az AWS-infrastruktúra-primitíveket egy YAML formátumú konfigurációs fájlban megadott alapértelmezett értékekkel. A konfigurálás után a Python SDK automatikusan örökli ezeket az értékeket, és továbbítja őket a mögöttes SageMaker API-hívásokhoz, mint pl. CreateProcessingJob()
, CreateTrainingJob()
és CreateEndpointConfig()
, további műveletek nélkül. Az SDK több konfigurációs fájlt is támogat, így az adminisztrátorok beállíthatnak egy konfigurációs fájlt minden felhasználó számára, a felhasználók pedig felülírhatják azt egy felhasználói szintű konfiguráción keresztül, amely a Amazon egyszerű tárolási szolgáltatás (Amazon S3), Amazon elasztikus fájlrendszer (Amazon EFS) számára Amazon SageMaker Studio, vagy a felhasználó helyi fájlrendszere.
Ebben a bejegyzésben bemutatjuk, hogyan hozhatja létre és tárolhatja az alapértelmezett konfigurációs fájlt a Studio alkalmazásban, és hogyan használhatja az SDK alapértelmezett funkcióját a SageMaker-erőforrások létrehozásához.
Megoldás áttekintése
Teljesen bemutatjuk ezt az új funkciót AWS felhőképződés sablon, amely létrehozza a szükséges infrastruktúrát, és létrehoz egy Studio-tartományt a telepített VPC-ben. Ezen kívül KMS-kulcsokat hozunk létre a képzési és feldolgozási feladatokhoz használt kötetek titkosításához. A lépések a következők:
- Indítsa el a CloudFormation veremet a fiókjában. Alternatív megoldásként, ha egy meglévő SageMaker tartományon vagy notebookon szeretné felfedezni ezt a funkciót, hagyja ki ezt a lépést.
- Népesítsd be a
config.yaml
fájlt, és mentse a fájlt az alapértelmezett helyre. - Futtasson egy mintajegyzetfüzetet teljes körű ML használati esettel, beleértve az adatfeldolgozást, a modelltanítást és a következtetéseket.
- Az alapértelmezett konfigurációs értékek felülírása.
Előfeltételek
Mielőtt elkezdené, győződjön meg arról, hogy rendelkezik AWS-fiókkal és rendszergazdai jogosultságokkal rendelkező IAM-felhasználóval vagy szerepkörrel. Ha Ön egy adattudós, aki jelenleg infrastruktúra-paramétereket ad át a notebook erőforrásainak, akkor kihagyhatja a környezet beállításának következő lépését, és megkezdheti a konfigurációs fájl létrehozását.
A funkció használatához futással frissítse a SageMaker SDK verzióját pip install --upgrade sagemaker
.
Állítsa be a környezetet
Egy teljes infrastruktúra üzembe helyezéséhez, beleértve a hálózatot és a Studio-tartományt, hajtsa végre a következő lépéseket:
- Klónozza a GitHub tárház.
- Jelentkezzen be AWS-fiókjába, és nyissa meg az AWS CloudFormation konzolt.
- A hálózati erőforrások telepítéséhez válassza a lehetőséget Verem létrehozása.
- Töltsd fel az alábbi sablont
setup/vpc_mode/01_networking.yaml
. - Adjon nevet a veremnek (például
networking-stack
), és hajtsa végre a többi lépést a verem létrehozásához. - A Studio-tartomány üzembe helyezéséhez válassza a lehetőséget Verem létrehozása újra.
- Töltsd fel az alábbi sablont
setup/vpc_mode/02_sagemaker_studio.yaml
. - Adjon nevet a veremnek (például
sagemaker-stack
), és adja meg a hálózati verem nevét, amikor a rendszer kéri aCoreNetworkingStackName
paraméter. - Folytassa a fennmaradó lépésekkel, válassza ki az IAM-erőforrások nyugtázását, és hozza létre a veremet.
Amikor mindkét verem állapota a következőre frissül CREATE_COMPLETE, folytassa a következő lépéssel.
Hozza létre a konfigurációs fájlt
A SageMaker Python SDK alapértelmezett konfigurációjának használatához hozzon létre egy config.yaml fájlt az SDK által elvárt formátumban. A config.yaml fájl formátumát lásd: Konfigurációs fájl szerkezete. A munkakörnyezettől, például a Studio-jegyzetfüzetektől, a SageMaker-jegyzetfüzet-példányoktól vagy a helyi IDE-től függően a konfigurációs fájlt az alapértelmezett helyre mentheti, vagy felülírhatja az alapértelmezett értékeket egy konfigurációs fájl helyének átadásával. Az egyéb környezetek alapértelmezett helyeiről lásd: Konfigurációs fájlok helyei. A következő lépések bemutatják a Studio notebook környezet beállítását.
Könnyen létrehozható a config.yaml
fájlt, futtassa a következő cellákat a Studio rendszertermináljában, lecserélve a helyőrzőket az előző lépésben szereplő CloudFormation veremnevekre:
Ez a szkript automatikusan feltölti a YAML-fájlt, lecserélve a helyőrzőket az infrastruktúra alapértelmezett értékeire, és elmenti a fájlt a saját mappába. Ezután a fájlt a Studio notebookok alapértelmezett helyére másolja. Az eredményül kapott konfigurációs fájlnak a következő formátumhoz kell hasonlítania:
Ha már beállított tartományt és hálózati konfigurációt, hozza létre a config.yaml
fájlt a kívánt formátumban, és mentse el a Studio notebookok alapértelmezett helyére.
Vegye figyelembe, hogy ezek az alapértelmezések egyszerűen automatikusan kitöltik a konfigurációs értékeket a megfelelő SageMaker SDK-hívásokhoz, és nem kényszerítik a felhasználót semmilyen konkrét VPC-re, alhálózatra vagy szerepkörre. Rendszergazdaként, ha azt szeretné, hogy a felhasználók egy adott konfigurációt vagy szerepkört használjanak, használja a IAM feltétel kulcsok az alapértelmezett értékek érvényesítéséhez.
Ezenkívül minden API-hívásnak saját konfigurációja lehet. Például az előző konfigurációs fájl mintában megadhatja vpc-a
és a subnet-a
képzési munkákhoz, és adja meg vpc-b
és a subnet-c
, subnet-d
munkák feldolgozásához.
Futtasson egy mintafüzetet
Most, hogy beállította a konfigurációs fájlt, a szokásos módon elkezdheti futtatni a modellépítést és a betanítási jegyzetfüzeteket anélkül, hogy a legtöbb SDK-funkcióhoz kifejezetten be kellene állítania a hálózati és titkosítási paramétereket. Lát Támogatott API-k és paraméterek a támogatott API-hívások és paraméterek teljes listájáért.
A Studio alkalmazásban válassza a Fájlkezelő ikont a navigációs panelen, és nyissa meg 03_feature_engineering/03_feature_engineering.ipynb
, ahogy az a következő képernyőképen látható.
Futtassa egyenként a jegyzetfüzet celláit, és vegye észre, hogy nem ad meg további konfigurációt. Amikor létrehozza a processzorobjektumot, látni fogja a cellakimeneteket, mint az alábbi példában.
Amint az a kimeneten látható, az alapértelmezett konfigurációt a rendszer automatikusan alkalmazza a feldolgozási feladatra, anélkül, hogy a felhasználótól további bevitelre lenne szükség.
Amikor a következő cellát futtatja a processzor futtatásához, a SageMaker konzolon a feladat megtekintésével is ellenőrizheti, hogy az alapértelmezett értékek be vannak állítva. Választ Feladatok feldolgozása alatt Feldolgozás a navigációs ablakban, ahogy az a következő képernyőképen látható.
Válassza ki a feldolgozási feladatot az előtaggal end-to-end-ml-sm-proc
, és meg kell tudnia nézni a már konfigurált hálózatot és titkosítást.
Folytathatja a fennmaradó notebookok futtatását a modell betanításához és üzembe helyezéséhez, és észre fogja venni, hogy az infrastruktúra alapértelmezett beállításai automatikusan alkalmazásra kerülnek mind a betanítási feladatokra, mind a modellekre.
Az alapértelmezett konfigurációs fájl felülírása
Előfordulhatnak olyan esetek, amikor a felhasználónak felül kell írnia az alapértelmezett konfigurációt, például kísérletezni kell a nyilvános internet-hozzáféréssel, vagy frissítenie kell a hálózati konfigurációt, ha az alhálózatból kifogynak az IP-címek. Ilyen esetekben a Python SDK azt is lehetővé teszi, hogy egyéni helyet biztosítson a konfigurációs fájl számára, akár a helyi tárolón, akár rámutathat egy helyre az Amazon S3-ban. Ebben a részben egy példát vizsgálunk.
Nyissa meg a user-configs.yaml
fájlt a saját könyvtárába, és frissítse a EnableNetworkIsolation
értéket True
, Alatt a TrainingJob
szakasz.
Most nyissa meg ugyanazt a jegyzetfüzetet, és adja hozzá a következő cellát a jegyzetfüzet elejéhez:
Ezzel a cellával a konfigurációs fájl helyét az SDK-ra irányítja. Most, amikor létrehozza a processzorobjektumot, észre fogja venni, hogy az alapértelmezett konfigurációt felülírták a hálózati elkülönítés engedélyezéséhez, és a feldolgozási feladat hálózati elkülönítési módban meghiúsul.
Ugyanazt a felülbírálási környezeti változót használhatja a konfigurációs fájl helyének beállításához, ha a helyi környezetet, például a VSCode-ot használja.
Hibakeresés és alapértelmezett értékek visszakeresése
A gyors hibaelhárítás érdekében, ha bármilyen hibába ütközik API-hívások futtatása során a notebookból, a cella kimenete megjeleníti az alkalmazott alapértelmezett konfigurációkat, az előző részben látható módon. Az alapértelmezett konfigurációs fájlból átadott attribútumértékek megtekintéséhez létrehozott pontos Boto3-hívás megtekintéséhez a Boto3-naplózás bekapcsolásával hibakeresést végezhet. A naplózás bekapcsolásához futtassa a következő cellát a jegyzetfüzet tetején:
Minden további Boto3 hívás naplózásra kerül a teljes kéréssel, amely a napló törzsrésze alatt látható.
Az alapértelmezett konfigurációk gyűjteményét is megtekintheti a session.sagemaker_config
értéket a következő példában látható módon.
Végül, ha a Boto3-at használja a SageMaker erőforrások létrehozásához, az alapértelmezett konfigurációs értékeket a sagemaker_config
változó. Például a feldolgozási feladat futtatásához 03_feature_engineering.ipynb
A Boto3 használatával beírhatja a következő cella tartalmát ugyanabban a jegyzetfüzetben, és futtathatja a cellát:
Automatizálja a konfigurációs fájl létrehozását
A rendszergazdák számára ijesztő feladat lehet, ha létre kell hozni a konfigurációs fájlt, és el kell menteni a fájlt minden SageMaker jegyzetfüzet-példányba vagy Studio felhasználói profilba. Bár javasolhatja a felhasználóknak egy alapértelmezett S3-helyen tárolt általános fájl használatát, ez az adattudósokra hárítja a felülbírálás megadásával járó többletterhelést.
Ennek automatizálására a rendszergazdák használhatják a SageMaker Lifecycle Configurations (LCC) beállítást. Studio felhasználói profilokhoz vagy notebook-példányokhoz csatolhatja a következő LCC-szkriptet alapértelmezett LCC-ként a felhasználó alapértelmezett Jupyter Server alkalmazásához:
Lát Használja az Amazon SageMaker Studio életciklus-konfigurációit or Notebook példány testreszabása az alapértelmezett életciklus-szkript létrehozásához és beállításához.
Tisztítsuk meg
Ha végzett ezzel a funkcióval, tisztítsa meg erőforrásait, hogy elkerülje a további költségeket. Ha az ebben a bejegyzésben leírtak szerint új erőforrásokat biztosított, hajtsa végre a következő lépéseket az erőforrások megtisztításához:
- Zárja le a Studio alkalmazásait a felhasználói profilhoz. Lát Kapcsolja ki és frissítse a SageMaker Studio és a Studio alkalmazásokat utasításokért. A verem törlése előtt győződjön meg arról, hogy az összes alkalmazást törölte.
- Törölje a Studio tartományhoz létrehozott EFS-kötetet. A tartományhoz csatolt EFS-kötet az a segítségével tekintheti meg Domain leírása API hívás.
- Törölje a Studio tartomány veremét.
- Törölje a Studio tartományhoz létrehozott biztonsági csoportokat. Megtalálhatja őket a Amazon rugalmas számítási felhő (Amazon EC2) konzol, a security-group-for-inbound-nfs-d-xxx és a security-group-for-outbound-nfs-d-xxx névvel
- Törölje a hálózati köteget.
Következtetés
Ebben a bejegyzésben megvitattuk a kulcsfontosságú infrastruktúra-paraméterek alapértelmezett értékeinek konfigurálását és használatát a SageMaker Python SDK használatával. Ez lehetővé teszi az adminisztrátorok számára, hogy alapértelmezett konfigurációkat állítsanak be az adattudósok számára, ezáltal időt takarítanak meg a felhasználók és a rendszergazdák számára, kiküszöböli a paraméterek ismétlődő megadásával járó terhet, és karcsúbb és jobban kezelhető kódot eredményez. A támogatott paraméterek és API-k teljes listáját lásd: Alapértelmezések konfigurálása és használata a SageMaker Python SDK-val. Bármilyen kérdés és megbeszélés esetén csatlakozzon a Gépi tanulás és AI közösség.
A szerzőkről
Giuseppe Angelo Porcelli az Amazon Web Services vezető gépi tanulási specialistája. Több éves szoftvermérnöki háttérrel, ML háttérrel, bármilyen méretű ügyfelekkel dolgozik, hogy mélyen megértse üzleti és műszaki igényeiket, és olyan mesterséges intelligencia és gépi tanulási megoldásokat tervezzen, amelyek a lehető legjobban használják ki az AWS felhőt és az Amazon Machine Learning veremét. Különböző területeken dolgozott projekteken, beleértve az MLOps-t, a Computer Vision-t, az NLP-t és az AWS-szolgáltatások széles körét. Szabadidejében Giuseppe szívesen focizik.
Bruno Pistone a milánói székhelyű AWS AI/ML Specialist Solutions Architect. Bármilyen méretű ügyfelekkel dolgozik, hogy segítsen nekik mélyen megérteni műszaki igényeiket, és olyan mesterséges intelligencia és gépi tanulási megoldásokat tervezzenek, amelyek a lehető legjobban használják ki az AWS Cloud és az Amazon Machine Learning veremét. Szakterülete a gépi tanulás végpontokig, a gépi tanulás iparosítása és az MLOps. Szívesen tölt időt barátaival és új helyeket fedez fel, valamint új úti célokra utazik.
Durga Sury ML Solutions Architect az Amazon SageMaker Service SA csapatánál. Szenvedélyesen törekszik arra, hogy mindenki számára elérhetővé tegye a gépi tanulást. Az AWS-nél eltöltött 4 év alatt segített AI/ML platformok felállításában vállalati ügyfelek számára. Amikor nem dolgozik, szereti a motorozást, a rejtélyes regényeket és a hosszú sétákat 5 éves huskyjával.
- SEO által támogatott tartalom és PR terjesztés. Erősödjön még ma.
- PlatoAiStream. Web3 adatintelligencia. Felerősített tudás. Hozzáférés itt.
- A jövő pénzverése – Adryenn Ashley. Hozzáférés itt.
- Részvények vásárlása és eladása PRE-IPO társaságokban a PREIPO® segítségével. Hozzáférés itt.
- Forrás: https://aws.amazon.com/blogs/machine-learning/configure-and-use-defaults-for-amazon-sagemaker-resources-with-the-sagemaker-python-sdk/
- :van
- :is
- :nem
- :ahol
- $ UP
- 1
- 10
- 100
- 20
- 30
- 60
- 7
- 9
- a
- Képes
- Rólunk
- hozzáférés
- hozzáférhető
- Fiók
- cselekvések
- hozzá
- mellett
- További
- címek
- adminisztrátorok
- újra
- AI
- AI / ML
- Minden termék
- lehetővé téve
- lehetővé teszi, hogy
- már
- Is
- Bár
- amazon
- Amazon EC2
- Amazon gépi tanulás
- Amazon SageMaker
- Az Amazon Web Services
- an
- és a
- bármilyen
- api
- API-k
- app
- alkalmazott
- megfelelő
- alkalmazások
- VANNAK
- AS
- At
- csatolja
- automatizált
- automatikusan
- elkerülése érdekében
- AWS
- AWS felhőképződés
- háttér
- alapján
- BE
- óta
- előtt
- Kezdet
- BEST
- test
- mindkét
- széles
- Épület
- teher
- üzleti
- by
- hívás
- kéri
- TUD
- eset
- esetek
- CD
- Cellák
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a
- vásárló
- felhő
- kód
- gyűjtemény
- Közös
- teljes
- Kiszámít
- számítógép
- Számítógépes látás
- feltétel
- Configuration
- Konzol
- tartalom
- folytatódik
- ellenőrzés
- vezérelt
- kiadások
- tudott
- teremt
- készítette
- teremt
- létrehozása
- Jelenleg
- szokás
- Ügyfelek
- dátum
- adatfeldolgozás
- adattudós
- alapértelmezett
- alapértelmezett
- bizonyítani
- attól
- telepíteni
- telepített
- bevezetéséhez
- bevetés
- Design
- úticél
- különböző
- tárgyalt
- megbeszélések
- kijelzők
- Nem
- domain
- domainek
- csinált
- ne
- le-
- minden
- könnyen
- visszhang
- bármelyik
- megszüntetése
- lehetővé
- titkosított
- titkosítás
- végén
- végtől végig
- Endpoint
- érvényesíteni
- Mérnöki
- biztosítására
- belép
- Vállalkozás
- Környezet
- környezetek
- hibák
- mindenki
- példa
- létező
- elvárja
- kísérlet
- szakvélemény
- feltárása
- felfedező
- Feltárása
- FAIL
- hamis
- Funkció
- mező
- filé
- Fájlok
- finanszíroz
- Találjon
- következik
- következő
- következik
- Futball
- A
- formátum
- Ingyenes
- barátok
- ból ből
- Tele
- funkciók
- kap
- szerzés
- megy
- Csoportok
- Legyen
- tekintettel
- he
- egészségügyi
- segített
- segít
- neki
- övé
- Kezdőlap
- Hogyan
- How To
- HTML
- http
- HTTPS
- ICON
- Identitás
- if
- importál
- in
- Beleértve
- iparágak
- Infrastruktúra
- bemenet
- telepíteni
- példa
- utasítás
- Felület
- Internet
- internet-hozzáférés
- bele
- bevonásával
- IP
- IP-címeket
- szigetelés
- IT
- ITS
- Munka
- Állások
- csatlakozik
- jpg
- Kulcs
- kulcsok
- nagy
- tanulás
- szint
- könyvtár
- életciklus
- mint
- Lista
- helyi
- elhelyezkedés
- helyszínek
- log
- bejelentkezve
- fakitermelés
- Hosszú
- néz
- szeret
- gép
- gépi tanulás
- csinál
- Gyártás
- vezetés
- kézzel
- MILAN
- ML
- MLOps
- Mód
- modell
- modellek
- több
- a legtöbb
- motorkerékpár
- többszörös
- Rejtély
- név
- nevek
- Navigáció
- Szükség
- szükséges
- igénylő
- igények
- hálózat
- hálózatba
- Új
- következő
- NLP
- nem
- jegyzetfüzet
- Értesítés..
- megjegyezve,
- Most
- tárgy
- of
- on
- egyszer
- ONE
- nyitva
- nyílt forráskódú
- or
- OS
- Más
- ki
- teljesítmény
- felülírás
- saját
- üvegtábla
- paraméter
- paraméterek
- Elmúlt
- Múló
- szenvedélyes
- fizet
- Helyek
- Platformok
- Plató
- Platón adatintelligencia
- PlatoData
- játék
- pont
- Politikák
- állás
- gyakorlat
- előző
- Fő
- magán
- kiváltságok
- feldolgozás
- Processzor
- profil
- Profilok
- projektek
- ad
- nyilvános
- helyezi
- Piton
- Kérdések
- Quick
- ajánl
- megmaradó
- eszébe jut
- kérni
- kötelező
- Tudástár
- válasz
- korlátozások
- kapott
- Szerep
- szerepek
- futás
- futás
- s
- SA
- sagemaker
- azonos
- Megtakarítás
- megtakarítás
- Tudós
- tudósok
- sdk
- Rész
- biztonság
- lát
- szolgáltatás
- Szolgáltatások
- ülés
- készlet
- beállítás
- felépítés
- számos
- ő
- kellene
- előadás
- kirakat
- mutatott
- hasonló
- Egyszerű
- egyszerűen
- Méret
- szoftver
- szoftverfejlesztés
- Megoldások
- valami
- szakember
- különleges
- meghatározott
- Költési
- verem
- Stacks
- kezdet
- kezdődött
- Állapot
- Lépés
- Lépései
- tárolás
- tárolni
- memorizált
- stúdió
- alhálózati
- alhálózatok
- későbbi
- sikeresen
- ilyen
- Támogatott
- Támogatja
- rendszer
- Feladat
- csapat
- Műszaki
- sablon
- terminál
- hogy
- A
- azok
- Őket
- akkor
- ezáltal
- Ezek
- ezt
- Keresztül
- szorosan
- idő
- nak nek
- felső
- forgalom
- Vonat
- Képzések
- FORDULAT
- Turning
- alatt
- mögöttes
- megért
- Frissítések
- frissítés
- Használat
- használ
- használati eset
- használt
- használó
- Felhasználók
- segítségével
- érték
- Értékek
- ellenőrzése
- változat
- keresztül
- Megnézem
- megtekintők
- Tényleges
- látható
- látomás
- kötet
- kötetek
- akar
- we
- háló
- webes szolgáltatások
- JÓL
- amikor
- lesz
- val vel
- nélkül
- Munka
- dolgozott
- dolgozó
- művek
- yaml
- év
- te
- A te
- zephyrnet