Kiirendage PyTorchit DeepSpeediga, et treenida suuri keelemudeleid Intel Habana Gaudi-põhiste DL1 EC2 eksemplaridega | Amazoni veebiteenused

Kiirendage PyTorchit DeepSpeediga, et treenida suuri keelemudeleid Intel Habana Gaudi-põhiste DL1 EC2 eksemplaridega | Amazoni veebiteenused

Miljardite parameetritega suurte keelemudelite (LLM) koolitamine võib olla keeruline. Lisaks mudeliarhitektuuri kujundamisele peavad teadlased paika panema kaasaegsed koolitustehnikad hajutatud koolituse jaoks, nagu segatud täpsustugi, gradientide kogumine ja kontrollpunktide määramine. Suurte mudelite puhul on treeningu seadistamine veelgi keerulisem, kuna ühes kiirendusseadmes olev mälu piirab ainult andmete paralleelsust kasutades treenitud mudelite suurust ja mudeli paralleeltreeningu kasutamine nõuab koolituskoodi täiendavaid muudatusi. Raamatukogud nagu DeepSpeed (avatud lähtekoodiga süvaõppe optimeerimise raamatukogu PyTorchi jaoks) lahendavad mõned neist väljakutsetest ning võivad aidata kiirendada mudelite väljatöötamist ja koolitust.

Selles postituses panime paika koolituse Intel Habana Gaudi baasil Amazon Elastic Compute Cloud (Amazon EC2) DL1 eksemplare ja kvantifitseerida skaleerimisraamistiku (nt DeepSpeed) kasutamise eeliseid. Esitame koodri tüüpi trafo mudeli skaleerimise tulemused (BERT 340 miljoni kuni 1.5 miljardi parameetriga). 1.5 miljardi parameetriga mudeli puhul saavutasime 82.7 kiirendi (128 dl16xsuured eksemplarid) skaleerimise efektiivsuse 1.24%. DeepSpeed ​​ZeRO 1. etapi optimeerimine. DeepSpeed ​​jagas optimeerija olekud, et treenida suuri mudeleid, kasutades andmete paralleelset paradigmat. Seda lähenemisviisi on laiendatud, et koolitada 5 miljardi parameetriga mudel, kasutades andmete paralleelsust. Kasutasime ka Gaudi natiivset BF16 andmetüübi tuge, et vähendada mälumahtu ja suurendada treeningtulemust võrreldes FP32 andmetüübi kasutamisega. Selle tulemusel saavutasime BERTi 1 miljardi parameetriga mudeli jaoks koolituseelse (16. faasi) mudeli ühtlustamise 1.5 tunni jooksul (meie eesmärk oli koolitada suur mudel päeva jooksul) BERTi XNUMX miljardi parameetriga mudeli jaoks. wikicorpus-en andmestik.

Treeningu seadistamine

Varustasime hallatud arvutusklastri, mis koosnes 16 dl1.24xsuurest eksemplarist, kasutades AWS partii. Töötasime välja an AWS-i partii töökoda mis illustreerib samme hajutatud koolitusklastri seadistamiseks AWS Batchiga. Igal dl1.24xsuurel eksemplaril on kaheksa Habana Gaudi kiirendit, millest igaühel on 32 GB mälu ja täisvõrguga RoCE-võrk kaartide vahel, mille kahesuunalise ühenduse ribalaius on igaühel 700 Gbps (vt. Amazon EC2 DL1 eksemplarid Deep Dive rohkem informatsiooni). Ka dl1.24xlarge klaster kasutas nelja AWS elastsed kangaadapterid (EFA), kokku 400 Gbps sõlmedevahelise ühendusega.

Hajutatud koolitustöötuba illustreerib hajutatud koolitusklastri loomise samme. Seminar näitab hajutatud koolituse seadistust AWS Batchi abil ja eriti mitme sõlmega paralleelsete tööde funktsiooni, et käivitada suuremahulised konteinerõppetööd täielikult hallatud klastrites. Täpsemalt luuakse DL1 eksemplaridega täielikult hallatav AWS-i partiiarvutuskeskkond. Mahutid tõmmatakse välja Amazoni elastsete konteinerite register (Amazon ECR) ja käivitatakse automaatselt klastri eksemplaridesse, tuginedes mitme sõlme paralleeltöö määratlusele. Seminar lõppeb mitme sõlme ja mitme HPU-ga paralleelse BERT-mudeli (340 miljonit kuni 1.5 miljardit parameetrit) andmete koolituse käivitamisega, kasutades PyTorchi ja DeepSpeedi.

BERT 1.5B eeltreening koos DeepSpeediga

Habana SynapseAI v1.5 ja v1.6 toetab DeepSpeed ​​ZeRO1 optimeerimist. The DeepSpeed ​​GitHubi hoidla Habana hark sisaldab Gaudi kiirendite toetamiseks vajalikke muudatusi. Seal on täielik tugi hajutatud andmete paralleelsele (mitme kaardiga, mitme eksemplari), ZeRO1 optimeerimise ja BF16 andmetüüpidele.

Kõik need funktsioonid on seadmes lubatud BERT 1.5B mudeli viitehoidla, mis tutvustab 48-kihilist, 1600 varjatud mõõdet ja 25-pealist kahesuunalist kodeerija mudelit, mis on tuletatud BERTi juurutusest. Hoidlas on ka BERT Large'i mudeli juurutus: 24-kihiline, 1024 peidetud, 16 peaga, 340 miljoni parameetriga närvivõrgu arhitektuur. Koolituseelsed modelleerimisskriptid on tuletatud NVIDIA süvaõppe näidete hoidla Wikicorpus_en andmete allalaadimiseks, töötlemata andmete eeltöötlemiseks märkideks ja andmete jagamiseks väiksemateks h5 andmekogumiteks hajutatud andmete paralleelseks treenimiseks. Seda üldist lähenemisviisi saate kasutada oma kohandatud PyTorchi mudeliarhitektuuride koolitamiseks, kasutades DL1 eksemplare kasutades oma andmekogumeid.

Treeningueelse (1. faasi) skaleerimise tulemused

Suurte mudelite mastaabis eelkoolituse puhul keskendusime peamiselt lahenduse kahele aspektile: koolitustulemused, mida mõõdetakse treenimiseks kuluva aja järgi, ja täielikult ühtlustatud lahenduseni jõudmise kuluefektiivsus. Järgmisena sukeldume nendesse kahte mõõdikusse sügavamale, kasutades näitena BERT 1.5B eelkoolitust.

Skaleeritav jõudlus ja treenimiseks kuluv aeg

Alustuseks mõõdame BERT Large'i juurutuse toimivust skaleeritavuse lähtepunktina. Järgmises tabelis on loetletud järjestuste mõõdetud läbilaskevõime sekundis 1–8 dl1.24xsuurest eksemplarist (kaheksa kiirendiseadet eksemplari kohta). Kasutades lähtetasemena ühe eksemplari läbilaskevõimet, mõõtsime mitme eksemplari skaleerimise tõhusust, mis on oluline hoob hinna ja toimivuse koolituse mõõdiku mõistmisel.

Juhtumite arv Kiirendite arv Jadad sekundis Jadad sekundis kiirendi kohta Skaleerimise efektiivsus
1 8 1,379.76 172.47 100.0%
2 16 2,705.57 169.10 98.04%
4 32 5,291.58 165.36 95.88%
8 64 9,977.54 155.90 90.39%

Järgmine joonis illustreerib skaleerimise efektiivsust.

Accelerate PyTorch with DeepSpeed to train large language models with Intel Habana Gaudi-based DL1 EC2 instances | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

BERT 1.5B puhul muutsime võrdlushoidlas oleva mudeli hüperparameetreid, et tagada lähenemine. Efektiivne partii suurus kiirendi kohta määrati 384-le (maksimaalseks mälukasutuseks), mikropartiideks 16 astme kohta ja 24 gradiendi kogumise sammu. Õppimismäärasid 0.0015 ja 0.003 kasutati vastavalt 8 ja 16 sõlme puhul. Nende konfiguratsioonidega saavutasime BERT 1B 1.5. faasi eelkoolituse konvergentsi 8 dl1.24xsuures eksemplaris (64 kiirendis) ligikaudu 25 tunniga ja 15 tunni jooksul 16 dl1.24xsuures eksemplaris (128 kiirendit). Järgmine joonis näitab keskmist kaotust treeningperioodide arvu funktsioonina, kui suurendame kiirendite arvu.

Accelerate PyTorch with DeepSpeed to train large language models with Intel Habana Gaudi-based DL1 EC2 instances | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Varem kirjeldatud konfiguratsiooniga saime 85% tugeva skaleerimise efektiivsuse 64 kiirendiga ja 83% 128 kiirendiga, kui ühes eksemplaris oli 8 kiirendit. Järgmises tabelis on parameetrid kokku võetud.

Juhtumite arv Kiirendite arv Jadad sekundis Jadad sekundis kiirendi kohta Skaleerimise efektiivsus
1 8 276.66 34.58 100.0%
8 64 1,883.63 29.43 85.1%
16 128 3,659.15 28.59 82.7%

Järgmine joonis illustreerib skaleerimise efektiivsust.

Accelerate PyTorch with DeepSpeed to train large language models with Intel Habana Gaudi-based DL1 EC2 instances | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Järeldus

Selles postituses hindasime Habana SynapseAI v1.5/v1.6 DeepSpeedi tuge ja seda, kuidas see aitab laiendada LLM-koolitust Habana Gaudi kiirenditel. 1.5 miljardi parameetriga BERT-mudeli eelkoolitus võttis 16 Gaudi kiirendist koosnevasse klastrisse koondumiseks aega 128 tundi, mille skaleerimine oli 85%. Soovitame teil heita pilk arhitektuurile, mida demonstreeritakse AWS töötuba ja kaaluge selle kasutuselevõtmist kohandatud PyTorchi mudeliarhitektuuride koolitamiseks DL1 eksemplaride abil.


Autoritest

Accelerate PyTorch with DeepSpeed to train large language models with Intel Habana Gaudi-based DL1 EC2 instances | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Mahadevan Balasubramaniam on autonoomse andmetöötluse peamine lahenduste arhitekt, kellel on peaaegu 20-aastane kogemus füüsikaga seotud sügava õppimise, digitaalsete kaksikute loomise ja juurutamise valdkonnas tööstussüsteemides. Mahadevan omandas doktorikraadi masinaehituse alal Massachusettsi Tehnoloogiainstituudis ning tal on üle 25 patendi ja publikatsiooni.

Accelerate PyTorch with DeepSpeed to train large language models with Intel Habana Gaudi-based DL1 EC2 instances | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.RJ on Search M5 meeskonna insener, kes juhib suuremahuliste süvaõppesüsteemide loomist koolituse ja järelduste tegemiseks. Töövälisel ajal uurib ta erinevaid toidukööke ja tegeleb reketispordiga.

Accelerate PyTorch with DeepSpeed to train large language models with Intel Habana Gaudi-based DL1 EC2 instances | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Sundar Ranganathan on Amazon EC2 meeskonna ML Frameworksi äriarenduse juht. Ta keskendub suuremahulistele ML-i töökoormustele AWS-i teenustes, nagu Amazon EKS, Amazon ECS, Elastic Fabric Adapter, AWS Batch ja Amazon SageMaker. Tema kogemused hõlmavad juhtrolli tootehalduses ja tootearenduses NetAppis, Micron Technology's, Qualcommis ja Mentor Graphicsis.

Accelerate PyTorch with DeepSpeed to train large language models with Intel Habana Gaudi-based DL1 EC2 instances | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Abhinandan Patni on Amazon Searchi vanemtarkvarainsener. Ta keskendub süsteemide ja tööriistade loomisele skaleeritava hajutatud süvaõppe koolituse ja reaalajas järelduste tegemiseks.

Accelerate PyTorch with DeepSpeed to train large language models with Intel Habana Gaudi-based DL1 EC2 instances | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Pierre-Yves Aquilanti on Amazon Web Services Frameworksi ML-lahenduste juht, kus ta aitab arendada valdkonna parimaid pilvepõhiseid ML Frameworksi lahendusi. Tema taust on kõrgjõudlusega andmetöötluse alal ja enne AWS-iga liitumist töötas Pierre-Yves nafta- ja gaasitööstuses. Pierre-Yves on pärit Prantsusmaalt ja omab Ph.D. Lille'i ülikooli arvutiteaduse erialal.

Ajatempel:

Veel alates AWS-i masinõpe