Amazonski cevovodi SageMaker je v celoti upravljana storitev AWS za gradnjo in usmerjanje delovnih tokov strojnega učenja (ML). SageMaker Pipelines ponuja razvijalcem aplikacij ML možnost orkestriranja različnih korakov delovnega toka ML, vključno z nalaganjem podatkov, transformacijo podatkov, usposabljanjem, prilagajanjem in uvajanjem. SageMaker Pipelines lahko uporabite za orkestriranje opravil ML v SageMakerju in njegovem integracija z večjim ekosistemom AWS omogoča tudi uporabo virov, kot je AWS Lambda funkcije, Amazonski EMR delovna mesta in še več. To vam omogoča, da zgradite prilagojen in ponovljiv cevovod za posebne zahteve v vaših potekih dela ML.
V tej objavi ponujamo nekaj najboljših praks za povečanje vrednosti SageMaker Pipelines in omogočanje brezhibne razvojne izkušnje. Razpravljamo tudi o nekaterih pogostih načrtovalskih scenarijih in vzorcih pri izdelavi cevovodov SageMaker in nudimo primere za njihovo obravnavo.
Najboljše prakse za SageMaker Pipelines
V tem razdelku razpravljamo o nekaterih najboljših praksah, ki jih je mogoče upoštevati pri načrtovanju delovnih tokov z uporabo SageMaker Pipelines. Če jih sprejmete, lahko izboljšate razvojni proces in poenostavite operativno upravljanje SageMaker Pipelines.
Uporabite Pipeline Session za počasno nalaganje cevovoda
Pipeline Session omogoča leno inicializacijo virov cevovoda (opravila se ne zaženejo do izvajalnega časa cevovoda). The PipelineSession
kontekst podeduje Seja SageMaker in izvaja priročne metode za interakcijo z drugimi entitetami in viri SageMaker, kot so delovna mesta za usposabljanje, končne točke, vhodni nizi podatkov v Preprosta storitev shranjevanja Amazon (Amazon S3) in tako naprej. Ko definirate cevovode SageMaker, uporabite PipelineSession
na redni seji SageMaker:
Izvedite cevovode v lokalnem načinu za stroškovno učinkovite in hitre iteracije med razvojem
Lahko vodite a cevovod v lokalnem načinu uporabi LocalPipelineSession
kontekstu. V tem načinu se cevovod in opravila izvajajo lokalno z uporabo virov na lokalnem računalniku namesto virov, ki jih upravlja SageMaker. Lokalni način zagotavlja stroškovno učinkovit način ponavljanja kode cevovoda z manjšo podmnožico podatkov. Ko je cevovod lokalno preizkušen, ga je mogoče prilagoditi za delovanje z uporabo PipelineSession kontekst.
Upravljajte cevovod SageMaker prek različic
Različice artefaktov in definicij cevovoda so pogosta zahteva v življenjskem ciklu razvoja. Ustvarite lahko več različic cevovoda tako, da objekte cevovoda poimenujete z edinstveno predpono ali pripono, pri čemer je najpogostejši časovni žig, kot je prikazano v naslednji kodi:
Organizirajte in spremljajte potek cevovoda SageMaker z integracijo s SageMaker Experiments
SageMaker Pipelines je mogoče enostavno integrirati Poskusi SageMaker za organiziranje in sledenje potekom cevovoda. To se doseže z določitvijo PipelineExperimentConfig v času ustvarjanja a objekt cevovoda. S tem konfiguracijskim objektom lahko določite ime poskusa in ime poskusa. Podrobnosti o izvajanju cevovoda SageMaker so organizirane v skladu z določenim poskusom in preskusom. Če izrecno ne navedete imena preizkusa, se za ime preizkusa uporabi ime cevovoda. Podobno, če izrecno ne podate preskusnega imena, se za ime poskusne ali izvajalne skupine uporabi ID cevovoda. Oglejte si naslednjo kodo:
Varno zaženite cevovode SageMaker znotraj zasebnega VPC
Da bi zavarovali delovne obremenitve ML, je najboljša praksa razmestiti opravila, ki jih orkestrira SageMaker Pipelines, v varni konfiguraciji omrežja znotraj zasebnega VPC, zasebnih podomrežij in varnostnih skupin. Če želite zagotoviti in uveljaviti uporabo tega varnega okolja, lahko implementirate naslednje AWS upravljanje identitete in dostopa (IAM) politika za Izvršilna vloga SageMaker (to je vloga, ki jo prevzame cevovod med svojim delovanjem). Dodate lahko tudi pravilnik za izvajanje opravil, ki jih orkestrira SageMaker Pipelines, v načinu izolacije omrežja.
Za primer izvajanja cevovoda s temi varnostnimi kontrolami glejte Orkestriranje delovnih mest, registracije modela in neprekinjenega uvajanja z Amazon SageMaker v varnem okolju.
Spremljajte stroške cevovoda z uporabo oznak
Sama uporaba cevovodov SageMaker je brezplačna; plačate za računalniške in pomnilniške vire, ki jih zavrtite kot del posameznih korakov cevovoda, kot so obdelava, usposabljanje in paketno sklepanje. Če želite združiti stroške na potek cevovoda, lahko vključite oznake v vsakem koraku cevovoda, ki ustvari vir. Na te oznake se lahko nato sklicujete v raziskovalcu stroškov za filtriranje in združevanje skupnih stroškov delovanja cevovoda, kot je prikazano v naslednjem primeru:
Iz raziskovalca stroškov lahko zdaj dobite stroške, filtrirane po oznaki:
Oblikovalski vzorci za nekatere običajne scenarije
V tem razdelku razpravljamo o načrtovalskih vzorcih za nekatere običajne primere uporabe cevovodov SageMaker.
Zaženite lahkotno funkcijo Python z uporabo koraka Lambda
Funkcije Pythona so vseprisotne v potekih dela ML; uporabljajo se pri predobdelavi, naknadni obdelavi, vrednotenju itd. Lambda je računalniška storitev brez strežnika, ki vam omogoča izvajanje kode brez zagotavljanja ali upravljanja strežnikov. Z Lambdo lahko izvajate kodo v svojem želenem jeziku, ki vključuje Python. To lahko uporabite za izvajanje kode Python po meri kot del vašega cevovoda. Lambda korak vam omogoča zagon funkcij Lambda kot del vašega cevovoda SageMaker. Začnite z naslednjo kodo:
Ustvarite funkcijo Lambda z uporabo Lambda pomočnik SageMaker Python SDK:
Pokličite korak Lambda:
Prenos podatkov med koraki
Vhodni podatki za korak cevovoda so bodisi dostopna podatkovna lokacija ali podatki, ustvarjeni z enim od prejšnjih korakov v cevovodu. Te informacije lahko posredujete kot a ProcessingInput
parameter. Oglejmo si nekaj scenarijev, kako lahko uporabite ProcessingInput.
Scenarij 1: Prenesite izhod (primitivni tipi podatkov) koraka Lambda v korak obdelave
Primitivni podatkovni tipi se nanašajo na skalarne podatkovne tipe, kot so niz, celo število, logični in plavajoči.
Naslednji delček kode definira funkcijo Lambda, ki vrne slovar spremenljivk s primitivnimi tipi podatkov. Vaša koda funkcije Lambda bo vrnila JSON parov ključ-vrednost, ko bo priklicana iz koraka Lambda v cevovodu SageMaker.
V definiciji cevovoda lahko nato definirate parametre cevovoda SageMaker, ki so določene vrste podatkov, in nastavite spremenljivko na izhod funkcije Lambda:
Scenarij 2: Prenesite izhod (neprimitivni tipi podatkov) koraka Lambda v korak obdelave
Neprimitivni podatkovni tipi se nanašajo na neskalarne podatkovne tipe (npr. NamedTuple
). Morda imate scenarij, ko morate iz funkcije Lambda vrniti neprimitivni podatkovni tip. Če želite to narediti, morate svoj neprimitivni podatkovni tip pretvoriti v niz:
Nato lahko ta niz uporabite kot vhod za naslednji korak v cevovodu. Za uporabo imenovane tuple v kodi uporabite eval()
za razčlenitev izraza Python v nizu:
3. scenarij: posredujte izhod koraka skozi datoteko lastnosti
Izhod koraka obdelave lahko shranite tudi v a lastninska datoteka JSON za nadaljnjo porabo v a ConditionStep
ali drugi ProcessingStep
. Lahko uporabite Funkcija JSONGet povprašati a lastninska datoteka. Glej naslednjo kodo:
Predpostavimo, da je vsebina datoteke lastnosti naslednja:
V tem primeru je mogoče poizvedovati za določeno vrednost in jo uporabiti v naslednjih korakih s funkcijo JsonGet:
Parametrirajte spremenljivko v definiciji cevovoda
Parametriranje spremenljivk, tako da jih je mogoče uporabiti med izvajanjem, je pogosto zaželeno – na primer za izdelavo S3 URI. Niz lahko parametrirate tako, da se ovrednoti med izvajanjem z uporabo Join
funkcijo. Naslednji delček kode prikazuje, kako definirati spremenljivko z uporabo Join
funkcijo in jo uporabite za nastavitev izhodne lokacije v koraku obdelave:
Izvedite vzporedno kodo nad iterable
Nekateri poteki dela ML izvajajo kodo v vzporednih zankah for prek statičnega nabora elementov (an ponovljivo). To je lahko ista koda, ki se izvaja na različnih podatkih, ali drugačen del kode, ki ga je treba izvesti za vsak element. Na primer, če imate zelo veliko vrstic v datoteki in želite pospešiti čas obdelave, se lahko zanesete na prejšnji vzorec. Če želite izvesti različne transformacije na določenih podskupinah v podatkih, boste morda morali zagnati drugačen del kode za vsako podskupino v podatkih. Naslednja dva scenarija prikazujeta, kako lahko načrtujete cevovode SageMaker za ta namen.
Scenarij 1: Izvedite logiko obdelave na različnih delih podatkov
Posel obdelave lahko izvajate z več primerki (z nastavitvijo instance_count
na vrednost večjo od 1). To porazdeli vhodne podatke iz Amazon S3 v vse primerke obdelave. Nato lahko uporabite skript (process.py) za delo na določenem delu podatkov na podlagi številke primerka in ustreznega elementa na seznamu elementov. Programsko logiko v procesu.py je mogoče napisati tako, da se zažene drug modul ali del kode, odvisno od seznama elementov, ki jih obdeluje. Naslednji primer definira procesor, ki ga je mogoče uporabiti v ProcessingStep:
2. scenarij: Zaženite zaporedje korakov
Ko imate zaporedje korakov, ki jih je treba izvajati vzporedno, lahko vsako zaporedje definirate kot neodvisen cevovod SageMaker. Zagon teh cevovodov SageMaker se lahko nato sproži iz funkcije Lambda, ki je del LambdaStep
v nadrejenem cevovodu. Naslednji del kode ponazarja scenarij, kjer se sprožita dva različna izvajanja cevovoda SageMaker:
zaključek
V tej objavi smo razpravljali o nekaterih najboljših praksah za učinkovito uporabo in vzdrževanje cevovodov SageMaker. Zagotovili smo tudi določene vzorce, ki jih lahko sprejmete med načrtovanjem delovnih tokov s SageMaker Pipelines, ne glede na to, ali ustvarjate nove cevovode ali selite delovne tokove ML iz drugih orodij za orkestracijo. Če želite začeti uporabljati SageMaker Pipelines za orkestracijo poteka dela ML, glejte vzorci kode na GitHubu in Cevovodi za gradnjo modelov Amazon SageMaker.
O avtorjih
Pinak Panigrahi sodeluje s strankami pri izdelavi rešitev, ki temeljijo na strojnem učenju, za reševanje strateških poslovnih problemov na AWS. Ko se ne ukvarja s strojnim učenjem, ga lahko najdemo na pohodu, bere knjigo ali gleda šport.
Meenakshisundaram Thandavarayan dela za AWS kot strokovnjak za AI/ML. Ima strast do oblikovanja, ustvarjanja in promocije na človeka osredotočenih podatkov in analitičnih izkušenj. Meena se osredotoča na razvoj trajnostnih sistemov, ki zagotavljajo merljive konkurenčne prednosti za strateške stranke AWS. Meena je povezovalka, oblikovalska misleca in si prizadeva usmeriti podjetja v nove načine dela z inovacijami, inkubacijo in demokratizacijo.
- Distribucija vsebine in PR s pomočjo SEO. Okrepite se še danes.
- PlatoData.Network Vertical Generative Ai. Opolnomočite se. Dostopite tukaj.
- PlatoAiStream. Web3 Intelligence. Razširjeno znanje. Dostopite tukaj.
- PlatoESG. Avtomobili/EV, Ogljik, CleanTech, Energija, Okolje, sončna energija, Ravnanje z odpadki. Dostopite tukaj.
- PlatoHealth. Obveščanje o biotehnologiji in kliničnih preskušanjih. Dostopite tukaj.
- ChartPrime. Izboljšajte svojo igro trgovanja s ChartPrime. Dostopite tukaj.
- BlockOffsets. Posodobitev okoljskega offset lastništva. Dostopite tukaj.
- vir: https://aws.amazon.com/blogs/machine-learning/best-practices-and-design-patterns-for-building-machine-learning-workflows-with-amazon-sagemaker-pipelines/
- :ima
- : je
- :ne
- :kje
- $GOR
- 1
- 100
- 11
- 13
- 15%
- 150
- 16
- 17
- 19
- 20
- 22
- 28
- 7
- 8
- 9
- a
- sposobnost
- dostop
- dostopen
- doseže
- Ukrep
- dodajte
- naslavljanje
- sprejme
- Sprejem
- Prednosti
- po
- agregat
- vsi
- omogoča
- Prav tako
- Amazon
- Amazon SageMaker
- Amazonski cevovodi SageMaker
- Amazon Web Services
- an
- analitika
- in
- Še ena
- API
- uporaba
- primerno
- SE
- AS
- domnevati
- domnevajo
- At
- avtorstvo
- Na voljo
- AWS
- temeljijo
- BE
- počutje
- BEST
- najboljše prakse
- med
- Knjiga
- izgradnjo
- Building
- poslovni
- by
- CAN
- primeru
- primeri
- nekatere
- stranke
- Koda
- Zbirke
- Skupno
- konkurenčno
- Izračunajte
- stanje
- konfiguracija
- gradnjo
- poraba
- Vsebina
- ozadje
- neprekinjeno
- Nadzor
- Priročen
- pretvorbo
- Ustrezno
- strošek
- stroškovno učinkovito
- stroški
- ustvarjajo
- ustvari
- Ustvarjanje
- po meri
- Stranke, ki so
- meri
- datum
- nabor podatkov
- Dešifriraj
- opredeliti
- Določa
- definiranje
- opredelitev
- definicije
- poda
- demokratizacija
- Odvisno
- razporedi
- uvajanje
- Oblikovanje
- oblikovalski vzorci
- oblikovanje
- Podrobnosti
- Razvijalci
- razvoju
- Razvoj
- drugačen
- dimenzije
- razpravlja
- razpravljali
- do
- dont
- pogon
- vozi
- med
- vsak
- enostavno
- učinek
- učinkovite
- bodisi
- element
- omogoča
- konec
- uveljaviti
- zagotovitev
- subjekti
- okolje
- ocenili
- Ocena
- Event
- Tudi vsak
- Primer
- Primeri
- izvedba
- izkušnje
- Doživetja
- poskus
- raziskovalec
- izraz
- ekstrakt
- Nekaj
- file
- filter
- Plavaj
- sledili
- po
- za
- Nekdanji
- je pokazala,
- brezplačno
- iz
- v celoti
- funkcija
- funkcije
- ustvarila
- dobili
- več
- skupina
- Skupine
- Imajo
- he
- Pohod
- Kako
- Kako
- HTML
- http
- HTTPS
- ID
- identiteta
- if
- ponazarja
- izvajati
- Izvajanje
- izvedbe
- uvoz
- izboljšanje
- in
- vključujejo
- vključuje
- Vključno
- INKUBACIJA
- Neodvisni
- individualna
- Podatki
- Inovacije
- vhod
- primer
- Namesto
- integrirana
- Povezovanje
- medsebojno delovanje
- v
- sklican
- izolacija
- IT
- Izdelkov
- ponovitve
- ITS
- sam
- Job
- Delovna mesta
- json
- Ključne
- jezik
- velika
- večja
- učenje
- Lets
- življenski krog
- lahek
- kot
- Seznam
- nalaganje
- lokalna
- lokalno
- kraj aktivnosti
- Logika
- Poglej
- stroj
- strojno učenje
- vzdrževanje
- Znamka
- upravlja
- upravljanje
- upravljanje
- Povečajte
- Maj ..
- Metode
- morda
- selitev
- ML
- način
- Model
- Moduli
- mesečno
- več
- Najbolj
- več
- Ime
- Imenovan
- poimenovanje
- Nimate
- potrebe
- mreža
- Novo
- zdaj
- Številka
- predmet
- predmeti
- pridobi
- of
- Ponudbe
- pogosto
- on
- ONE
- operativno
- or
- orkestrirana
- orkestracijo
- Organizirano
- organiziranje
- Ostalo
- izhod
- več
- parov
- vzporedno
- parameter
- parametri
- del
- mimo
- strast
- Vzorec
- vzorci
- Plačajte
- za
- Izvedite
- kos
- plinovod
- Kraj
- platon
- Platonova podatkovna inteligenca
- PlatoData
- politika
- del
- Prispevek
- praksa
- vaje
- prednostno
- prejšnja
- primitivna
- zasebna
- Težave
- Postopek
- Procesi
- obravnavati
- Procesor
- Programiranje
- spodbujanje
- Lastnosti
- nepremičnine
- zagotavljajo
- če
- zagotavlja
- Namen
- Python
- Hitri
- reading
- glejte
- registracija
- redni
- zanašajo
- zahteva
- Zahteve
- vir
- viri
- Odgovor
- vrnitev
- vrnitev
- vrne
- vloga
- Run
- deluje
- s
- sagemaker
- SageMaker cevovodi
- Enako
- Scenarij
- scenariji
- script
- brezšivne
- Oddelek
- zavarovanje
- varnost
- glej
- Zaporedje
- Brez strežnika
- Strežniki
- Storitev
- Storitve
- Zasedanje
- nastavite
- nastavitev
- shouldnt
- pokazale
- Razstave
- podobno
- Enostavno
- manj
- delček
- So
- rešitve
- SOLVE
- nekaj
- specialist
- specifična
- določeno
- hitrost
- Spin
- Šport
- Začetek
- začel
- Izjava
- Korak
- Koraki
- shranjevanje
- trgovina
- Strateško
- strateško poslovanje
- racionalizirati
- String
- si prizadeva
- Struktura
- podomrežja
- kasneje
- taka
- trajnostno
- sistemi
- TAG
- ob
- Testiran
- kot
- da
- O
- Njih
- POTEM
- Tukaj.
- te
- jih
- mislec
- ta
- skozi
- čas
- Časovni žig
- do
- orodja
- Skupaj za plačilo
- sledenje
- Vlak
- usposabljanje
- Preoblikovanje
- transformacije
- sojenje
- sprožijo
- sprožilo
- Res
- dva
- tip
- Vrste
- pod
- edinstven
- dokler
- Uporaba
- uporaba
- Rabljeni
- uporablja
- uporabo
- vrednost
- Vrednote
- spremenljivka
- različica
- različice
- zelo
- želeli
- gledanju
- način..
- načini
- we
- web
- spletne storitve
- so bili
- kdaj
- ali
- medtem
- bo
- z
- v
- brez
- delo
- potek dela
- delovnih tokov
- deluje
- deluje
- svet
- pisni
- Vi
- Vaša rutina za
- zefirnet