Amazon SageMakeri torujuhtmed on täielikult hallatav AWS-teenus masinõppe (ML) töövoogude ehitamiseks ja korraldamiseks. SageMaker Pipelines pakub ML-i rakenduste arendajatele võimalust korraldada ML-i töövoo erinevaid etappe, sealhulgas andmete laadimist, andmete teisendamist, koolitust, häälestamist ja juurutamist. Saate kasutada SageMakeri torujuhtmeid ML-tööde korraldamiseks SageMakeris ja selles integratsioon suurema AWS-ökosüsteemiga võimaldab kasutada ka selliseid ressursse nagu AWS Lambda funktsioonid Amazon EMR töökohti ja palju muud. See võimaldab teil luua kohandatud ja reprodutseeritava torujuhtme, mis vastab teie ML-i töövoogude konkreetsetele nõuetele.
Selles postituses pakume välja mõned parimad tavad SageMakeri torujuhtmete väärtuse maksimeerimiseks ja arenduskogemuse sujuvaks muutmiseks. Samuti käsitleme SageMakeri torujuhtmete ehitamisel mõningaid levinumaid disainistsenaariume ja mustreid ning pakume näiteid nende lahendamiseks.
SageMakeri torujuhtmete parimad tavad
Selles jaotises käsitleme mõningaid parimaid tavasid, mida saab SageMakeri torujuhtmete abil töövoogude kavandamisel järgida. Nende vastuvõtmine võib parandada arendusprotsessi ja tõhustada SageMakeri torujuhtmete operatiivjuhtimist.
Torujuhtme laisaks laadimiseks kasutage Pipeline Sessioni
Torujuhtme seanss võimaldab konveieri ressursside laisalt initsialiseerida (töid ei käivitata enne konveieri tööaega). The PipelineSession
kontekst pärib SageMakeri seanss ja rakendab mugavaid meetodeid teiste SageMakeri üksuste ja ressurssidega suhtlemiseks, nagu koolitustööd, lõpp-punktid, sisendandmed Amazoni lihtne salvestusteenus (Amazon S3) ja nii edasi. SageMakeri torujuhtmete määratlemisel peaksite kasutama PipelineSession
tavalise SageMakeri seansi ajal:
Kulusäästlikuks ja kiireks iteratsiooniks arenduse ajal käitage torujuhtmeid kohalikus režiimis
Võite joosta a torujuhe kohalikus režiimis kasutades LocalPipelineSession
Sisu. Selles režiimis käitatakse konveierit ja töid kohapeal, kasutades kohaliku masina ressursse, mitte SageMakeri hallatavaid ressursse. Kohalik režiim pakub kulutõhusat viisi konveieri koodi itereerimiseks väiksema andmehulgaga. Pärast seda, kui torujuhet on kohapeal testitud, saab seda skaleerida töötama, kasutades PipelineSession Sisu.
Hallake SageMakeri konveieri versioonimise kaudu
Artefaktide ja torujuhtme definitsioonide versioonide koostamine on arenduse elutsükli tavaline nõue. Saate luua torujuhtme mitu versiooni, nimetades konveieriobjektidele kordumatu ees- või järelliide, millest kõige tavalisem on ajatempel, nagu on näidatud järgmises koodis:
Korraldage ja jälgige SageMakeri konveieri käitamist, integreerides SageMaker Experiments
SageMakeri torujuhtmeid saab hõlpsasti integreerida SageMakeri katsed korraldamise eest ja torujuhtme kulgemise jälgimine. See saavutatakse täpsustades PipelineExperimentConfig loomise ajal a torujuhtme objekt. Selle konfiguratsiooniobjektiga saate määrata katse nime ja prooviversiooni nime. SageMakeri torujuhtme käitamise üksikasjad korraldatakse määratud katse ja prooviversiooni alusel. Kui te ei määra selgesõnaliselt katse nime, kasutatakse katse nimena torujuhtme nime. Samamoodi, kui te ei määra selgesõnaliselt prooviversiooni nime, kasutatakse prooviversiooni või käitamisrühma nime jaoks konveieri käitamise ID-d. Vaadake järgmist koodi:
Käitage SageMakeri torujuhtmeid turvaliselt privaatses VPC-s
ML-i töökoormuste turvamiseks on parim tava juurutada SageMaker Pipelinesi korraldatud tööd turvalises võrgukonfiguratsioonis privaatses VPC-s, privaatsetes alamvõrkudes ja turvarühmades. Selle turvalise keskkonna kasutamise tagamiseks ja jõustamiseks saate rakendada järgmist AWS-i identiteedi- ja juurdepääsuhaldus (IAM) poliitika jaoks SageMakeri täitmise roll (selle rolli võtab torujuhe selle käitamise ajal). Samuti saate lisada poliitika SageMaker Pipelinesi korraldatud tööde käitamiseks võrgu eraldamise režiimis.
Näide torujuhtme rakendamisest, kui need turvakontrollid on paigas, leiate aadressilt Tööde korraldamine, mudeli registreerimine ja pidev juurutamine Amazon SageMakeriga turvalises keskkonnas.
Jälgige konveieri käitamise kulusid siltide abil
SageMakeri torujuhtmete kasutamine iseenesest on tasuta; maksate arvutus- ja salvestusressursside eest, mille loote üksikute konveieri etappide (nt töötlemine, koolitus ja partii järeldused) raames. Kulude koondamiseks torujuhtme käitamise kohta saate lisada silte igas konveieri etapis, mis loob ressurssi. Nendele siltidele saab seejärel kuluuurijas viidata, et filtreerida ja koondada torujuhtme käitamise kogukulu, nagu on näidatud järgmises näites.
Kuluuurijast saate nüüd kulud sildi järgi filtreerida:
Kujundage mustrid mõne levinud stsenaariumi jaoks
Selles jaotises käsitleme SageMakeri torujuhtmete mõningate levinud kasutusjuhtude disainimustreid.
Käivitage kerge Pythoni funktsioon, kasutades lambda sammu
Pythoni funktsioonid on ML-i töövoogudes kõikjal olemas; neid kasutatakse eeltöötlusel, järeltöötlusel, hindamisel jm. Lambda on serverita arvutusteenus, mis võimaldab teil koodi käitada ilma servereid pakkumata või haldamata. Lambda abil saate käivitada koodi eelistatud keeles, mis sisaldab Pythonit. Saate seda kasutada kohandatud Pythoni koodi käivitamiseks torujuhtme osana. Lambda samm võimaldab teil käitada Lambda funktsioone osana oma SageMakeri torustikust. Alustage järgmise koodiga:
Looge lambda funktsioon, kasutades SageMaker Python SDK Lambda abimees:
Helistage lambda sammule:
Andmete edastamine etappide vahel
Konveieri etapi sisendandmed on kas juurdepääsetav andmeasukoht või andmed, mis on genereeritud konveieri mõne eelneva etapiga. Saate selle teabe esitada kui a ProcessingInput
parameeter. Vaatame mõnda stsenaariumi ProcessingInputi kasutamise kohta.
1. stsenaarium: edastage lambda-etapi väljund (primitiivsed andmetüübid) töötlemisetappi
Primitiivsed andmetüübid viitavad skalaarsetele andmetüüpidele, nagu string, täisarv, tõeväärtus ja ujuk.
Järgmine koodilõik määratleb Lambda funktsiooni, mis tagastab primitiivsete andmetüüpidega muutujate sõnastiku. Teie Lambda-funktsiooni kood tagastab võtme-väärtuste paaride JSON-i, kui see käivitatakse SageMakeri konveieri Lambda-etapi kaudu.
Seejärel saate konveieri määratluses määratleda SageMakeri konveieri parameetrid, mis on kindlat tüüpi andmetüüpi, ja määrata muutuja funktsiooni Lambda väljundiks:
2. stsenaarium: edastage lambda-etapi väljund (mitteprimitiivsed andmetüübid) töötlemisetappi
Mitteprimitiivsed andmetüübid viitavad mitteskalaarsetele andmetüüpidele (näiteks NamedTuple
). Teil võib tekkida stsenaarium, kui peate Lambda-funktsioonist tagastama mitteprimitiivse andmetüübi. Selleks peate teisendama oma mitteprimitiivse andmetüübi stringiks:
Seejärel saate seda stringi kasutada konveieri järgmise etapi sisendina. Nimega korteeži kasutamiseks koodis kasutage eval()
Pythoni avaldise sõelumiseks stringis:
3. stsenaarium: suunake sammu väljund läbi atribuudifaili
Saate salvestada ka töötlemisetapi väljundi a atribuudi JSON-fail alltarbimiseks a ConditionStep
vm ProcessingStep
. Võite kasutada Funktsioon JSONGet küsima a vara fail. Vaadake järgmist koodi:
Oletame, et atribuudifaili sisu oli järgmine:
Sel juhul saab seda küsida konkreetse väärtuse jaoks ja kasutada järgmistes etappides, kasutades funktsiooni JsonGet:
Konveieri määratluses muutuja parameetriks muutmine
Muutujate parameetrite muutmine nii, et neid saaks käitamise ajal kasutada, on sageli soovitav, näiteks S3 URI koostamiseks. Saate stringi parameetriks muuta nii, et seda hinnatakse käitusajal, kasutades Join
funktsiooni. Järgmine koodilõik näitab, kuidas defineerida muutujat kasutades Join
funktsiooni ja kasutage seda väljundi asukoha määramiseks töötlemisetapis:
Käivitage paralleelkood üle itereeritava
Mõned ML-i töövood käitavad koodi paralleelselt for-tsüklitena üle staatilise üksuste komplekti (an korratav). See võib olla sama kood, mida käitatakse erinevatel andmetel, või erinev koodilõik, mida tuleb iga üksuse jaoks käitada. Näiteks kui teil on failis väga palju ridu ja soovite töötlusaega kiirendada, võite tugineda endisele mustrile. Kui soovite teha andmete konkreetsetes alamrühmades erinevaid teisendusi, peate võib-olla käivitama iga andmete alamrühma jaoks erineva koodi. Järgmised kaks stsenaariumi illustreerivad, kuidas saate SageMakeri torujuhtmeid selleks otstarbeks kujundada.
1. stsenaarium: rakendage töötlemisloogikat andmete erinevatel osadel
Saate käitada töötlemistööd mitme eksemplariga (määrates instance_count
väärtusele, mis on suurem kui 1). See jagab Amazon S3 sisendandmed kõikidesse töötlemisjuhtumitesse. Seejärel saate kasutada skripti (process.py), et töötada teatud andmete osaga eksemplari numbri ja üksuste loendi vastava elemendi alusel. Programmeerimisloogika failis process.py saab kirjutada nii, et olenevalt töödeldavate üksuste loendist käivitatakse erinev moodul või koodijupp. Järgmine näide määratleb protsessori, mida saab protsessis ProcessingStep kasutada:
2. stsenaarium: käivitage toimingute jada
Kui teil on toimingute jada, mida tuleb paralleelselt käivitada, saate iga jada määratleda iseseisva SageMakeri torujuhtmena. Nende SageMakeri torujuhtmete käitamise saab seejärel käivitada lambda funktsioonist, mis on osa LambdaStep
emakonveieris. Järgmine koodilõik illustreerib stsenaariumi, kus käivitatakse kaks erinevat SageMakeri torujuhtme käitamist:
Järeldus
Selles postituses arutasime mõningaid parimaid tavasid SageMakeri torujuhtmete tõhusaks kasutamiseks ja hooldamiseks. Samuti pakkusime välja teatud mustrid, mida saate SageMaker Pipelinesiga töövoogude kujundamisel kasutada, olenemata sellest, kas loote uusi torujuhtmeid või migreerite ML-töövooge muudest orkestreerimistööriistadest. ML-i töövoo orkestreerimiseks SageMaker Pipelinesiga alustamiseks vaadake koodinäidised GitHubis ja Amazon SageMakeri mudeliehitustorud.
Autoritest
Pinak Panigrahi töötab koos klientidega, et luua masinõppepõhiseid lahendusi, et lahendada strateegilisi äriprobleeme AWS-is. Kui ta pole masinõppega hõivatud, võib teda leida matkamas, raamatut lugemas või sporti vaatamas.
Meenakshisundaram Thandavarayan töötab AWS-is AI/ML spetsialistina. Tal on kirg kujundada, luua ja edendada inimkeskseid andme- ja analüüsikogemusi. Meena keskendub jätkusuutlike süsteemide arendamisele, mis pakuvad AWS-i strateegilistele klientidele mõõdetavaid konkurentsieeliseid. Meena on ühendaja, disainimõtleja ja püüab innovatsiooni, inkubatsiooni ja demokratiseerimise kaudu juhtida äri uutele tööviisidele.
- SEO-põhise sisu ja PR-levi. Võimenduge juba täna.
- PlatoData.Network Vertikaalne generatiivne Ai. Jõustage ennast. Juurdepääs siia.
- PlatoAiStream. Web3 luure. Täiustatud teadmised. Juurdepääs siia.
- PlatoESG. Autod/elektrisõidukid, Süsinik, CleanTech, Energia, Keskkond päikeseenergia, Jäätmekäitluse. Juurdepääs siia.
- PlatoTervis. Biotehnoloogia ja kliiniliste uuringute luureandmed. Juurdepääs siia.
- ChartPrime. Tõsta oma kauplemismängu ChartPrime'iga kõrgemale. Juurdepääs siia.
- BlockOffsets. Keskkonnakompensatsiooni omandi ajakohastamine. Juurdepääs siia.
- Allikas: https://aws.amazon.com/blogs/machine-learning/best-practices-and-design-patterns-for-building-machine-learning-workflows-with-amazon-sagemaker-pipelines/
- :on
- :on
- :mitte
- : kus
- $ UP
- 1
- 100
- 11
- 13
- 15%
- 150
- 16
- 17
- 19
- 20
- 22
- 28
- 7
- 8
- 9
- a
- võime
- juurdepääs
- juurdepääsetav
- saavutada
- tegevus
- lisama
- adresseerimine
- vastu võtma
- Vastuvõtmine
- eelised
- pärast
- agregaat
- Materjal: BPA ja flataatide vaba plastik
- võimaldab
- Ka
- Amazon
- Amazon SageMaker
- Amazon SageMakeri torujuhtmed
- Amazon Web Services
- an
- analytics
- ja
- Teine
- API
- taotlus
- asjakohane
- OLEME
- AS
- eeldab
- oletus
- At
- autor
- saadaval
- AWS
- põhineb
- BE
- on
- BEST
- parimaid tavasid
- vahel
- raamat
- ehitama
- Ehitus
- äri
- by
- CAN
- juhul
- juhtudel
- kindel
- klient
- kood
- Kollektsioonid
- ühine
- konkurentsivõimeline
- Arvutama
- seisund
- konfiguratsioon
- ehitama
- tarbimine
- sisu
- kontekst
- pidev
- kontrolli
- Mugav
- muutma
- Vastav
- Maksma
- kuluefektiivne
- kulud
- looma
- loob
- loomine
- tava
- Kliendid
- kohandatud
- andmed
- andmekogumid
- Dešifreerige
- määratlema
- Määratleb
- määratlemisel
- määratlus
- mõisted
- tarnima
- demokratiseerimine
- Olenevalt
- juurutada
- kasutuselevõtu
- Disain
- kujundusmustrid
- projekteerimine
- detailid
- Arendajad
- arenev
- & Tarkvaraarendus
- erinev
- mõõdud
- arutama
- arutatud
- do
- Ära
- ajam
- ajendatud
- ajal
- iga
- kergesti
- mõju
- tõhus
- kumbki
- element
- võimaldab
- lõpp
- jõustada
- tagama
- üksuste
- keskkond
- hinnatud
- hindamine
- sündmus
- Iga
- näide
- näited
- täitmine
- kogemus
- Kogemused
- eksperiment
- uurija
- väljend
- väljavõte
- vähe
- fail
- filtreerida
- Float
- Järgneb
- Järel
- eest
- endine
- avastatud
- tasuta
- Alates
- täielikult
- funktsioon
- funktsioonid
- loodud
- saama
- suurem
- Grupp
- Grupi omad
- Olema
- he
- Matk
- Kuidas
- Kuidas
- HTML
- http
- HTTPS
- ID
- Identity
- if
- illustreerib
- rakendada
- täitmine
- tööriistad
- import
- parandama
- in
- sisaldama
- hõlmab
- Kaasa arvatud
- INKUBATSIOONI
- sõltumatud
- eraldi
- info
- Innovatsioon
- sisend
- Näiteks
- selle asemel
- integreeritud
- Integreerimine
- suhtlevad
- sisse
- kutsutud
- isolatsioon
- IT
- kirjed
- kordused
- ITS
- ise
- töö
- Tööturg
- Json
- Võti
- keel
- suur
- suurem
- õppimine
- Lets
- eluring
- kerge
- nagu
- nimekiri
- laadimine
- kohalik
- kohapeal
- liising
- loogika
- Vaata
- masin
- masinõpe
- hooldus
- tegema
- juhitud
- juhtimine
- juhtiv
- Maksimeerima
- mai..
- meetodid
- võib
- rändavad
- ML
- viis
- mudel
- moodulid
- igakuine
- rohkem
- kõige
- mitmekordne
- nimi
- Nimega
- nimetamine
- Vajadus
- vajadustele
- võrk
- Uus
- nüüd
- number
- objekt
- esemeid
- saama
- of
- Pakkumised
- sageli
- on
- ONE
- töökorras
- or
- korraldatud
- Korraldus
- Korraldatud
- korraldamine
- Muu
- väljund
- üle
- paari
- Parallel
- parameeter
- parameetrid
- osa
- sooritama
- kirg
- Muster
- mustrid
- Maksma
- kohta
- täitma
- tükk
- torujuhe
- Koht
- Platon
- Platoni andmete intelligentsus
- PlatoData
- poliitika
- osa
- post
- tava
- tavad
- eelistatud
- eelmine
- primitiivne
- era-
- probleeme
- protsess
- Protsessid
- töötlemine
- Protsessor
- Programming
- edendama
- omadused
- kinnisvara
- anda
- tingimusel
- annab
- eesmärk
- Python
- Kiire
- Lugemine
- viitama
- Registreerimine
- regulaarne
- lootma
- nõue
- Nõuded
- ressurss
- Vahendid
- vastus
- tagasipöördumine
- tagasi
- Tulu
- Roll
- jooks
- jookseb
- s
- salveitegija
- SageMakeri torujuhtmed
- sama
- stsenaarium
- stsenaariumid
- käsikiri
- sujuv
- Osa
- kindlustama
- turvalisus
- vaata
- Jada
- Serverita
- Serverid
- teenus
- Teenused
- istung
- komplekt
- kehtestamine
- peaks
- näidatud
- Näitused
- Samamoodi
- lihtne
- väiksem
- jupp
- So
- Lahendused
- LAHENDAGE
- mõned
- spetsialist
- konkreetse
- määratletud
- kiirus
- Spin
- sport
- algus
- alustatud
- väljavõte
- Samm
- Sammud
- ladustamine
- salvestada
- Strateegiline
- strateegiline äri
- kiirendama
- nöör
- püüab
- struktuur
- alamvõrgud
- järgnev
- selline
- jätkusuutlik
- süsteemid
- TAG
- võtmine
- katsetatud
- kui
- et
- .
- Neile
- SIIS
- Seal.
- Need
- nad
- mõtleja
- see
- Läbi
- aeg
- ajatempel
- et
- töövahendid
- Summa
- jälgida
- Rong
- koolitus
- Transformation
- muundumised
- kohtuprotsess
- vallandada
- vallandas
- tõsi
- kaks
- tüüp
- liigid
- all
- ainulaadne
- kuni
- Kasutus
- kasutama
- Kasutatud
- kasutusalad
- kasutamine
- väärtus
- Väärtused
- muutuja
- versioon
- versioonid
- väga
- tahan
- vaadates
- Tee..
- kuidas
- we
- web
- veebiteenused
- olid
- millal
- kas
- kuigi
- will
- koos
- jooksul
- ilma
- Töö
- töövoog
- Töövoogud
- töö
- töötab
- maailm
- kirjalik
- sa
- Sinu
- sephyrnet