Mivel egyre több ügyfél szeretné a gépi tanulási (ML) munkaterhelést a termelésbe helyezni, a szervezetek nagy erőfeszítéseket tesznek az ML-kód fejlesztési életciklusának lerövidítésére. Sok szervezet szívesebben írja ML-kódját termelésre kész stílusban Python metódusok és osztályok formájában, szemben a felfedező stílussal (a kód írása metódusok vagy osztályok használata nélkül), mert ez segít nekik gyorsabban szállítani a termelésre kész kódot.
A Amazon SageMaker, használhatja a @távos lakberendező egy SageMaker képzési feladat futtatásához egyszerűen a Python-kód megjegyzésével egy @remote dekorátorral. A SageMaker Python SDK automatikusan lefordítja a meglévő munkaterület-környezetet és a kapcsolódó adatfeldolgozási kódokat és adatkészleteket egy SageMaker képzési feladattá, amely a SageMaker képzési platformon fut.
Egy Python-függvény helyi futtatásához gyakran több függőségre van szükség, amelyek nem biztos, hogy a helyi Python futási környezettel együtt járnak. Telepítheti őket csomag- és függőségkezelő eszközökkel, például gyümölcsmag or megye.
A szabályozott iparágakban, például a banki, biztosítási és egészségügyben működő szervezetek azonban szigorú adatvédelmi és hálózati szabályozással rendelkező környezetben működnek. Ezek a vezérlők gyakran megkövetelik, hogy egyik környezetükben se legyen elérhető internet-hozzáférés. Az ilyen korlátozás oka a ki- és bemenő forgalom teljes ellenőrzése, így csökkenthető annak az esélye, hogy a gátlástalan szereplők nem ellenőrzött információkat küldjenek vagy fogadjanak a hálózatukon keresztül. A hallási és ipari megfelelőségi szabályok részeként gyakran előírják az ilyen hálózati leválasztást is. Ami az ML-t illeti, ez korlátozza az adatkutatókat abban, hogy bármilyen csomagot letölthessenek nyilvános adattárakból, például PyPI, Anakondavagy Conda-Forge.
Annak érdekében, hogy az adatkutatók hozzáférést biztosítsanak az általuk választott eszközökhöz, ugyanakkor tiszteletben tartsák a környezet korlátozásait, a szervezetek gyakran saját környezetükben üzemeltetik saját privát csomagtárolójukat. Többféle módon is beállíthat privát csomagtárolókat az AWS-en:
Ebben a bejegyzésben az első lehetőségre összpontosítunk: a CodeArtifact használatával.
Megoldás áttekintése
A következő architektúra diagram a megoldás architektúráját mutatja be.
A megoldás megvalósításának magas szintű lépései a következők
- Állítson be egy virtuális privát felhőt (VPC) internet-hozzáférés nélkül AWS felhőképződés sablon.
- Egy második CloudFormation sablon használatával állítsa be a CodeArtifactot privát PyPI-tárolóként, és biztosítson kapcsolatot a VPC-vel, és állítson be egy Amazon SageMaker Studio környezetben a privát PyPI-tároló használatához.
- Osztályozási modell képzése a MNIST adatkészlet @remote dekorátor segítségével a nyílt forráskódú SageMaker Python SDK-ból. Az összes függőséget a rendszer a privát PyPI-tárolóból tölti le.
Vegye figyelembe, hogy a SageMaker Studio használata ebben a bejegyzésben nem kötelező. Bármilyen integrált fejlesztői környezetben (IDE) dolgozhat. Csak be kell állítania a sajátját AWS parancssori interfész (AWS CLI) hitelesítő adatait megfelelően. További információkért lásd: Konfigurálja az AWS parancssori felületet.
Előfeltételek
Szüksége van egy AWS-fiókra egy AWS Identity and Access Management (AMI) szerep a megoldás részeként létrehozott erőforrások kezelési engedélyeivel. A részletekért lásd: AWS-fiók létrehozása.
Állítson be egy VPC-t internetkapcsolat nélkül
Hozzon létre egy új CloudFormation-vermet használatával vpc.yaml sablon. Ez a sablon a következő erőforrásokat hozza létre:
- VPC két privát alhálózattal két elérhetőségi zónán keresztül, internetkapcsolat nélkül
- Átjáró VPC végpont az Amazon S3 eléréséhez
- Interfész VPC-végpontok a SageMakerhez, a CodeArtifacthoz és néhány más szolgáltatáshoz, amelyek lehetővé teszik a VPC-ben lévő erőforrások számára az AWS-szolgáltatásokhoz való csatlakozást AWS PrivateLink
Adjon meg egy veremnevet, pl No-Internet
, és fejezze be a verem létrehozásának folyamatát.
Várja meg, amíg a verem létrehozási folyamat befejeződik.
Hozzon létre egy privát adattárat és a SageMaker Studio-t a VPC segítségével
A következő lépés egy másik CloudFormation-verem üzembe helyezése a sagemaker_studio_codeartifact.yaml sablon. Ez a sablon a következő erőforrásokat hozza létre:
Adja meg a verem nevét, és tartsa meg az alapértelmezett értékeket, vagy módosítsa a paramétereket CodeArtifact domain név, privát adattár neve, felhasználói profil neve a SageMaker Studio számára, és az upstream nyilvános PyPI-tároló neve. Önnek is biztosítania kell a VPC verem neve az előző lépésben létrehozott.
Amikor a verem létrehozása befejeződött, a SageMaker tartománynak láthatónak kell lennie a SageMaker konzolon.
Annak ellenőrzéséhez, hogy a SageMaker Studioban nincs-e elérhető internetkapcsolat, indítsa el a SageMaker Studio-t. Válaszd ki File
, New
és Terminal
hogy elindítson egy terminált, és megpróbálja becsavar bármilyen internetes forrás. A következő képernyőképen látható módon nem tud csatlakozni.
Képosztályozó betanítása @remote dekorátor segítségével a privát PyPI-tárral
Ebben a részben a @remote dekorátort használjuk az a PyTorch képzési munka, amely egy MNIST képosztályozási modellt állít elő. Ennek eléréséhez beállítunk egy konfigurációs fájlt, kifejlesztjük a betanító szkriptet, és lefuttatjuk a képzési kódot.
Állítson be egy konfigurációs fájlt
Felállítottunk egy config.yaml
fájlt, és adja meg a következő műveletekhez szükséges konfigurációkat:
- Futtassa a SageMaker képzési munka a korábban létrehozott internet nélküli VPC-ben
- Töltse le a szükséges csomagokat a korábban létrehozott privát PyPI-tárolóhoz való csatlakozással
A fájl a következő kódhoz hasonlít:
A Dependencies
mező tartalmazza az elérési utat requirements.txt
, amely tartalmazza az összes szükséges függőséget. Vegye figyelembe, hogy az összes függőséget a rendszer a privát adattárból tölti le. A requirements.txt
fájl a következő kódot tartalmazza:
A PreExecutionCommands
szakasz tartalmazza a privát PyPI-tárolóhoz való csatlakozás parancsát. A CodeArtifact VPC végpont URL-címének lekéréséhez használja a következő kódot:
Általában két VPC végpontot kapunk a CodeArtifacthoz, és bármelyiket használhatjuk a kapcsolódási parancsokban. További részletekért lásd: Használja a CodeArtifactot VPC-ről.
Ezenkívül olyan konfigurációk, mint pl execution role
, output location
és VPC configurations
a konfigurációs fájlban vannak megadva. Ezek a konfigurációk szükségesek a SageMaker képzési feladat futtatásához. Ha többet szeretne megtudni az összes támogatott konfigurációról, lásd: Konfigurációs fájl.
Nem kötelező használni a config.yaml
fájlt, hogy működjön a @remote dekoratőrrel. Ez csak egy tisztább módja annak, hogy az összes konfigurációt a @remote dekoratőrnek biztosítsa. Az összes konfiguráció közvetlenül is megadható a díszítő argumentumokban, de ez hosszú távon csökkenti a változtatások olvashatóságát és karbantarthatóságát. Ezenkívül a konfigurációs fájlt az adminisztrátor is létrehozhatja, és megoszthatja az összes felhasználóval egy környezetben.
Fejlessze ki a képzési forgatókönyvet
Ezután elkészítjük a képzési kódot egyszerű Python-fájlokban. A kódot három fájlra osztottuk:
- load_data.py – Az MNIST adatkészlet letöltéséhez szükséges kódot tartalmazza
- modell.py – Tartalmazza a modell neurális hálózati architektúrájának kódját
- vonat.py – Tartalmazza a modell betanításához szükséges kódot a load_data.py és model.py használatával
In train.py
, a fő edzési funkciót a következőképpen kell díszítenünk:
Most készen állunk a képzési kód futtatására.
Futtassa a képzési kódot egy @remote dekorátorral
A kódot terminálból vagy bármilyen végrehajtható promptból futtathatjuk. Ebben a bejegyzésben egy SageMaker Studio notebook cellát használunk ennek bemutatására:
Az előző parancs futtatása elindítja a betanítási feladatot. A naplókban láthatjuk, hogy a csomagokat a privát PyPI-tárolóból tölti le.
Ezzel befejeződik egy @remote dekorátor megvalósítása, amely egy privát adattárral dolgozik olyan környezetben, ahol nincs internet-hozzáférés.
Tisztítsuk meg
Az erőforrások megtisztításához kövesse az alábbi utasításokat CLEANUP.md.
Következtetés
Ebben a bejegyzésben megtanultuk, hogyan használhatjuk hatékonyan a @remote lakberendező képességeit, miközben korlátozó környezetben, internet-hozzáférés nélkül is dolgozhatunk. Azt is megtanultuk, hogyan integrálhatjuk a CodeArtifact privát adattár képességeit a SageMaker konfigurációs fájlok támogatásával. Ez a megoldás sokkal egyszerűbbé és gyorsabbá teszi az iteratív fejlesztést. További előny, hogy továbbra is természetesebb, objektum-orientált módon írhatja meg a betanító kódot, és továbbra is használhatja a SageMaker képességeit a tanítási feladatok távoli fürtön történő futtatására, minimális változtatásokkal a kódban. A bejegyzés részeként megjelenő összes kód elérhető a GitHub tárház.
Következő lépésként javasoljuk, hogy nézze meg a @remote lakberendező funkció és a Python SDK API és használja a választott környezetben és IDE-ben. További példák találhatók a amazon-sagemaker-példák adattárat a gyors kezdéshez. A bejegyzést is megnézheted Futtassa a helyi gépi tanulási kódot Amazon SageMaker Training feladatként minimális kódmódosítással fül alatt találsz.
A szerzőről
Vikesh Pandey az AWS gépi tanulási specialistája, aki a pénzügyi iparágak ügyfeleit segíti a generatív AI és ML megoldások tervezésében és kivitelezésében. A munkán kívül Vikesh szívesen kipróbálja a különböző konyhákat és szabadtéri sportokat űz.
- SEO által támogatott tartalom és PR terjesztés. Erősödjön még ma.
- PlatoData.Network Vertical Generative Ai. Erősítse meg magát. Hozzáférés itt.
- PlatoAiStream. Web3 Intelligence. Felerősített tudás. Hozzáférés itt.
- PlatoESG. Autóipar / elektromos járművek, Carbon, CleanTech, Energia, Környezet, Nap, Hulladékgazdálkodás. Hozzáférés itt.
- BlockOffsets. A környezetvédelmi ellentételezési tulajdon korszerűsítése. Hozzáférés itt.
- Forrás: https://aws.amazon.com/blogs/machine-learning/access-private-repos-using-the-remote-decorator-for-amazon-sagemaker-training-workloads/
- :is
- :nem
- $ UP
- 1
- 10
- 100
- 12
- 23
- 7
- 8
- a
- Rólunk
- hozzáférés
- Hozzáférés
- Fiók
- Elérése
- át
- szereplők
- hozzáadott
- További
- admin
- Előny
- AI
- Minden termék
- lehetővé
- Is
- amazon
- Amazon SageMaker
- Az Amazon Web Services
- an
- és a
- Másik
- bármilyen
- api
- építészet
- VANNAK
- érvek
- AS
- társult
- At
- automatikusan
- elérhetőség
- elérhető
- AWS
- Banking
- alapján
- BE
- mert
- épít
- de
- by
- TUD
- képességek
- esély
- Változások
- ellenőrizze
- választás
- 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
- osztályok
- besorolás
- felhő
- Fürt
- kód
- COM
- hogyan
- jön
- teljes
- teljesítés
- Configuration
- Csatlakozás
- Csatlakozó
- kapcsolat
- Connectivity
- Konzol
- tartalmaz
- folytatódik
- ellenőrzés
- ellenőrzések
- tudott
- készítette
- teremt
- teremtés
- Hitelesítő adatok
- Ügyfelek
- dátum
- Adatvédelem
- adatfeldolgozás
- adatkészletek
- alapértelmezett
- bizonyítani
- Függőség
- telepíteni
- Design
- részletek
- Fejleszt
- Fejlesztés
- különböző
- közvetlenül
- megosztott
- do
- domain
- letöltés
- hatékonyan
- ösztönzése
- Endpoint
- Környezet
- környezetek
- korszakok
- példák
- végrehajtás
- létező
- FAIL
- hamis
- gyorsabb
- kevés
- mező
- filé
- Fájlok
- pénzügyi
- pénzügyi iparágak
- vezetéknév
- Úszó
- Összpontosít
- következik
- következő
- következik
- A
- forma
- ból ből
- Tele
- funkció
- gateway
- nemző
- Generatív AI
- kap
- Csoport
- Legyen
- tekintettel
- egészségügyi
- segít
- segít
- segít
- magas szinten
- házigazdája
- Hogyan
- How To
- HTML
- http
- HTTPS
- ID
- Identitás
- kép
- Képosztályozás
- végre
- végrehajtás
- in
- ipari
- iparágak
- információ
- telepíteni
- utasítás
- biztosítás
- integrálni
- integrált
- Internet
- internet-hozzáférés
- Internet kapcsolat
- bele
- szigetelés
- IT
- Munka
- Állások
- jpg
- éppen
- Tart
- Ismer
- nagy
- indít
- tanult
- tanulás
- életciklus
- mint
- vonal
- helyi
- helyileg
- Belépés
- Hosszú
- keres
- MEGJELENÉS
- gép
- gépi tanulás
- Fő
- KÉSZÍT
- kezelése
- vezetés
- menedzsment eszközök
- Megbízás
- kötelező
- sok
- Lehet..
- mód
- minimális
- ML
- modell
- Modulok
- több
- sok
- többszörös
- név
- bennszülött
- Természetes
- Szükség
- szükséges
- hálózat
- hálózatba
- neurális hálózat
- Új
- következő
- nem
- jegyzetfüzet
- of
- gyakran
- on
- nyílt forráskódú
- működik
- üzemeltetési
- ellentétes
- opció
- or
- érdekében
- szervezetek
- Más
- ki
- kívül
- felett
- saját
- csomag
- csomagok
- paraméterek
- rész
- ösvény
- engedélyek
- Hely
- emelvény
- Plató
- Platón adatintelligencia
- PlatoData
- játék
- állás
- jobban szeret
- Készít
- előző
- magánélet
- magán
- folyamat
- feldolgozás
- termel
- Termelés
- profil
- ad
- feltéve,
- nyilvános
- Nyomja
- tesz
- Piton
- pytorch
- gyorsan
- kész
- ok
- fogadó
- csökkenteni
- csökkenti
- szabályozott
- szabályozott iparágak
- távoli
- raktár
- kötelező
- megköveteli,
- forrás
- Tudástár
- vonatkozó
- korlátozás
- korlátozások
- Korlátozó
- Szerep
- szabályok
- futás
- futás
- fut
- sagemaker
- tudósok
- sdk
- Második
- Rész
- biztonság
- lát
- mag
- elküldés
- Szolgáltatások
- készlet
- számos
- megosztott
- HAJÓ
- kellene
- mutatott
- Műsorok
- Egyszerű
- egyszerűbb
- egyszerűen
- So
- megoldások
- Megoldások
- szakember
- Sport
- verem
- kezdődött
- Lépés
- Lépései
- Még mindig
- tárolni
- Szigorú
- stúdió
- stílus
- alhálózati
- alhálózatok
- ilyen
- mellékelt
- kínálat
- támogatás
- Támogatott
- sablon
- terminál
- hogy
- A
- azok
- Őket
- Ott.
- Ezek
- ők
- ezt
- három
- Keresztül
- nak nek
- szerszámok
- Torchvision
- forgalom
- Képzések
- fordít
- igaz
- megpróbál
- kettő
- lelkiismeretlen
- URL
- használ
- használt
- Felhasználók
- segítségével
- Értékek
- ellenőrzése
- keresztül
- Tényleges
- látható
- Út..
- módon
- we
- háló
- webes szolgáltatások
- amikor
- ami
- míg
- Wikipedia
- lesz
- val vel
- nélkül
- Munka
- dolgozó
- ír
- írás
- yaml
- te
- A te
- zephyrnet
- zónák