Nylig utvikling innen maskinlæring (ML) har ført til stadig større modeller, hvorav noen krever hundrevis av milliarder av parametere. Selv om de er kraftigere, krever opplæring og slutning om disse modellene betydelige beregningsressurser. Til tross for tilgjengeligheten av avanserte distribuerte treningsbiblioteker, er det vanlig at trenings- og slutningsjobber trenger hundrevis av akseleratorer (GPUer eller spesialbygde ML-brikker som f.eks. AWS Trainium og AWS slutning), og derfor titalls eller hundrevis av forekomster.
I slike distribuerte miljøer blir observerbarhet av både forekomster og ML-brikker nøkkelen til finjustering av modellytelse og kostnadsoptimalisering. Beregninger lar team forstå arbeidsbelastningsatferd og optimalisere ressursallokering og utnyttelse, diagnostisere uregelmessigheter og øke den generelle infrastruktureffektiviteten. For dataforskere er utnyttelse og metning av ML-brikker også relevant for kapasitetsplanlegging.
Dette innlegget leder deg gjennom Åpen kildekode-observasjonsmønster for AWS Inferentia, som viser deg hvordan du overvåker ytelsen til ML-brikker, brukt i en Amazon Elastic Kubernetes-tjeneste (Amazon EKS) klynge, med dataplannoder basert på Amazon Elastic Compute Cloud (Amazon EC2) forekomster av typen Inf1 og Inf2.
Mønsteret er en del av AWS CDK Observability Accelerator, et sett med meningsfulle moduler som hjelper deg med å angi observerbarhet for Amazon EKS-klynger. AWS CDK Observability Accelerator er organisert rundt mønstre, som er gjenbrukbare enheter for å distribuere flere ressurser. Åpen kildekode observerbarhet sett med mønstre instrumenter observerbarhet med Amazon administrerte Grafana dashbord, en AWS Distro for OpenTelemetry samler for å samle beregninger, og Amazon Managed Service for Prometheus å lagre dem.
Løsningsoversikt
Følgende diagram illustrerer løsningsarkitekturen.
Denne løsningen distribuerer en Amazon EKS-klynge med en nodegruppe som inkluderer Inf1-forekomster.
AMI-typen til nodegruppen er AL2_x86_64_GPU
, som bruker Amazon EKS-optimalisert akselerert Amazon Linux AMI. I tillegg til standard Amazon EKS-optimalisert AMI-konfigurasjon, inkluderer den akselererte AMI NeuronX kjøretid.
For å få tilgang til ML-brikkene fra Kubernetes, distribuerer mønsteret AWS nevron enhetsplugin.
Beregninger er utsatt for Amazon Managed Service for Prometheus av neuron-monitor
DaemonSet, som distribuerer en minimal beholder, med Nevronverktøy installert. Nærmere bestemt neuron-monitor
DaemonSet kjører neuron-monitor
kommando ledet inn i neuron-monitor-prometheus.py
følgeskript (begge kommandoene er en del av beholderen):
Kommandoen bruker følgende komponenter:
neuron-monitor
samler inn beregninger og statistikk fra Neuron-applikasjonene som kjører på systemet og strømmer de innsamlede dataene til stdout i JSON-formatneuron-monitor-prometheus.py
kartlegger og eksponerer telemetridata fra JSON-format til Prometheus-kompatibelt format
Data visualiseres i Amazon Managed Grafana av det tilsvarende dashbordet.
Resten av oppsettet for å samle inn og visualisere beregninger med Amazon Managed Service for Prometheus og Amazon Managed Grafana ligner på det som brukes i andre åpen kildekodebaserte mønstre, som er inkludert i AWS Observability Accelerator for CDK
GitHub-depot.
Forutsetninger
Du trenger følgende for å fullføre trinnene i dette innlegget:
Sett opp miljøet
Fullfør følgende trinn for å konfigurere miljøet ditt:
- Åpne et terminalvindu og kjør følgende kommandoer:
- Hent arbeidsområde-ID-ene til et eksisterende Amazon Managed Grafana-arbeidsområde:
Følgende er vårt eksempelutgang:
- Tilordne verdiene til
id
ogendpoint
til følgende miljøvariabler:
COA_AMG_ENDPOINT_URL
trenger å inkludere https://
.
- Opprett en Grafana API-nøkkel fra Amazon Managed Grafana-arbeidsområdet:
- Sett opp en hemmelighet i AWS systemansvarlig:
Hemmeligheten vil få tilgang til External Secrets-tillegget og gjøres tilgjengelig som en innebygd Kubernetes-hemmelighet i EKS-klyngen.
Bootstrap AWS CDK-miljøet
Det første trinnet til enhver AWS CDK-distribusjon er oppstart av miljøet. Du bruker cdk bootstrap
kommando i AWS CDK CLI for å forberede miljøet (en kombinasjon av AWS-konto og AWS-region) med ressurser som kreves av AWS CDK for å utføre distribusjoner i det miljøet. AWS CDK bootstrapping er nødvendig for hver konto og region-kombinasjon, så hvis du allerede har bootstrapping AWS CDK i en region, trenger du ikke å gjenta bootstrapping-prosessen.
Distribuere løsningen
Fullfør følgende trinn for å distribuere løsningen:
- Klone cdk-aws-observasjonsakselerator repository og installer avhengighetspakkene. Dette depotet inneholder AWS CDK v2-kode skrevet i TypeScript.
De faktiske innstillingene for Grafana dashboard JSON-filer forventes å bli spesifisert i AWS CDK-konteksten. Du må oppdatere context
i cdk.json
fil, som ligger i gjeldende katalog. Plasseringen av dashbordet er spesifisert av fluxRepository.values.GRAFANA_NEURON_DASH_URL
parameter, og neuronNodeGroup
brukes til å angi forekomsttype, nummer og Amazon Elastic Block Store (Amazon EBS) størrelse brukt for nodene.
- Skriv inn følgende kodebit i
cdk.json
, erstattecontext
:
Du kan erstatte Inf1-forekomsttypen med Inf2 og endre størrelsen etter behov. For å sjekke tilgjengeligheten i den valgte regionen, kjør følgende kommando (endre Values
slik du synes):
- Installer prosjektavhengighetene:
- Kjør følgende kommandoer for å distribuere åpen kildekode-observasjonsmønsteret:
Bekreft løsningen
Fullfør følgende trinn for å validere løsningen:
- Kjør
update-kubeconfig
kommando. Du skal kunne hente kommandoen fra utdatameldingen til forrige kommando:
- Bekreft ressursene du opprettet:
Følgende skjermbilde viser vårt eksempelutgang.
- Sørg for at
neuron-device-plugin-daemonset
DaemonSet kjører:
Følgende er vårt forventede resultat:
- Bekreft at
neuron-monitor
DaemonSet kjører:
Følgende er vårt forventede resultat:
- For å bekrefte at Neuron-enhetene og -kjernene er synlige, kjør
neuron-ls
ogneuron-top
kommandoer fra for eksempel nevronmonitor-poden (du kan få podens navn fra utdataene tilkubectl get pods -A
):
Følgende skjermbilde viser vår forventede produksjon.
Følgende skjermbilde viser vår forventede produksjon.
Visualiser data ved hjelp av Grafana Neuron-dashbordet
Logg på ditt Amazon Managed Grafana-arbeidsområde og naviger til Instrumentbord panel. Du bør se et dashbord kalt Nevron / Monitor.
For å se noen interessante beregninger på Grafana-dashbordet bruker vi følgende manifest:
Dette er et eksempel på en arbeidsmengde som kompilerer torchvision ResNet50-modell og kjører repeterende inferens i en sløyfe for å generere telemetridata.
For å bekrefte at poden ble distribuert, kjør følgende kode:
Du bør se en pod som heter pytorch-inference-resnet50
.
Etter noen minutter ser du inn i Nevron / Monitor dashbord, bør du se de innsamlede beregningene som ligner på følgende skjermbilder.
Grafana Operator og Flux jobber alltid sammen for å synkronisere dashbordene dine med Git. Hvis du sletter dashbordene ved et uhell, blir de klargjort på nytt automatisk.
Rydd opp
Du kan slette hele AWS CDK-stabelen med følgende kommando:
konklusjonen
I dette innlegget viste vi deg hvordan du introduserer observerbarhet, med åpen kildekodeverktøy, i en EKS-klynge med et dataplan som kjører EC2 Inf1-forekomster. Vi startet med å velge Amazon EKS-optimalisert akselerert AMI for dataplannodene, som inkluderer Neuron container runtime, som gir tilgang til AWS Inferentia og Trainium Neuron enheter. Deretter, for å eksponere Neuron-kjernene og enhetene for Kubernetes, distribuerte vi Neuron-enhetsplugin. Selve innsamlingen og kartleggingen av telemetridata til Prometheus-kompatibelt format ble oppnådd via neuron-monitor
og neuron-monitor-prometheus.py
. Beregninger ble hentet fra Amazon Managed Service for Prometheus og vist på Neuron-dashbordet til Amazon Managed Grafana.
Vi anbefaler at du utforsker ytterligere observerbarhetsmønstre i AWS Observability Accelerator for CDK GitHub repo. For å lære mer om Neuron, se AWS Neuron Dokumentasjon.
om forfatteren
Riccardo Freschi er Sr. Solutions Architect hos AWS, med fokus på applikasjonsmodernisering. Han jobber tett med partnere og kunder for å hjelpe dem med å transformere IT-landskapet deres på reisen til AWS Cloud ved å omstrukturere eksisterende applikasjoner og bygge nye.
- SEO-drevet innhold og PR-distribusjon. Bli forsterket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk deg selv. Tilgang her.
- PlatoAiStream. Web3 Intelligence. Kunnskap forsterket. Tilgang her.
- PlatoESG. Karbon, CleanTech, Energi, Miljø, Solenergi, Avfallshåndtering. Tilgang her.
- PlatoHelse. Bioteknologisk og klinisk etterretning. Tilgang her.
- kilde: https://aws.amazon.com/blogs/machine-learning/open-source-observability-for-aws-inferentia-nodes-within-amazon-eks-clusters/
- :er
- $OPP
- 09
- 1
- 100
- 15%
- 20
- 23
- 30
- 600
- 7
- 8
- 9
- 900
- a
- I stand
- Om oss
- ovenfor
- akselerert
- akselerator
- akseleratorer
- adgang
- aksesseres
- ulykke
- Logg inn
- oppnådd
- aktiv
- faktiske
- Tillegg
- tillegg
- Ytterligere
- admin
- avansert
- alder
- allokering
- tillate
- allerede
- også
- Selv
- alltid
- Amazon
- Amazon EC2
- Amazon administrerte Grafana
- Amazon Web Services
- an
- og
- abnormiteter
- noen
- api
- Søknad
- søknader
- Påfør
- arkitektur
- ER
- rundt
- AS
- At
- Autentisering
- automatisk
- tilgjengelighet
- tilgjengelig
- AWS
- AWS slutning
- basert
- BE
- blir
- atferd
- milliarder
- Blokker
- Bootstrap
- bootstrapping
- både
- bygge
- Bygning
- by
- CAN
- Kan få
- Kapasitet
- CD
- endring
- sjekk
- chips
- cli
- tett
- Cloud
- Cluster
- kode
- samle
- samling
- oppsamler
- innsamler
- COM
- kombinasjon
- kommando
- Felles
- følgesvenn
- fullføre
- komponenter
- beregnings
- Beregn
- Konfigurasjon
- Container
- inneholder
- kontekst
- Tilsvarende
- Kostnad
- opprettet
- Gjeldende
- Kunder
- dashbord
- oversikter
- dato
- avhengig
- Avhengighet
- utplassere
- utplassert
- utplasserings
- distribusjon
- distribusjoner
- Distribueres
- beskrivelse
- ønsket
- Til tross for
- utviklingen
- enhet
- Enheter
- diagram
- katalog
- vises
- distribueres
- distribuert opplæring
- ikke
- e
- hver enkelt
- effektivitet
- Endpoint
- Miljø
- miljøer
- eksempel
- eksisterende
- forventet
- utforske
- eksportere
- utsatt
- utvendig
- Featuring
- Noen få
- filet
- Filer
- Først
- passer
- FLUX
- fokusering
- etter
- Til
- format
- fra
- samlet
- generere
- få
- gå
- GitHub
- GPU
- Gruppe
- Ha
- he
- hjelpe
- Hvordan
- Hvordan
- HTML
- http
- HTTPS
- Hundrevis
- i
- ID
- ids
- if
- illustrerer
- in
- I andre
- inkludere
- inkludert
- inkluderer
- Inkludert
- Øke
- stadig
- Infrastruktur
- installere
- installerte
- f.eks
- instrumenter
- interessant
- inn
- introdusere
- IT
- Jobb
- reise
- JSON
- nøkkel
- landskap
- stor
- LÆRE
- læring
- Led
- bibliotekene
- linux
- ligger
- plassering
- ser
- maskin
- maskinlæring
- laget
- Hoved
- gjøre
- fikk til
- kartlegging
- Kart
- melding
- Metrics
- minimal
- minutter
- ML
- modell
- modeller
- modernisering
- modifisert
- Moduler
- Overvåke
- mer
- flere
- navn
- oppkalt
- innfødt
- Naviger
- Trenger
- nødvendig
- behov
- Ny
- node
- noder
- Antall
- of
- on
- seg
- åpen
- åpen kildekode
- operatør
- sta
- optimalisering
- Optimalisere
- optimalisert
- or
- Organisert
- Annen
- vår
- produksjon
- samlet
- pakker
- panel
- parameter
- parametere
- del
- partnere
- banen
- Mønster
- mønstre
- Utfør
- ytelse
- fly
- planlegging
- plato
- Platon Data Intelligence
- PlatonData
- plugg inn
- Post
- kraftig
- Forbered
- forrige
- prosess
- prosjekt
- protokollen
- tilbydere
- gi
- klar
- anbefaler
- referere
- region
- relevant
- gjenta
- repeterende
- erstatte
- Repository
- krever
- påkrevd
- ressurs
- Ressurser
- REST
- gjenbruk
- Kjør
- rennende
- går
- runtime
- sample
- forskere
- skjermbilder
- script
- Secret
- hemmeligheter
- se
- valgt
- velge
- tjeneste
- Tjenester
- sett
- innstillinger
- oppsett
- bør
- viste
- Viser
- signifikant
- lignende
- Størrelse
- tekstutdrag
- So
- løsning
- Solutions
- noen
- kilde
- hentet
- spesielt
- spesifisert
- stable
- Standard
- startet
- stats
- status
- Trinn
- Steps
- oppbevare
- bekker
- vellykket
- slik
- sikker
- system
- Systemer
- lag
- titus
- terminal
- tekst
- Det
- De
- deres
- Dem
- deretter
- derfor
- de
- denne
- De
- Gjennom
- til
- sammen
- Kurs
- Transform
- typen
- Loggfila
- forstå
- lomper
- up-to-date
- Oppdater
- bruke
- brukt
- bruker
- ved hjelp av
- VALIDERE
- Verdier
- verifisere
- av
- synlig
- visualisere
- vandringer
- var
- we
- web
- webtjenester
- var
- hvilken
- hele
- vil
- vindu
- med
- innenfor
- uten
- Arbeid
- arbeide sammen
- virker
- skrevet
- Du
- Din
- zephyrnet