Amazon SageMaker csővezetékek egy teljesen felügyelt AWS szolgáltatás gépi tanulási (ML) munkafolyamatok felépítéséhez és összehangolásához. A SageMaker Pipelines lehetővé teszi az ML alkalmazásfejlesztők számára az ML munkafolyamat különböző lépéseinek összehangolását, beleértve az adatbetöltést, az adatátalakítást, a képzést, a hangolást és a telepítést. Használhatja a SageMaker Pipelines ML-feladatokat a SageMakerben és annak alkalmazásában integráció a nagyobb AWS ökoszisztémával olyan erőforrások használatát is lehetővé teszi, mint a AWS Lambda függvények, Amazon EMR munkahelyek, és még sok más. Ez lehetővé teszi, hogy testreszabott és reprodukálható folyamatot hozzon létre az ML munkafolyamatok speciális követelményeihez.
Ebben a bejegyzésben bemutatunk néhány bevált gyakorlatot a SageMaker Pipelines értékének maximalizálásához és a fejlesztési élmény zökkenőmentessé tételéhez. Megbeszélünk néhány gyakori tervezési forgatókönyvet és mintát a SageMaker Pipelines építése során, és példákat adunk ezek megoldására.
A SageMaker Pipelines legjobb gyakorlatai
Ebben a részben bemutatunk néhány bevált gyakorlatot, amelyek követhetők a SageMaker Pipelines munkafolyamatok tervezése során. Ezek elfogadása javíthatja a fejlesztési folyamatot és ésszerűsítheti a SageMaker Pipelines működési irányítását.
Használja a Pipeline Session alkalmazást a csővezeték lusta betöltéséhez
Pipeline Session lehetővé teszi a folyamat erőforrásainak lusta inicializálását (a jobok csak a folyamat futási idejében indulnak el). A PipelineSession
kontextus örökli a SageMaker Session és kényelmes módszereket valósít meg más SageMaker entitásokkal és erőforrásokkal való interakcióhoz, mint például a betanítási feladatok, végpontok, bemeneti adatkészletek Amazon egyszerű tárolási szolgáltatás (Amazon S3), és így tovább. A SageMaker Pipelines definiálásakor használja PipelineSession
a szokásos SageMaker Session alatt:
Futtassa a folyamatokat helyi módban a költséghatékony és gyors iterációk érdekében a fejlesztés során
Futtathatja a csővezeték helyi módban használatával LocalPipelineSession
kontextus. Ebben a módban a folyamat és a jobok helyileg futnak a helyi gép erőforrásaival, a SageMaker által felügyelt erőforrások helyett. A helyi mód költséghatékony módot biztosít a folyamatkódon való iterációra az adatok kisebb részhalmazával. A folyamat helyi tesztelése után méretezhető a futtatásra a következővel PipelineSession kontextus.
Kezelje a SageMaker folyamatot verziókezeléssel
A műtermékek és folyamatdefiníciók verziószáma általános követelmény a fejlesztési életciklusban. A folyamat több verzióját is létrehozhatja, ha a folyamat objektumokat egyedi előtaggal vagy utótaggal nevezi el, a leggyakoribb az időbélyeg, amint az a következő kódban látható:
A SageMaker kísérletekkel való integrációval megszervezheti és nyomon követheti a SageMaker folyamatokat
A SageMaker Pipelines könnyen integrálható SageMaker kísérletek szervezésére és nyomkövető csővezeték fut. Ezt megadásával érik el PipelineExperimentConfig létrehozásának időpontjában a csővezeték objektum. Ezzel a konfigurációs objektummal megadhat egy kísérletnevet és egy próbanevet. A SageMaker-folyamat futtatásának részletei a megadott kísérlet és próba alatt kerülnek rendszerezésre. Ha nem ad meg kifejezetten kísérletnevet, akkor a kísérlet neveként egy folyamatnevet használunk. Hasonlóképpen, ha nem ad meg kifejezetten egy próbaverziónevet, a próbafolyamat vagy a futtatási csoport neve egy folyamatazonosítót használ. Lásd a következő kódot:
A SageMaker folyamatok biztonságos futtatása privát VPC-n belül
Az ML-munkaterhelések biztonsága érdekében a legjobb gyakorlat, ha a SageMaker Pipelines által szervezett feladatokat biztonságos hálózati konfigurációban telepíti egy privát VPC-n, privát alhálózatokon és biztonsági csoportokon belül. A biztonságos környezet használatának biztosításához és érvényesítéséhez a következőket hajthatja végre AWS Identity and Access Management (IAM) szabályzata a SageMaker végrehajtó szerep (ezt a szerepet vállalja a folyamat során a folyamat). Hozzáadhatja azt a házirendet is, amely a SageMaker Pipelines által szervezett feladatokat hálózati elkülönített módban futtatja.
Példát a folyamat megvalósítására ezekkel a biztonsági ellenőrzésekkel a következő helyen talál Munkák összehangolása, modellregisztráció és folyamatos telepítés az Amazon SageMakerrel biztonságos környezetben.
Kövesse nyomon a folyamatok futtatásának költségeit címkék segítségével
A SageMaker csővezetékek használata önmagában ingyenes; fizetnie kell a számítási és tárolási erőforrásokért, amelyeket az egyes folyamatlépések, például a feldolgozás, a betanítás és a kötegelt következtetés részeként állít elő. A folyamatonkénti költségek összesítéséhez használhatja címkék minden erőforrást létrehozó folyamatlépésben. Ezekre a címkékre ezután hivatkozni lehet a költségfeltáróban a folyamat teljes üzemeltetési költségének szűréséhez és összesítéséhez, amint az a következő példában látható:
A költségfeltáróból most megkaphatja a költséget a címke alapján szűrve:
Tervezési minták néhány gyakori forgatókönyvhöz
Ebben a részben a SageMaker Pipelines néhány gyakori használati esetére vonatkozó tervezési mintákat tárgyaljuk.
Futtasson egy könnyű Python-függvényt Lambda lépéssel
A Python függvények mindenütt jelen vannak az ML munkafolyamatokban; előfeldolgozásban, utófeldolgozásban, értékelésben stb. használják. A Lambda egy kiszolgáló nélküli számítási szolgáltatás, amely lehetővé teszi a kód futtatását kiszolgálók kiépítése vagy kezelése nélkül. A Lambda segítségével kódot futtathat a kívánt nyelven, amely magában foglalja a Pythont is. Ezzel egyéni Python-kódot futtathat a folyamat részeként. Lambda lépés lehetővé teszi a Lambda funkciók futtatását a SageMaker folyamat részeként. Kezdje a következő kóddal:
Hozza létre a Lambda függvényt a A SageMaker Python SDK Lambda segítője:
Hívja a Lambda lépést:
Adatok átadása a lépések között
A folyamat lépéseihez tartozó bemeneti adatok vagy egy elérhető adathely, vagy a folyamatban lévő előző lépések valamelyike által generált adatok. Ezt az információt megadhatja a ProcessingInput
paraméter. Nézzünk meg néhány forgatókönyvet a ProcessingInput használatára vonatkozóan.
1. forgatókönyv: Adja át egy lambda-lépés kimenetét (primitív adattípusok) egy feldolgozási lépésnek
A primitív adattípusok olyan skaláris adattípusokra vonatkoznak, mint a string, integer, Boolean és float.
A következő kódrészlet egy Lambda függvényt határoz meg, amely primitív adattípusú változók szótárát adja vissza. A Lambda-függvénykód a kulcs-érték párokból álló JSON-kódot adja vissza, ha a SageMaker folyamat Lambda lépéséből hívja meg.
A folyamat definíciójában ezután megadhat egy adott adattípusú SageMaker folyamatparamétereket, és beállíthatja a változót a Lambda függvény kimenetére:
2. forgatókönyv: Adja át egy lambda-lépés kimenetét (nem primitív adattípusok) egy feldolgozási lépésnek
A nem primitív adattípusok nem skaláris adattípusokra utalnak (pl. NamedTuple
). Előfordulhat olyan helyzet, amikor egy Lambda-függvényből nem primitív adattípust kell visszaadnia. Ehhez a nem primitív adattípust karakterláncra kell konvertálnia:
Ezután ezt a karakterláncot használhatja bemenetként a folyamat egy következő lépéséhez. A megnevezett sor használatához a kódban használja a eval()
a Python kifejezés elemzéséhez a karakterláncban:
3. forgatókönyv: Adja át egy lépés kimenetét egy tulajdonságfájlon
A feldolgozási lépés kimenetét is tárolhatja a tulajdonság JSON fájl downstream fogyasztásra a ConditionStep
vagy egy másik ProcessingStep
. Használhatja a JSONGet függvény lekérdezni a ingatlan fájl. Lásd a következő kódot:
Tegyük fel, hogy a tulajdonságfájl tartalma a következő volt:
Ebben az esetben lekérdezhető egy adott érték, és a következő lépésekben használható a JsonGet függvény segítségével:
Paraméterezzen egy változót a folyamat definíciójában
Gyakran kívánatos a változók paraméterezése, hogy azok futás közben is használhatók legyenek – például egy S3 URI létrehozásához. Paraméterezhet egy karakterláncot úgy, hogy az kiértékelésre kerüljön futás közben a következővel Join
funkció. A következő kódrészlet bemutatja, hogyan kell meghatározni a változót a Join
függvényt, és ezzel állítsa be a kimeneti helyet egy feldolgozási lépésben:
Futtasson párhuzamos kódot egy iterálható elemen
Egyes ML-munkafolyamatok párhuzamos for-ciklusokban futtatják a kódot egy statikus elemkészleten (an megismételhető). Ez lehet ugyanaz a kód, amely különböző adatokon fut, vagy egy másik kódrészlet, amelyet minden egyes elemhez le kell futtatni. Például, ha egy fájlban nagyon sok sor van, és fel akarja gyorsítani a feldolgozási időt, támaszkodhat az előbbi mintára. Ha különböző átalakításokat szeretne végrehajtani az adatok bizonyos alcsoportjain, előfordulhat, hogy az adatok minden alcsoportjához más kódrészletet kell futtatnia. A következő két forgatókönyv bemutatja, hogyan tervezhet SageMaker-folyamatokat erre a célra.
1. forgatókönyv: Valósítson meg egy feldolgozási logikát az adatok különböző részein
Egy feldolgozási feladatot több példányban is futtathat (beállítással instance_count
1-nél nagyobb értékre). Ez elosztja az Amazon S3 bemeneti adatait az összes feldolgozási példányban. Ezután egy parancsfájl (process.py) segítségével dolgozhat az adatok egy meghatározott részén a példányszám és az elemek listájának megfelelő eleme alapján. A process.py programozási logikája felírható úgy, hogy a feldolgozott elemek listájától függően egy másik modul vagy kódrészlet fut le. A következő példa egy ProcessingStepben használható processzort határoz meg:
2. forgatókönyv: Futtassa le a lépések sorozatát
Ha van egy lépéssorozat, amelyet párhuzamosan kell futtatni, minden sorozatot független SageMaker folyamatként határozhat meg. Ezeknek a SageMaker-folyamatoknak a futtatása ezután elindítható egy Lambda függvényből, amely egy LambdaStep
a szülőfolyamatban. A következő kódrészlet azt a forgatókönyvet szemlélteti, amikor két különböző SageMaker-folyamat fut:
Következtetés
Ebben a bejegyzésben megvitattunk néhány bevált gyakorlatot a SageMaker csővezetékek hatékony használatához és karbantartásához. Biztosítottunk bizonyos mintákat is, amelyeket átvehet a SageMaker Pipelines munkafolyamatok tervezése során, akár új folyamatokat készít, akár ML-munkafolyamatokat költöztet át más hangszerelési eszközökből. A SageMaker Pipelines ML-munkafolyamatok összehangolásához való használatának megkezdéséhez tekintse meg a kódminták a GitHubon és a Amazon SageMaker modellépítő csővezetékek.
A szerzőkről
Pinak Panigrahi együttműködik az ügyfelekkel, hogy gépi tanulásra támaszkodó megoldásokat építsenek a stratégiai üzleti problémák megoldására az AWS-en. Ha nem a gépi tanulással van elfoglalva, akkor kirándulni, könyvet olvasni vagy sportokat nézni.
Meenakshisundaram Thandavarayan az AWS-nél dolgozik AI/ML specialistaként. Szenvedélye az emberközpontú adat- és elemzési tapasztalatok tervezése, létrehozása és népszerűsítése. A Meena a fenntartható rendszerek fejlesztésére összpontosít, amelyek mérhető, versenyelőnyöket biztosítanak az AWS stratégiai ügyfelei számára. Meena egy összekötő, tervező, és arra törekszik, hogy az innováció, az inkubáció és a demokratizálódás révén új munkamódszerek felé terelje az üzletet.
- 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.
- PlatoHealth. Biotechnológiai és klinikai vizsgálatok intelligencia. Hozzáférés itt.
- ChartPrime. Emelje fel kereskedési játékát a ChartPrime segítségével. 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/best-practices-and-design-patterns-for-building-machine-learning-workflows-with-amazon-sagemaker-pipelines/
- :van
- :is
- :nem
- :ahol
- $ UP
- 1
- 100
- 11
- 13
- 15%
- 150
- 16
- 17
- 19
- 20
- 22
- 28
- 7
- 8
- 9
- a
- képesség
- hozzáférés
- hozzáférhető
- elért
- Akció
- hozzá
- címzés
- elfogadja
- Elfogadása
- előnyei
- Után
- adalékanyag
- Minden termék
- lehetővé teszi, hogy
- Is
- amazon
- Amazon SageMaker
- Amazon SageMaker csővezetékek
- Az Amazon Web Services
- an
- analitika
- és a
- Másik
- api
- Alkalmazás
- megfelelő
- VANNAK
- AS
- feltételezni
- feltételezte
- At
- szerző
- elérhető
- AWS
- alapján
- BE
- hogy
- BEST
- legjobb gyakorlatok
- között
- könyv
- épít
- Épület
- üzleti
- by
- TUD
- eset
- esetek
- bizonyos
- vásárló
- kód
- gyűjtemény
- Közös
- versenyképes
- Kiszámít
- feltétel
- Configuration
- konstrukció
- fogyasztás
- tartalom
- kontextus
- folyamatos
- ellenőrzések
- Kényelmes
- megtérít
- Megfelelő
- Költség
- költséghatékony
- kiadások
- teremt
- teremt
- létrehozása
- szokás
- Ügyfelek
- szabott
- dátum
- adatkészletek
- Megfejtés
- meghatározott
- Annak meghatározása,
- meghatározó
- definíció
- definíciók
- szállít
- demokratizálás
- attól
- telepíteni
- bevetés
- Design
- tervezési minták
- tervezés
- részletek
- fejlesztők
- fejlesztése
- Fejlesztés
- különböző
- méretek
- megvitatni
- tárgyalt
- do
- ne
- hajtás
- hajtott
- alatt
- minden
- könnyen
- hatás
- hatékony
- bármelyik
- elem
- lehetővé teszi
- végén
- érvényesíteni
- biztosítására
- Szervezetek
- Környezet
- értékelték
- értékelés
- esemény
- Minden
- példa
- példák
- végrehajtás
- tapasztalat
- Tapasztalatok
- kísérlet
- felfedező
- kifejezés
- kivonat
- kevés
- filé
- szűrő
- Úszó
- követ
- következő
- A
- Korábbi
- talált
- Ingyenes
- ból ből
- teljesen
- funkció
- funkciók
- generált
- kap
- nagyobb
- Csoport
- Csoportok
- Legyen
- he
- Túra
- Hogyan
- How To
- HTML
- http
- HTTPS
- ID
- Identitás
- if
- illusztrálja
- végre
- végrehajtás
- munkagépek
- importál
- javul
- in
- tartalmaz
- magában foglalja a
- Beleértve
- INKUBÁCIÓ
- független
- egyéni
- információ
- Innováció
- bemenet
- példa
- helyette
- integrált
- integrálása
- kölcsönható
- bele
- hivatkozni
- szigetelés
- IT
- tételek
- iterációk
- ITS
- maga
- Munka
- Állások
- json
- Kulcs
- nyelv
- nagy
- nagyobb
- tanulás
- Lets
- életciklus
- könnyűsúlyú
- mint
- Lista
- betöltés
- helyi
- helyileg
- elhelyezkedés
- logika
- néz
- gép
- gépi tanulás
- karbantartás
- csinál
- sikerült
- vezetés
- kezelése
- Maximize
- Lehet..
- mód
- esetleg
- vándorló
- ML
- Mód
- modell
- Modulok
- havi
- több
- a legtöbb
- többszörös
- név
- Nevezett
- elnevezési
- Szükség
- igények
- hálózat
- Új
- Most
- szám
- tárgy
- objektumok
- szerez
- of
- Ajánlatok
- gyakran
- on
- ONE
- operatív
- or
- hangszerelt
- hangszerelés
- Szervezett
- szervező
- Más
- teljesítmény
- felett
- párok
- Párhuzamos
- paraméter
- paraméterek
- rész
- elhalad
- szenvedély
- Mintás
- minták
- Fizet
- mert
- Teljesít
- darab
- csővezeték
- Hely
- Plató
- Platón adatintelligencia
- PlatoData
- politika
- porció
- állás
- gyakorlat
- gyakorlat
- előnyben részesített
- előző
- primitív
- magán
- problémák
- folyamat
- Folyamatok
- feldolgozás
- Processzor
- Programozás
- kellene támogatnia,
- ingatlanait
- ingatlan
- ad
- feltéve,
- biztosít
- cél
- Piton
- Quick
- Olvasás
- utal
- Bejegyzés
- szabályos
- támaszkodnak
- követelmény
- követelmények
- forrás
- Tudástár
- válasz
- visszatérés
- visszatérő
- Visszatér
- Szerep
- futás
- fut
- s
- sagemaker
- SageMaker csővezetékek
- azonos
- forgatókönyv
- forgatókönyvek
- forgatókönyv
- zökkenőmentes
- Rész
- biztonság
- biztonság
- lát
- Sorozat
- vagy szerver
- Szerverek
- szolgáltatás
- Szolgáltatások
- ülés
- készlet
- beállítás
- kellene
- mutatott
- Műsorok
- Hasonlóképpen
- Egyszerű
- kisebb
- töredék
- So
- Megoldások
- SOLVE
- néhány
- szakember
- különleges
- meghatározott
- sebesség
- Centrifugálás
- Sport
- kezdet
- kezdődött
- nyilatkozat
- Lépés
- Lépései
- tárolás
- tárolni
- Stratégiai
- stratégiai üzlet
- áramvonal
- Húr
- arra törekszik,
- struktúra
- alhálózatok
- későbbi
- ilyen
- fenntartható
- Systems
- TAG
- bevétel
- kipróbált
- mint
- hogy
- A
- Őket
- akkor
- Ott.
- Ezek
- ők
- gondolkodó
- ezt
- Keresztül
- idő
- időbélyeg
- nak nek
- szerszámok
- Végösszeg
- vágány
- Vonat
- Képzések
- Átalakítás
- transzformációk
- próba
- kiváltó
- váltott
- igaz
- kettő
- típus
- típusok
- alatt
- egyedi
- -ig
- Használat
- használ
- használt
- használ
- segítségével
- érték
- Értékek
- változó
- változat
- verzió
- nagyon
- akar
- őrzés
- Út..
- módon
- we
- háló
- webes szolgáltatások
- voltak
- amikor
- vajon
- míg
- lesz
- val vel
- belül
- nélkül
- Munka
- munkafolyamat
- munkafolyamatok
- dolgozó
- művek
- világ
- írott
- te
- A te
- zephyrnet