Bygningsfundamentmodeller (FM'er) kræver opbygning, vedligehold og optimering af store klynger for at træne modeller med titusinder til hundreder af milliarder af parametre på enorme mængder data. At skabe et robust miljø, der kan håndtere fejl og miljøændringer uden at miste dage eller ugers modeltræningsfremskridt er en operationel udfordring, der kræver, at du implementerer klyngeskalering, proaktiv sundhedsovervågning, jobcheckpointing og kapaciteter til automatisk at genoptage træningen, hvis der skulle opstå fejl eller problemer .
Det glæder vi os til at dele Amazon SageMaker HyperPod er nu generelt tilgængelig for at muliggøre træningsfundamentmodeller med tusindvis af acceleratorer op til 40 % hurtigere ved at give et meget modstandsdygtigt træningsmiljø og samtidig eliminere de udifferentierede tunge løft, der er involveret i betjening af store træningsgrupper. Med SageMaker HyperPod kan maskinlæringsudøvere (ML) træne FM'er i uger og måneder uden afbrydelser og uden at skulle håndtere problemer med hardwarefejl.
Kunder såsom Stability AI bruger SageMaker HyperPod til at træne deres fundamentmodeller, inklusive Stable Diffusion.
"Som den førende open source-generative AI-virksomhed er vores mål at maksimere tilgængeligheden af moderne AI. Vi bygger fundamentmodeller med titusinder af milliarder af parametre, som kræver infrastrukturen for at skalere træningsydelsen optimalt. Med SageMaker HyperPods administrerede infrastruktur og optimeringsbiblioteker kan vi reducere træningstid og omkostninger med over 50 %. Det gør vores modeltræning mere modstandsdygtig og effektiv at bygge avancerede modeller hurtigere."
– Emad Mostaque, Stability AI-stifter og administrerende direktør.
For at gøre den fulde cyklus af udvikling af FM'er modstandsdygtig over for hardwarefejl, hjælper SageMaker HyperPod dig med at oprette klynger, overvåge klyngesundhed, reparere og udskifte defekte noder i farten, gemme hyppige kontrolpunkter og automatisk genoptage træning uden at miste fremskridt. Derudover er SageMaker HyperPod prækonfigureret med Amazon SageMaker distribuerede uddannelsesbiblioteker, herunder SageMaker data parallelism library (SMDDP) , SageMaker model parallelism library (SMP), for at forbedre FM-træningsydeevnen ved at gøre det ligetil at opdele træningsdata og modeller i mindre bidder og behandle dem parallelt på tværs af klyngens noder, mens klyngens computer- og netværksinfrastruktur fuldt ud udnyttes. SageMaker HyperPod integrerer Slurm Workload Manager til klynge- og træningsjoborkestrering.
Oversigt over Slurm Workload Manager
slurm, tidligere kendt som Simple Linux Utility for Resource Management, er en jobplanlægger til at køre job på en distribueret computerklynge. Det giver også en ramme for at køre parallelle job ved hjælp af NVIDIA Collective Communications Library (NCCL) or Message Passing Interface (MPI) standarder. Slurm er et populært open source-klyngressourcestyringssystem, der bruges i vid udstrækning af højtydende computing (HPC) og generative AI- og FM-træningsarbejdsbelastninger. SageMaker HyperPod giver en ligetil måde at komme i gang med en Slurm-klynge på få minutter.
Det følgende er et arkitektonisk diagram på højt niveau over, hvordan brugere interagerer med SageMaker HyperPod, og hvordan de forskellige klyngekomponenter interagerer med hinanden og andre AWS-tjenester, som f.eks. Amazon FSx til Luster , Amazon Simple Storage Service (Amazon S3).
Slurm-job sendes af kommandoer på kommandolinjen. Kommandoerne til at køre Slurm-job er srun
, sbatch
. Det srun
kommando kører træningsjobbet i interaktiv og blokerende tilstand, og sbatch
kører i batchbehandling og ikke-blokerende tilstand. srun
bruges mest til at køre umiddelbare job, mens sbatch
kan bruges til senere opgaver.
For information om yderligere Slurm-kommandoer og konfiguration henvises til Slurm Workload Manager dokumentation.
Auto-resume og healing kapaciteter
En af de nye funktioner med SageMaker HyperPod er muligheden for automatisk genoptagelse af dine job. Tidligere, når en arbejderknude fejlede under en trænings- eller finjusteringsjobkørsel, var det op til brugeren at tjekke jobstatus, genstarte jobbet fra det seneste kontrolpunkt og fortsætte med at overvåge jobbet gennem hele kørslen. Med træningsjob eller finjusteringsjob, der skal køre i dage, uger eller endda måneder ad gangen, bliver dette dyrt på grund af de ekstra administrative omkostninger for brugeren, der skal bruge cyklusser på at overvåge og vedligeholde jobbet i tilfælde af, at en knudenedbrud, såvel som omkostningerne ved inaktiv tid for dyre accelererede beregningsinstanser.
SageMaker HyperPod adresserer jobresiliens ved at bruge automatiserede sundhedstjek, nodeudskiftning og jobgendannelse. Slurm-job i SageMaker HyperPod overvåges ved hjælp af et SageMaker-tilpasset Slurm-plugin ved hjælp af SPANK ramme. Når et træningsjob mislykkes, vil SageMaker HyperPod inspicere klyngens helbred gennem en række sundhedstjek. Hvis der findes en defekt node i klyngen, vil SageMaker HyperPod automatisk fjerne noden fra klyngen, erstatte den med en sund node og genstarte træningsjobbet. Når du bruger checkpointing i træningsjob, kan ethvert afbrudt eller mislykket job genoptages fra det seneste checkpoint.
Løsningsoversigt
For at implementere din SageMaker HyperPod skal du først forberede dit miljø ved at konfigurere din Amazon Virtual Private Cloud (Amazon VPC) netværk og sikkerhedsgrupper, der implementerer understøttende tjenester såsom FSx for Luster i din VPC og udgiver dine Slurm-livscyklusscripts til en S3-bøtte. Du implementerer og konfigurerer derefter din SageMaker HyperPod og opretter forbindelse til hovedknuden for at starte dine træningsjob.
Forudsætninger
Før du opretter din SageMaker HyperPod, skal du først konfigurere din VPC, oprette et FSx for Luster-filsystem og etablere en S3-bucket med dine ønskede klyngelivscyklusscripts. Du skal også have den nyeste version af AWS kommandolinjegrænseflade (AWS CLI) og CLI plugin installeret til AWS Session Manager, en evne til AWS System Manager.
SageMaker HyperPod er fuldt integreret med din VPC. For information om oprettelse af en ny VPC, se Opret en standard VPC or Opret en VPC. For at tillade en sømløs forbindelse med den højeste ydeevne mellem ressourcer, bør du oprette alle dine ressourcer i samme region og tilgængelighedszone, samt sikre, at de tilknyttede sikkerhedsgrupperegler tillader forbindelse mellem klyngressourcer.
Derefter oprette et FSx for Luster-filsystem. Dette vil fungere som det højtydende filsystem til brug gennem hele vores modeluddannelse. Sørg for, at FSx for Luster og klyngesikkerhedsgrupper tillader indgående og udgående kommunikation mellem klyngresourcer og FSx for Luster-filsystemet.
For at konfigurere dine klyngelivscyklusscripts, som køres, når hændelser såsom en ny klyngeforekomst opstår, opretter du en S3-indsamling og kopierer og tilpasser eventuelt standardlivscyklusscripterne. I dette eksempel gemmer vi alle livscyklusscripts i et bucket-præfiks på lifecycle-scripts
.
Først downloader du eksemplerne på livscyklusscripts fra GitHub repo. Du bør tilpasse disse, så de passer til din ønskede klyngeadfærd.
Opret derefter en S3-bøtte til at gemme de tilpassede livscyklusscripts.
Kopier derefter standard-livscyklus-scripts fra din lokale mappe til din ønskede bucket og præfiks ved hjælp af aws s3 sync
:
Til sidst, for at konfigurere klienten til forenklet forbindelse til klyngens hovedknude, bør du installere eller opdatere AWS CLI og installer AWS Session Manager CLI plugin at tillade interaktive terminalforbindelser at administrere klyngen og køre træningsjob.
Du kan oprette en SageMaker HyperPod-klynge med enten tilgængelige on-demand-ressourcer eller ved at anmode om en kapacitetsreservation hos SageMaker. For at oprette en kapacitetsreservation opretter du en anmodning om kvoteforøgelse for at reservere specifikke computerforekomsttyper og kapacitetsallokering på Service Quotas-dashboardet.
Opsæt din træningsklynge
For at oprette din SageMaker HyperPod-klynge skal du udføre følgende trin:
- Vælg på SageMaker-konsollen Klyngeledelse under HyperPod-klynger i navigationsruden.
- Vælg Opret en klynge.
- Angiv et klyngenavn og eventuelt eventuelle tags, der skal anvendes på klyngressourcer, og vælg derefter Næste.
- Type Opret instansgruppe og angiv navnet på instansgruppen, den nødvendige instanstype, det ønskede antal instanser og S3-indsamlingen og præfiksstien, hvor du tidligere kopierede dine klyngelivscyklusscripts.
Det anbefales at have forskellige instansgrupper for de controller-knudepunkter, der bruges til at administrere klyngen og indsende opgaver, og de arbejdsknudepunkter, der bruges til at køre træningsjob ved hjælp af accelererede beregningsforekomster. Du kan valgfrit konfigurere en ekstra instansgruppe til login-noder.
- Du opretter først controller-instansgruppen, som vil inkludere klyngehovedknuden.
- For dette eksempel gruppens AWS identitets- og adgangsstyring (IAM) rolle, vælg Lav en ny rolle og angiv eventuelle S3-buckets, du gerne vil have, at klyngeforekomsterne i forekomstgruppen skal have adgang til.
Den genererede rolle får som standard skrivebeskyttet adgang til de angivne buckets.
- Vælg Opret rolle.
- Indtast scriptnavnet, der skal køres ved hver instansoprettelse, i scriptprompten ved oprettelse. I dette eksempel kaldes on-create scriptet
on_create.sh
. - Vælg Gem.
- Vælg Opret instansgruppe for at oprette din arbejdsinstansgruppe.
- Angiv alle de ønskede detaljer, inklusive instanstype og ønsket mængde.
Dette eksempel bruger fire ml.trn1.32xl accelererede instanser til at udføre vores træningsjob. Du kan bruge den samme IAM-rolle som før eller tilpasse rollen til arbejderforekomsterne. På samme måde kan du bruge forskellige livscyklusscripts ved oprettelse af denne arbejdsinstansgruppe end den forrige instansgruppe.
- Vælg Næste at fortsætte.
- Vælg de ønskede VPC-, undernet- og sikkerhedsgrupper til dine klyngeforekomster.
Vi hoster klyngeforekomsterne i en enkelt tilgængelighedszone og undernet for at sikre lav latenstid.
Bemærk, at hvis du ofte får adgang til S3-data, anbefales det at oprette et VPC-slutpunkt, der er knyttet til det private undernets routingtabel for at reducere eventuelle potentielle dataoverførselsomkostninger.
- Vælg Næste.
- Gennemgå oversigten med klyngedetaljer, og vælg derefter Indsend.
Alternativt, for at oprette din SageMaker HyperPod ved hjælp af AWS CLI, skal du først tilpasse JSON-parametrene, der bruges til at oprette klyngen:
Brug derefter følgende kommando til at oprette klyngen ved hjælp af de medfølgende input:
Kør dit første træningsjob med Llama 2
Bemærk, at brugen af Llama 2-modellen er underlagt Meta-licensen. For at downloade modelvægte og tokenizer, besøg hjemmeside og acceptere licensen, før du anmoder om adgang på Meta's Hugging Face hjemmeside.
Når klyngen kører, skal du logge på med Session Manager ved at bruge klynge-id'et, instansgruppens navn og instans-id'et. Brug følgende kommando til at se dine klyngedetaljer:
Noter klynge-id'et inkluderet i klynge-ARN i svaret.
Brug følgende kommando til at hente instansgruppens navn og instans-id, der er nødvendig for at logge på klyngen.
Læg mærke til InstanceGroupName
og InstanceId
i svaret, da disse vil blive brugt til at oprette forbindelse til instansen med Session Manager.
Nu bruger du Session Manager til at logge ind på hovedknuden eller en af loginnoderne og køre dit træningsjob:
Dernæst skal vi forberede miljøet og downloade Llama 2 og RedPajama-datasættet. For fuld kode og en trin-for-trin gennemgang af dette, følg instruktionerne på AWSome distribueret træning GitHub repo.
Følg trinene beskrevet i 2.test_cases/8.neuronx-nemo-megatron/README.md
fil. Efter at have fulgt trinene til at forberede miljøet, forberede modellen, downloade og tokenisere datasættet og prækompilere modellen, skal du redigere 6.pretrain-model.sh
script og sbatch
jobindsendelseskommando for at inkludere en parameter, der giver dig mulighed for at drage fordel af auto-genoptag-funktionen i SageMaker HyperPod.
Rediger sbatch
linje til at se ud som følgende:
Efter aflevering af jobbet får du en JobID
som du kan bruge til at kontrollere jobstatus ved hjælp af følgende kode:
Derudover kan du overvåge jobbet ved at følge joboutputloggen ved at bruge følgende kode:
Ryd op
For at slette din SageMaker HyperPod-klynge skal du enten bruge SageMaker-konsollen eller følgende AWS CLI-kommando:
Konklusion
Dette indlæg viste dig, hvordan du forbereder dit AWS-miljø, implementerer din første SageMaker HyperPod-klynge og træner en 7-milliard parameter Llama 2-model. SageMaker HyperPod er generelt tilgængelig i dag i Nord- og Sydamerika (N. Virginia, Ohio og Oregon), Asien og Stillehavsområdet (Singapore, Sydney og Tokyo) og Europa (Frankfurt, Irland og Stockholm). De kan implementeres via SageMaker-konsollen, AWS CLI og AWS SDK'er, og de understøtter instansfamilierne p4d, p4de, p5, trn1, inf2, g5, c5, c5n, m5 og t3.
For at lære mere om SageMaker HyperPod, besøg 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 at løse tekniske udfordringer for generative AI-kunder i det digitale native erhvervsmarkedssegment. Han kommer fra en infrastruktur- og softwareudviklingsbaggrund og er i gang med ph.d.-studier og forskning i kunstig intelligens og maskinlæring.
Keita Watanabe er Senior GenAI Specialist Solutions Architect hos Amazon Web Services, hvor han hjælper med at udvikle maskinlæringsløsninger ved hjælp af OSS-projekter som Slurm og Kubernetes. Hans baggrund er inden for forskning og udvikling af maskinlæring. Før Keita kom til AWS, arbejdede Keita i e-handelsindustrien som forsker med at udvikle billedsøgningssystemer til produktsøgning. Keita har en PhD i naturvidenskab fra University of Tokyo.
Justin Pirtle er Principal Solutions Architect hos Amazon Web Services. Han rådgiver regelmæssigt generative AI-kunder i at designe, implementere og skalere deres infrastruktur. Han er en fast taler ved AWS-konferencer, herunder re:Invent, samt 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 Powered Content & PR Distribution. Bliv forstærket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk dig selv. Adgang her.
- PlatoAiStream. Web3 intelligens. Viden forstærket. Adgang her.
- PlatoESG. Kulstof, CleanTech, Energi, Miljø, Solenergi, Affaldshåndtering. Adgang her.
- PlatoHealth. Bioteknologiske og kliniske forsøgs intelligens. Adgang her.
- Kilde: https://aws.amazon.com/blogs/machine-learning/introducing-amazon-sagemaker-hyperpod-to-train-foundation-models-at-scale/
- :er
- :hvor
- $OP
- 1
- 100
- 12
- 14
- 24
- 7
- a
- evne
- Om
- accelereret
- acceleratorer
- Acceptere
- adgang
- tilgængelighed
- Adgang
- Konto
- tværs
- Desuden
- Yderligere
- adresser
- forvalte
- administrative
- Fordel
- Efter
- AI
- Alle
- allokering
- tillade
- tillader
- også
- Amazon
- Amazon SageMaker
- Amazon Web Services
- Amerika
- beløb
- an
- ,
- enhver
- Indløs
- arkitektonisk
- ER
- opstå
- kunstig
- kunstig intelligens
- Kunstig intelligens og maskinlæring
- AS
- asia
- asien pacific
- forbundet
- At
- austin
- Automatiseret
- automatisk
- tilgængelighed
- til rådighed
- AWS
- baggrund
- BE
- bliver
- før
- adfærd
- mellem
- milliarder
- blokering
- bygge
- Bygning
- virksomhed
- by
- kaldet
- CAN
- kapaciteter
- kapacitet
- Kapacitet
- Direktør
- udfordre
- udfordringer
- Ændringer
- kontrollere
- Kontrol
- Vælg
- kunde
- Cluster
- kode
- kollektive
- kommer
- Kommunikation
- Kommunikation
- selskab
- fuldføre
- komponenter
- Compute
- computing
- konferencer
- Konfiguration
- konfigurering
- Tilslut
- tilslutning
- Tilslutninger
- Konsol
- fortsæt
- controller
- Koste
- kostbar
- Omkostninger
- skabe
- Oprettelse af
- skabelse
- For øjeblikket
- skik
- Kunder
- tilpasse
- tilpassede
- cyklus
- cykler
- instrumentbræt
- data
- Dage
- deal
- Standard
- Degree
- indsætte
- indsat
- implementering
- designe
- ønskes
- detaljeret
- detaljer
- udvikle
- udvikling
- Udvikling
- forskellige
- Broadcasting
- digital
- Forstyrrelse
- distribueret
- distribueret computing
- distribueret træning
- downloade
- grund
- i løbet af
- hver
- ecommerce
- enten
- eliminere
- muliggøre
- Endpoint
- Engineering
- sikre
- Hele
- Miljø
- miljømæssige
- etablere
- Europa
- Endog
- begivenhed
- begivenheder
- eksempel
- ophidset
- dyrt
- ekstra
- Ansigtet
- mislykkedes
- mislykkes
- Manglende
- fejl
- familier
- hurtigere
- defekt
- Feature
- Funktionalitet
- File (Felt)
- Fornavn
- fokuserede
- følger
- efter
- Til
- tidligere
- fundet
- Foundation
- grundlægger
- Stifter og CEO
- fire
- Framework
- Frankfurt
- hyppig
- hyppigt
- fra
- fuld
- fuldt ud
- generelt
- genereret
- generative
- Generativ AI
- få
- GitHub
- mål
- gå
- reguleret
- bevilget
- gruppe
- Gruppens
- håndtere
- Hardware
- Have
- have
- he
- hoved
- healing
- Helse
- sund
- tunge
- tunge løft
- hjælper
- Høj
- højt niveau
- Høj ydeevne
- højeste
- stærkt
- hans
- besidder
- host
- Hvordan
- How To
- HPC
- HTML
- http
- HTTPS
- Hundreder
- ID
- Identity
- tomgang
- if
- billede
- umiddelbar
- gennemføre
- Forbedre
- in
- omfatter
- medtaget
- Herunder
- Forøg
- industrien
- oplysninger
- Informationssystemer
- Infrastruktur
- indgange
- installere
- installeret
- instans
- anvisninger
- integreret
- Integrerer
- Intelligens
- interagere
- interaktiv
- grænseflade
- afbrudt
- ind
- indføre
- involverede
- irland
- spørgsmål
- IT
- Job
- Karriere
- sammenføjning
- jpg
- json
- Justin
- kendt
- stor
- storstilet
- Latency
- senere
- seneste
- førende
- LÆR
- læring
- biblioteker
- Bibliotek
- Licens
- livscyklus
- løft
- ligesom
- Line (linje)
- linux
- Llama
- lokale
- log
- Logge på
- Se
- ligner
- miste
- Lav
- maskine
- machine learning
- vedligeholde
- Vedligeholdelse
- lave
- maerker
- Making
- lykkedes
- ledelse
- leder
- Marked
- herres
- Matter
- Maksimer
- Meta
- minutter
- ML
- tilstand
- model
- modeller
- Moderne
- Overvåg
- overvåges
- overvågning
- måned
- mere
- for det meste
- navn
- indfødte
- Navigation
- Behov
- behov
- behøve
- netværk
- Ny
- Nye funktioner
- node
- noder
- Bemærk
- nu
- Nvidia
- of
- Ohio
- on
- On-Demand
- ONE
- åbent
- open source
- drift
- operationelle
- optimering
- optimering
- or
- orkestrering
- Oregon
- Os
- Andet
- vores
- output
- i løbet af
- Pacific
- brød
- Parallel
- parameter
- parametre
- Passing
- sti
- Udfør
- ydeevne
- phd
- plato
- Platon Data Intelligence
- PlatoData
- plugin
- Populær
- Indlæg
- potentiale
- Forbered
- tidligere
- tidligere
- Main
- Forud
- private
- Proaktiv
- Fortsæt
- forarbejdning
- Produkt
- Progress
- projekter
- forudsat
- giver
- leverer
- Publicering
- mængde
- RE
- anbefales
- opsving
- reducere
- henvise
- region
- regioner
- fast
- regelmæssigt
- Fjern
- reparere
- erstatte
- udskiftning
- anmode
- kræver
- Kræver
- forskning
- forskning og udvikling
- Booking
- Reserve
- elastisk
- ressource
- Ressourcer
- svar
- ansvarlige
- Genoptag
- roller
- routing
- regler
- Kør
- kører
- løber
- sagemaker
- samme
- Gem
- Scale
- skalering
- Videnskab
- Videnskabsmand
- script
- scripts
- sdks
- sømløs
- Søg
- Seattle
- sikkerhed
- se
- segment
- senior
- tjener
- tjeneste
- Tjenester
- Session
- sæt
- Del
- bør
- viste
- Tilsvarende
- Simpelt
- forenklet
- Singapore
- enkelt
- mindre
- Software
- softwareudvikling
- software Engineering
- Løsninger
- Løsning
- Kilde
- Højttaler
- specialist
- specifikke
- specificeret
- tilbringe
- delt
- Stabilitet
- stabil
- standarder
- starte
- state-of-the-art
- Status
- Steps
- opbevaring
- butik
- ligetil
- undersøgelser
- indsendelse
- indsende
- indsendt
- subnet
- sådan
- Dragt
- suite
- RESUMÉ
- support
- Støtte
- sikker
- sydney
- synkronisere.
- systemet
- Systemer
- bord
- Tag
- Teknisk
- tiere
- terminal
- Texas
- end
- at
- deres
- Them
- derefter
- Disse
- de
- denne
- tusinder
- Gennem
- hele
- tid
- til
- i dag
- tokenisere
- tokyo
- Tog
- Kurser
- overførsel
- typen
- typer
- under
- universitet
- University of Tokyo
- Opdatering
- brug
- anvendte
- Bruger
- brugere
- bruger
- ved brug af
- nytte
- Ved hjælp af
- forskellige
- Vast
- udgave
- via
- Specifikation
- Virginia
- Virtual
- Besøg
- går igennem
- var
- Vej..
- we
- web
- webservices
- uger
- GODT
- hvornår
- som
- mens
- bredt
- Wikipedia
- vilje
- med
- inden for
- uden
- arbejdede
- arbejdstager
- ville
- Du
- Din
- zephyrnet