Byggfundamentmodeller (FM-er) krever bygging, vedlikehold og optimalisering av store klynger for å trene modeller med titalls til hundrevis av milliarder av parametere på enorme datamengder. Å skape et motstandsdyktig miljø som kan håndtere feil og miljøendringer uten å miste dager eller uker med modelltreningsfremgang er en operasjonell utfordring som krever at du implementerer klyngeskalering, proaktiv helseovervåking, jobbsjekking og evner til å automatisk gjenoppta opplæring dersom feil eller problemer skulle oppstå. .
Vi er glade for å dele det Amazon SageMaker HyperPod er nå generelt tilgjengelig for å muliggjøre treningsfundamentmodeller med tusenvis av akseleratorer opptil 40 % raskere ved å tilby et svært spenstig treningsmiljø samtidig som man eliminerer de udifferensierte tunge løftene som er involvert i drift av store treningsgrupper. Med SageMaker HyperPod kan utøvere av maskinlæring (ML) trene FM-er i uker og måneder uten avbrudd, og uten å måtte håndtere problemer med maskinvarefeil.
Kunder som Stability AI bruker SageMaker HyperPod for å trene opp grunnmodellene sine, inkludert Stable Diffusion.
"Som det ledende open source generative AI-selskapet, er målet vårt å maksimere tilgjengeligheten til moderne AI. Vi bygger grunnmodeller med titalls milliarder av parametere, som krever infrastrukturen for å skalere treningsytelsen optimalt. Med SageMaker HyperPods administrerte infrastruktur og optimaliseringsbiblioteker kan vi redusere treningstid og kostnader med over 50 %. Det gjør modelltreningen vår mer spenstig og mer effektiv å bygge toppmoderne modeller raskere.»
– Emad Mostaque, Stability AI-gründer og administrerende direktør.
For å gjøre hele syklusen med utvikling av FM-er motstandsdyktig mot maskinvarefeil, hjelper SageMaker HyperPod deg med å lage klynger, overvåke klyngehelse, reparere og erstatte defekte noder i farten, lagre hyppige sjekkpunkter og automatisk gjenoppta trening uten å miste fremgang. I tillegg er SageMaker HyperPod forhåndskonfigurert med Amazon SageMaker distribuerte opplæringsbiblioteker, inkludert SageMaker dataparallellismebibliotek (SMDDP) og SageMaker modellparallellismebibliotek (SMP), for å forbedre FM-treningsytelsen ved å gjøre det enkelt å dele treningsdata og modeller i mindre deler og behandle dem parallelt på tvers av klyngenodene, mens klyngens databehandlings- og nettverksinfrastruktur utnyttes fullt ut. SageMaker HyperPod integrerer Slurm Workload Manager for klynge- og treningsjobborkestrering.
Oversikt over Slurm Workload Manager
slurm, tidligere kjent som Simple Linux Utility for Resource Management, er en jobbplanlegger for å kjøre jobber på en distribuert dataklynge. Det gir også et rammeverk for å kjøre parallelle jobber ved å bruke NVIDIA Collective Communications Library (NCCL) or Message Passing Interface (MPI) standarder. Slurm er et populært åpen kildekode-klyngressursstyringssystem som brukes mye av høyytelsesdatabehandling (HPC) og generative AI- og FM-treningsbelastninger. SageMaker HyperPod gir en enkel måte å komme i gang med en Slurm-klynge i løpet av få minutter.
Det følgende er et arkitektonisk diagram på høyt nivå over hvordan brukere samhandler med SageMaker HyperPod og hvordan de ulike klyngekomponentene samhandler med hverandre og andre AWS-tjenester, som f.eks. Amazon FSx for Luster og Amazon enkel lagringstjeneste (Amazon S3).
Slurm-jobber sendes inn av kommandoer på kommandolinjen. Kommandoene for å kjøre Slurm-jobber er srun
og sbatch
. De srun
kommando kjører treningsjobben i interaktiv og blokkeringsmodus, og sbatch
kjører i batchbehandling og ikke-blokkerende modus. srun
brukes mest til å kjøre umiddelbare jobber, mens sbatch
kan brukes til senere oppdrag med jobber.
For informasjon om ytterligere Slurm-kommandoer og konfigurasjon, se Slurm Workload Manager-dokumentasjon.
Auto-resume og helbredende evner
En av de nye funksjonene med SageMaker HyperPod er muligheten til å ha auto-resume på jobbene dine. Tidligere, når en arbeidernode sviktet under en trenings- eller finjusteringsjobbkjøring, var det opp til brukeren å sjekke jobbstatusen, starte jobben på nytt fra det siste sjekkpunktet og fortsette å overvåke jobben gjennom hele kjøringen. Med opplæringsjobber eller finjusteringsjobber som må kjøre i dager, uker eller til og med måneder av gangen, blir dette kostbart på grunn av den ekstra administrative belastningen for brukeren som må bruke sykluser på å overvåke og vedlikeholde jobben i tilfelle en nodekrasj, samt kostnadene for inaktiv tid for dyre akselererte databehandlingsinstanser.
SageMaker HyperPod adresserer jobbresiliens ved å bruke automatiserte helsesjekker, nodeerstatning og jobbgjenoppretting. Slurm-jobber i SageMaker HyperPod overvåkes ved hjelp av en SageMaker-tilpasset Slurm-plugin ved å bruke SPANK rammeverk. Når en treningsjobb mislykkes, vil SageMaker HyperPod inspisere klyngens helse gjennom en rekke helsesjekker. Hvis en defekt node blir funnet i klyngen, vil SageMaker HyperPod automatisk fjerne noden fra klyngen, erstatte den med en sunn node og starte treningsjobben på nytt. Når du bruker sjekkpunkt i treningsjobber, kan enhver avbrutt eller mislykket jobb gjenopptas fra det siste sjekkpunktet.
Løsningsoversikt
For å distribuere din SageMaker HyperPod, forbereder du først miljøet ditt ved å konfigurere din Amazon Virtual Private Cloud (Amazon VPC) nettverk og sikkerhetsgrupper, distribuerer støttetjenester som FSx for Luster i VPC-en din, og publiserer Slurm-livssyklusskriptene dine til en S3-bøtte. Deretter distribuerer og konfigurerer du SageMaker HyperPod og kobler til hodenoden for å starte treningsjobbene dine.
Forutsetninger
Før du oppretter din SageMaker HyperPod, må du først konfigurere VPC-en, opprette et FSx for Luster-filsystem og etablere en S3-bøtte med dine ønskede klyngelivssyklusskripter. Du trenger også den nyeste versjonen av AWS kommandolinjegrensesnitt (AWS CLI) og CLI-plugin installert for AWS Session Manager, en evne til AWS systemansvarlig.
SageMaker HyperPod er fullt integrert med din VPC. For informasjon om hvordan du oppretter en ny VPC, se Opprett en standard VPC or Opprett en VPC. For å tillate en sømløs forbindelse med høyest ytelse mellom ressurser, bør du opprette alle ressursene dine i samme region og tilgjengelighetssone, samt sikre at de tilknyttede sikkerhetsgruppereglene tillater tilkobling mellom klyngressursene.
Neste, deg opprette et FSx for Luster-filsystem. Dette vil fungere som det høyytelses filsystemet for bruk gjennom modellopplæringen vår. Sørg for at FSx for Luster- og klyngesikkerhetsgruppene tillater innkommende og utgående kommunikasjon mellom klyngressursene og FSx for Luster-filsystemet.
For å konfigurere klyngens livssyklusskript, som kjøres når hendelser som en ny klyngeforekomst oppstår, oppretter du en S3-bøtte og kopierer og tilpasser eventuelt standard livssyklusskriptene. For dette eksemplet lagrer vi alle livssyklusskriptene i et bøtteprefiks på lifecycle-scripts
.
Først laster du ned eksempler på livssyklusskriptene fra GitHub repo. Du bør tilpasse disse for å passe til ønsket klyngeatferd.
Deretter oppretter du en S3-bøtte for å lagre de tilpassede livssyklusskriptene.
Deretter kopierer du standard livssyklusskript fra din lokale katalog til ønsket bøtte og prefiks ved å bruke aws s3 sync
:
Til slutt, for å sette opp klienten for forenklet tilkobling til klyngens hodenode, bør du installere eller oppdatere AWS CLI og installer AWS Session Manager CLI-plugin for å tillate interaktive terminalforbindelser å administrere klyngen og kjøre opplæringsjobber.
Du kan opprette en SageMaker HyperPod-klynge med enten tilgjengelige ressurser på forespørsel eller ved å be om en kapasitetsreservasjon hos SageMaker. For å opprette en kapasitetsreservasjon oppretter du en forespørsel om kvoteøkning for å reservere spesifikke beregningsforekomsttyper og kapasitetstildeling på Service Quotas-dashbordet.
Sett opp treningsklyngen din
For å lage din SageMaker HyperPod-klynge, fullfør følgende trinn:
- Velg på SageMaker-konsollen Klyngeledelse etter HyperPod-klynger i navigasjonsruten.
- Velg Lag en klynge.
- Oppgi et klyngenavn og eventuelt eventuelle tagger som skal brukes på klyngressursene, og velg deretter neste.
- Plukke ut Opprett forekomstgruppe og spesifiser navn på forekomstgruppe, nødvendig forekomsttype, ønsket antall forekomster og S3-bøtte og prefiksbanen der du kopierte klyngens livssyklusskript tidligere.
Det anbefales å ha forskjellige forekomstgrupper for kontrollernodene som brukes til å administrere klyngen og sende jobber og arbeidernodene som brukes til å kjøre opplæringsjobber ved bruk av akselererte beregningsforekomster. Du kan valgfritt konfigurere en ekstra forekomstgruppe for påloggingsnoder.
- Du oppretter først kontrollerforekomstgruppen, som vil inkludere klyngehodenoden.
- For dette tilfellet gruppens AWS identitets- og tilgangsadministrasjon (IAM) rolle, velg Lag en ny rolle og spesifiser eventuelle S3-bøtter du vil at klyngeforekomstene i forekomstgruppen skal ha tilgang til.
Den genererte rollen vil som standard gis skrivebeskyttet tilgang til de angitte bøttene.
- Velg Skape rolle.
- Skriv inn skriptnavnet som skal kjøres på hver forekomstoppretting i skriptet ved opprettelse. I dette eksemplet kalles on-create-skriptet
on_create.sh
. - Velg Spar.
- Velg Opprett forekomstgruppe for å opprette arbeidsforekomstgruppen din.
- Oppgi alle forespurte detaljer, inkludert forekomsttype og ønsket antall.
Dette eksemplet bruker fire ml.trn1.32xl akselererte forekomster for å utføre treningsjobben vår. Du kan bruke den samme IAM-rollen som før eller tilpasse rollen for arbeiderforekomstene. På samme måte kan du bruke andre livssyklusskript for denne arbeiderforekomstgruppen enn den forrige forekomstgruppen.
- Velg neste å fortsette.
- Velg de ønskede VPC-, subnett- og sikkerhetsgruppene for klyngeforekomstene dine.
Vi er vert for klyngeforekomstene i en enkelt tilgjengelighetssone og undernett for å sikre lav ventetid.
Vær oppmerksom på at hvis du har tilgang til S3-data ofte, anbefales det å opprette et VPC-endepunkt som er knyttet til rutetabellen til det private undernettverket for å redusere potensielle dataoverføringskostnader.
- Velg neste.
- Se gjennom sammendraget av klyngedetaljer, og velg deretter Send.
Alternativt, for å lage din SageMaker HyperPod ved hjelp av AWS CLI, må du først tilpasse JSON-parametrene som brukes til å opprette klyngen:
Bruk deretter følgende kommando for å opprette klyngen ved å bruke de angitte inngangene:
Kjør din første treningsjobb med Llama 2
Merk at bruk av Llama 2-modellen er underlagt Meta-lisensen. For å laste ned modellvekter og tokenizer, besøk nettsted og godta lisensen før du ber om tilgang på Metas Hugging Face-nettsted.
Etter at klyngen kjører, logger du på med Session Manager ved å bruke klynge-ID, forekomstgruppenavn og forekomst-ID. Bruk følgende kommando for å se klyngedetaljer:
Noter klynge-ID-en som er inkludert i klynge-ARN i svaret.
Bruk følgende kommando for å hente forekomstgruppenavnet og forekomst-IDen som trengs for å logge på klyngen.
Legg merke til InstanceGroupName
og InstanceId
i svaret da disse vil bli brukt til å koble til instansen med Session Manager.
Nå bruker du Session Manager til å logge på hovednoden, eller en av innloggingsnodene, og kjøre treningsjobben:
Deretter skal vi forberede miljøet og laste ned Llama 2 og RedPajama-datasettet. For fullstendig kode og en trinn-for-trinn gjennomgang av dette, følg instruksjonene på AWSome distribuert opplæring GitHub repo.
Følg trinnene beskrevet i 2.test_cases/8.neuronx-nemo-megatron/README.md
fil. Etter å ha fulgt trinnene for å forberede miljøet, klargjøre modellen, laste ned og tokenisere datasettet og forhåndskompilere modellen, bør du redigere 6.pretrain-model.sh
manus og sbatch
jobbinnsendingskommando for å inkludere en parameter som lar deg dra nytte av auto-resume-funksjonen til SageMaker HyperPod.
Redigere sbatch
linje for å se slik ut:
Etter innlevering av jobben får du en JobID
som du kan bruke til å sjekke jobbstatusen ved å bruke følgende kode:
I tillegg kan du overvåke jobben ved å følge jobbutdataloggen ved å bruke følgende kode:
Rydd opp
For å slette SageMaker HyperPod-klyngen, bruk enten SageMaker-konsollen eller følgende AWS CLI-kommando:
konklusjonen
Dette innlegget viste deg hvordan du forbereder AWS-miljøet ditt, distribuerer din første SageMaker HyperPod-klynge og trener en 7-milliarder parameter Llama 2-modell. SageMaker HyperPod er generelt tilgjengelig i dag i Amerika (N. Virginia, Ohio og Oregon), Asia-Stillehavsregionen (Singapore, Sydney og Tokyo) og Europa (Frankfurt, Irland og Stockholm). De kan distribueres via SageMaker-konsollen, AWS CLI og AWS SDK-er, og de støtter forekomstfamiliene p4d, p4de, p5, trn1, inf2, g5, c5, c5n, m5 og t3.
For å lære mer om SageMaker HyperPod, besøk Amazon SageMaker HyperPod.
Om forfatterne
Brad Doran er Senior Technical Account Manager hos Amazon Web Services, med fokus på generativ AI. Han er ansvarlig for å løse tekniske utfordringer for generative AI-kunder i det digitale innfødte forretningssegmentet. Han kommer fra infrastruktur- og programvareutviklingsbakgrunn og driver for tiden doktorgradsstudier og forskning innen kunstig intelligens og maskinlæring.
Keita Watanabe er senior GenAI Specialist Solutions Architect hos Amazon Web Services, hvor han hjelper til med å utvikle maskinlæringsløsninger ved å bruke OSS-prosjekter som Slurm og Kubernetes. Hans bakgrunn er innen forskning og utvikling innen maskinlæring. Før han begynte i AWS, jobbet Keita i e-handelsbransjen som forsker med å utvikle systemer for bildehenting for produktsøk. Keita har en doktorgrad i naturvitenskap fra University of Tokyo.
Justin Pirtle er en hovedløsningsarkitekt hos Amazon Web Services. Han gir jevnlig råd til generative AI-kunder i å designe, distribuere og skalere infrastrukturen deres. Han er en fast foredragsholder på AWS-konferanser, inkludert re:Invent, så vel som andre AWS-arrangementer. Justin har en bachelorgrad i Management Information Systems fra University of Texas i Austin og en mastergrad i Software Engineering fra Seattle University.
- 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/introducing-amazon-sagemaker-hyperpod-to-train-foundation-models-at-scale/
- :er
- :hvor
- $OPP
- 1
- 100
- 12
- 14
- 24
- 7
- a
- evne
- Om oss
- akselerert
- akseleratorer
- Aksepterer
- adgang
- tilgjengelighet
- Tilgang
- Logg inn
- tvers
- tillegg
- Ytterligere
- adresser
- administrere
- administrativ
- Fordel
- Etter
- AI
- Alle
- allokering
- tillate
- tillater
- også
- Amazon
- Amazon SageMaker
- Amazon Web Services
- Americas
- beløp
- an
- og
- noen
- Påfør
- arkitektonisk
- ER
- oppstår
- kunstig
- kunstig intelligens
- Kunstig intelligens og maskinlæring
- AS
- asia
- asia-stillehavet
- assosiert
- At
- austin
- Automatisert
- automatisk
- tilgjengelighet
- tilgjengelig
- AWS
- bakgrunn
- BE
- blir
- før du
- atferd
- mellom
- milliarder
- blokkering
- bygge
- Bygning
- virksomhet
- by
- som heter
- CAN
- evner
- evne
- Kapasitet
- konsernsjef
- utfordre
- utfordringer
- Endringer
- sjekk
- Sjekker
- Velg
- kunde
- Cluster
- kode
- Collective
- kommer
- Kommunikasjon
- kommunikasjon
- Selskapet
- fullføre
- komponenter
- Beregn
- databehandling
- konferanser
- Konfigurasjon
- konfigurering
- Koble
- tilkobling
- Tilkoblinger
- Konsoll
- fortsette
- controller
- Kostnad
- kostbar
- Kostnader
- skape
- Opprette
- skaperverket
- I dag
- skikk
- Kunder
- tilpasse
- tilpasset
- syklus
- sykluser
- dashbord
- dato
- Dager
- avtale
- Misligholde
- Grad
- utplassere
- utplassert
- utplasserings
- utforme
- ønsket
- detaljert
- detaljer
- utvikle
- utvikle
- Utvikling
- forskjellig
- kringkasting
- digitalt
- Avbrudd
- distribueres
- distribuert databehandling
- distribuert opplæring
- nedlasting
- to
- under
- hver enkelt
- e-handel
- enten
- eliminere
- muliggjøre
- Endpoint
- Ingeniørarbeid
- sikre
- Hele
- Miljø
- miljømessige
- etablere
- Europa
- Selv
- Event
- hendelser
- eksempel
- opphisset
- dyrt
- ekstra
- Face
- Mislyktes
- mislykkes
- Failure
- feil
- familier
- raskere
- defekt
- Trekk
- Egenskaper
- filet
- Først
- fokuserte
- følge
- etter
- Til
- tidligere
- funnet
- Fundament
- Grunnleggeren
- Grunnlegger og administrerende direktør
- fire
- Rammeverk
- Frankfurt
- hyppig
- ofte
- fra
- fullt
- fullt
- generelt
- generert
- generative
- Generativ AI
- få
- GitHub
- mål
- skal
- styrt
- innvilget
- Gruppe
- Gruppens
- håndtere
- maskinvare
- Ha
- å ha
- he
- hode
- healing
- Helse
- sunt
- tung
- tung løfting
- hjelper
- Høy
- høyt nivå
- høy ytelse
- høyest
- svært
- hans
- holder
- vert
- Hvordan
- Hvordan
- hpc
- HTML
- http
- HTTPS
- Hundrevis
- ID
- Identitet
- Idle
- if
- bilde
- umiddelbar
- iverksette
- forbedre
- in
- inkludere
- inkludert
- Inkludert
- Øke
- industri
- informasjon
- Informasjonssystemer
- Infrastruktur
- innganger
- installere
- installerte
- f.eks
- instruksjoner
- integrert
- Integrerer
- Intelligens
- samhandle
- interaktiv
- Interface
- avbrutt
- inn
- innføre
- involvert
- Irland
- saker
- IT
- Jobb
- Jobb
- sammenføyning
- jpg
- JSON
- Justin
- kjent
- stor
- storskala
- Ventetid
- seinere
- siste
- ledende
- LÆRE
- læring
- bibliotekene
- Bibliotek
- Tillatelse
- Livssyklus
- løfte
- i likhet med
- linje
- linux
- Llama
- lokal
- logg
- Logg inn
- Se
- ser ut som
- å miste
- Lav
- maskin
- maskinlæring
- vedlikeholde
- Vedlike
- gjøre
- GJØR AT
- Making
- fikk til
- ledelse
- leder
- marked
- mestere
- Saken
- Maksimer
- Meta
- minutter
- ML
- Mote
- modell
- modeller
- Moderne
- Overvåke
- overvåket
- overvåking
- måneder
- mer
- for det meste
- navn
- innfødt
- Navigasjon
- Trenger
- nødvendig
- trenger
- nettverk
- Ny
- Nye funksjoner
- node
- noder
- note
- nå
- Nvidia
- of
- Ohio
- on
- På etterspørsel
- ONE
- åpen
- åpen kildekode
- drift
- operasjonell
- optimalisering
- optimalisere
- or
- orkestre
- Oregon
- Oss
- Annen
- vår
- produksjon
- enn
- Pacific
- brød
- Parallel
- parameter
- parametere
- Passerer
- banen
- Utfør
- ytelse
- phd
- plato
- Platon Data Intelligence
- PlatonData
- plugg inn
- Populær
- Post
- potensiell
- Forbered
- forrige
- tidligere
- Principal
- Før
- privat
- Proaktiv
- fortsette
- prosessering
- Produkt
- Progress
- prosjekter
- forutsatt
- gir
- gi
- Publisering
- kvantitet
- RE
- anbefales
- utvinning
- redusere
- referere
- region
- regioner
- regelmessig
- regelmessig
- fjerne
- reparasjon
- erstatte
- erstatning
- anmode
- krever
- Krever
- forskning
- forskning og utvikling
- Booking
- Reserve
- spenstig
- ressurs
- Ressurser
- svar
- ansvarlig
- gjenoppta
- Rolle
- ruting
- regler
- Kjør
- rennende
- går
- sagemaker
- samme
- Spar
- Skala
- skalering
- Vitenskap
- Forsker
- script
- skript
- sdks
- sømløs
- Søk
- Seattle
- sikkerhet
- se
- segmentet
- senior
- betjene
- tjeneste
- Tjenester
- Session
- sett
- Del
- bør
- viste
- på samme måte
- Enkelt
- forenklet
- Singapore
- enkelt
- mindre
- Software
- programvareutvikling
- software engineering
- Solutions
- løse
- kilde
- Høyttaler
- spesialist
- spesifikk
- spesifisert
- bruke
- splittet
- Stabilitet
- stabil
- standarder
- Begynn
- state-of-the-art
- status
- Steps
- lagring
- oppbevare
- rett fram
- studier
- innsending
- send
- innsendt
- subnett
- slik
- Dress
- suite
- SAMMENDRAG
- støtte
- Støtte
- sikker
- sydney
- synk.
- system
- Systemer
- bord
- Ta
- Teknisk
- titus
- terminal
- texas
- enn
- Det
- De
- deres
- Dem
- deretter
- Disse
- de
- denne
- tusener
- Gjennom
- hele
- tid
- til
- i dag
- symbolisere
- tokyo
- Tog
- Kurs
- overføre
- typen
- typer
- etter
- universitet
- University of Tokyo
- Oppdater
- bruke
- brukt
- Bruker
- Brukere
- bruker
- ved hjelp av
- verktøyet
- utnytte
- ulike
- enorme
- versjon
- av
- Se
- Virginia
- virtuelle
- Besøk
- walkthrough
- var
- Vei..
- we
- web
- webtjenester
- uker
- VI VIL
- når
- hvilken
- mens
- allment
- Wikipedia
- vil
- med
- innenfor
- uten
- arbeidet
- arbeidstaker
- ville
- Du
- Din
- zephyrnet