Modelele lingvistice mari (sau LLM) au devenit un subiect de conversație zilnică. Adoptarea lor rapidă este evidentă prin timpul necesar pentru a ajunge la 100 de milioane de utilizatori, care a trecut de la „4.5 ani pe Facebook” la un minim istoric de doar „2 luni prin ChatGPT”. Un transformator generativ pre-antrenat (GPT) folosește actualizări autoregresive cauzale pentru a face predicții. Varietatea de sarcini, cum ar fi recunoașterea vorbirii, generarea de text și răspunsul la întrebări sunt demonstrate a avea performanțe uimitoare prin aceste arhitecturi model. Mai multe modele recente precum Neox, Şoim, Lamă utilizați arhitectura GPT ca coloană vertebrală. Formarea LLM-urilor necesită o cantitate colosală de timp de calcul, care costă milioane de dolari. În această postare, vom rezuma procedura de formare a GPT Neox on AWS Trainium, un accelerator de învățare automată (ML) creat special, optimizat pentru formarea de deep learning. Vom sublinia modul în care am antrenat astfel de modele cu AWS Trainium în mod eficient (3.2 milioane de jetoane/$) fără a pierde calitatea modelului.
Prezentare generală a soluțiilor
Modele GPT NeoX și Pythia
GPT NeoX și Pythia sunt modelele de limbaj cauzal open-source ale Eleuther-AI cu aproximativ 20 de miliarde de parametri în NeoX și 6.9 miliarde în Pythia. Ambele sunt modele de decodor care urmează un design arhitectural similar cu Chat GPT3. Cu toate acestea, au și câteva completări, care sunt, de asemenea, adoptate pe scară largă în modelele recente precum Llama. În special, au încorporare pozițională rotațională (ROPE) cu rotație parțială pe dimensiunile capului. Modelele originale (NeoX și Pythia 6.9B) sunt instruite pentru a fi disponibile în mod deschis Adunați setul de date cu deduplicare și folosind backend Megatron și Deepspeed.
Demonstrăm pregătirea prealabilă și reglarea fină a acestor modele pe instanțe Trn1 bazate pe AWS Trainium folosind Neuron NeMo bibliotecă. Pentru a stabili dovada conceptului și reproducerea rapidă, vom folosi un subset de date Wikipedia mai mic tokenizat folosind tokenizer GPT2 de codare perechi de octeți (BPE).
walkthrough
Descărcați setul de date Wikipedia pre-tokenizat, așa cum se arată:
Atât NeoX 20B, cât și Pythia 6.9B folosesc ROPE cu rotație parțială, de exemplu, rotind 25% din dimensiunile capului și menținând restul nerotit. Pentru a implementa eficient rotația parțială pe acceleratorul AWS Trainium, în loc să concatenăm dimensiunile rotative și nerotative, adăugăm frecvențe zero pentru dimensiunile nerotative și apoi rotim setul complet de dimensiuni ale capului. Acest truc simplu ne-a ajutat să îmbunătățim debitul (secvențe procesate pe secundă) pe AWS Trainium.
Etapele antrenamentului
Pentru a rula instruirea, folosim Amazon Elastic Compute Cloud multi-nod gestionat SLURM (Amazon EC2) Cluster Trn1, fiecare nod conținând o instanță trn1.32xl. Fiecare trn1.32xl are 16 acceleratoare cu doi muncitori pe accelerator. După descărcarea celui mai recent Neuron NeMo pachet, utilizați cel furnizat neox și Pythia scripturi de pre-antrenare și reglare fină cu hiper-parametri optimizați și executați următoarele pentru un antrenament cu patru noduri.
- Compilați: precompilați modelul cu trei iterații de tren pentru a genera și salva graficele:
- Run: Executați antrenamentul încărcând graficele din cache de la primii pași
- Monitorizați rezultatele
Trebuie urmați aceiași pași pentru rularea modelului Pythia 6.9B cu înlocuire neox_20B_slurm.sh
by pythia_6.9B_slurm.sh
.
Experimente de pre-antrenament și de reglare fină
Demonstrăm pre-antrenarea modelelor GPT-NeoX și Pythia pe AWS Trainium folosind Neuron NeMo bibliotecă pentru 10k iterații și, de asemenea, arată reglajul fin al acestor modele pentru 1k pași. Pentru antrenament prealabil, folosim tokenizatorul GPT2 BPE în interiorul NeMo și urmăm același lucru config asa cum este folosit in modelul original. Reglarea fină pe AWS Trainium necesită modificarea a câțiva parametri (cum ar fi factorul de divizare a mărimii vocabularului), care sunt furnizate în scripturile de reglare fină pentru a se adapta la diferențele Megatron față de NeMo și GPU față de AWS Trainium. Debitul de antrenament distribuit cu mai multe noduri cu un număr diferit de noduri este prezentat în Tabelul-1.
Model | Tensor paralel | Conductă paralelă | Număr de cazuri | Cost ($/oră) | Lungimea secvenței | Dimensiunea globală a lotului | Debit (seq/sec) | Raportul cost-debit (jetoane/$) |
Pythia 6.9B | 8 | 1 | 1 | 7.59 | 2048 | 256 | 10.4 | 10,102,387 |
8 | 1 | 4 | 30.36 | 2048 | 256 | 35.8 | 8,693,881 | |
NeoX 20B | 8 | 4 | 4 | 30.36 | 2048 | 16384 | 13.60 | 3,302,704 |
8 | 4 | 8 | 60.72 | 2048 | 16384 | 26.80 | 3,254,134 | |
8 | 4 | 16 | 121.44 | 2048 | 16384 | 54.30 | 3,296,632 | |
8 | 4 | 32 | 242.88 | 2048 | 16384 | 107.50 | 3,263,241 | |
8 | 4 | 64 | 485.76 | 2048 | 16384 | 212.00 | 3,217,708 |
Tabelul 1. Compararea randamentului mediu al modelelor GPT NeoX și Pythia pentru antrenarea până la 500 de pași cu schimbarea numărului de noduri. The prețul de trn1.32xl se bazează pe tariful efectiv pe oră rezervat pe 3 ani.
Apoi, evaluăm, de asemenea, traiectoria de pierdere a modelului de antrenament pe AWS Trainium și o comparăm cu rularea corespunzătoare pe un cluster P4d (nuclee GPU Nvidia A100). Împreună cu pierderea de antrenament, comparăm și un indicator util, cum ar fi norma gradientului, care este 2-normă a gradienților modelului calculați la fiecare iterație de antrenament pentru a monitoriza progresul antrenamentului. Rezultatele antrenamentului sunt prezentate în Figura-1, 2 și reglajul fin al NeoX 20B în Figura-3.
Figura 1. Pierderea de formare este în medie pentru toți lucrătorii (stânga) și norma de gradient (dreapta) la fiecare pas. NeoX 20B este antrenat pe 4 noduri cu un set de date wiki mic pe GPU și Trainium cu aceiași hiper-parametri de antrenament (dimensiune globală a lotului = 256). GPU utilizează BF16 și precizie mixtă implicită, în timp ce AWS Trainium utilizează BF16 complet cu rotunjire stocastică. Traiectoriile normelor de pierdere și gradient se potrivesc pentru GPU și AWS Trainium.
Figura 2. Pierderea de formare este în medie pentru toți lucrătorii (stânga) și norma de gradient (dreapta) la fiecare pas. Similar cu GPT NeoX din Figura-1, Pythia 6.9B este antrenat pe 4 noduri cu un set de date wiki mic pe GPU și Trainium cu aceiași hiper-parametri de antrenament (dimensiunea globală a lotului = 256). Traiectoriile normelor de pierdere și gradient se potrivesc pentru GPU și Trainium.
Figura 3. Ajustarea fină a modelului GPT NeoX 20B pe GPU și AWS Trainium, cu o medie de pierdere de antrenament pentru toți lucrătorii (stânga) și norma de gradient (dreapta). Un mic set de date wiki este folosit pentru demonstrația de reglare fină. Traiectoriile normelor de pierdere și gradient se potrivesc pentru GPU și AWS Trainium.
În această postare, am arătat o pregătire eficientă din punct de vedere al costurilor a LLM-urilor pe hardware-ul de învățare profundă AWS. Am antrenat modele GPT NeoX 20B și Pythia 6.9B pe AWS Trn1 cu biblioteca Neuron NeMo. Debitul normalizat de cost pentru 20 de miliarde de modele cu AWS Trainium este de aproximativ 3.2 milioane de jetoane/$ cheltuit. Împreună cu antrenamentul eficient din punct de vedere al costurilor pe AWS Trainium, obținem o precizie similară a modelului, care este evidentă din pierderea pasului de antrenament și traiectoria normei de gradient. De asemenea, am ajustat punctele de control disponibile pentru modelul NeoX 20B pe AWS Trainium. Pentru informații suplimentare despre instruirea distribuită cu NeMo Megatron pe AWS Trainium, consultați Referință AWS Neuron pentru NeMo Megatron. O resursă bună pentru a începe reglarea fină a modelului Llama poate fi găsită aici, Llama2 reglaj fin. Pentru a începe cu gestionat AWS Trainium activat Amazon SageMaker, A se vedea Antrenați-vă modelele ML cu AWS Trainium și Amazon SageMaker.
Despre Autori
Gaurav Gupta este în prezent un om de știință aplicat la laboratoarele AI Amazon Web Services (AWS). Dr. Gupta și-a terminat doctoratul la USC Viterbi. Interesele sale de cercetare acoperă domeniul modelării datelor secvențiale, învățarea ecuațiilor diferențiale parțiale, teoria informațiilor pentru învățarea automată, modelele dinamice fracționale și rețelele complexe. În prezent lucrează la probleme aplicate și matematice privind comportamentul de antrenament al LLM, modele de viziune cu PDE, modele multi-modalitate teoretice informaționale. Dr. Gupta are publicații în reviste/conferințe de top precum Neurips, ICLR, ICML, Nature, IEEE Control Society, ACM cyber-physical society.
Ben Snyder este un om de știință aplicat cu AWS Deep Learning. Interesele sale de cercetare includ modele fundamentale, învățare prin consolidare și optimizare asincronă. În afara serviciului, îi place să meargă cu bicicleta și să campeze în spate.
Amith (R) Mamidala este inginerie senior de aplicații de învățare automată la AWS Annapurna Labs. Dr. Mamidala și-a terminat doctoratul la Universitatea de Stat din Ohio în calcul și comunicare de înaltă performanță. În timpul mandatului său la IBM Research, dr. Mamidala a contribuit la clasa de computere BlueGene, care a condus adesea clasamentul Top500 al celor mai puternice și eficiente supercomputere. Proiectul a primit în 2009 Medalia Națională de Tehnologie și Inovare. După o scurtă perioadă ca inginer AI la un fond de acoperire financiară, dr. Mamidala s-a alăturat laboratoarelor Annapurna, concentrându-se pe formarea modelelor de limbaj mari.
Jun (Luca) Huan este un om de știință principal la AWS AI Labs. Dr. Huan lucrează la AI și Data Science. A publicat peste 180 de lucrări evaluate de colegi în conferințe și reviste de top. El a primit premiul NSF Faculty Early Career Development Award în 2009. Înainte de a se alătura AWS, a lucrat la Baidu Research ca om de știință distins și șeful Baidu Big Data Laboratory. A fondat StylingAI Inc., un start-up AI și a lucrat ca CEO și Chief Scientist în 2019-2021. Înainte de a se alătura industriei, a fost profesor Charles E. și Mary Jane Spahr la Departamentul EECS de la Universitatea din Kansas.
Shruti Koparkar este Senior Product Marketing Manager la AWS. Ea îi ajută pe clienți să exploreze, să evalueze și să adopte infrastructura de calcul accelerată Amazon EC2 pentru nevoile lor de învățare automată.
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- PlatoData.Network Vertical Generative Ai. Împuterniciți-vă. Accesați Aici.
- PlatoAiStream. Web3 Intelligence. Cunoștințe amplificate. Accesați Aici.
- PlatoESG. carbon, CleanTech, Energie, Mediu inconjurator, Solar, Managementul deșeurilor. Accesați Aici.
- PlatoHealth. Biotehnologie și Inteligență pentru studii clinice. Accesați Aici.
- Sursa: https://aws.amazon.com/blogs/machine-learning/frugality-meets-accuracy-cost-efficient-training-of-gpt-neox-and-pythia-models-with-aws-trainium/
- :are
- :este
- $UP
- 1
- 10
- 100
- 10 K
- 120
- 16
- 160
- 180
- 20
- 500
- 7
- 9
- a
- accelerat
- accelerator
- acceleratoare
- găzdui
- precizie
- ACM
- peste
- Suplimentar
- informatii suplimentare
- adăugări
- adopta
- adoptată
- Adoptare
- După
- AI
- TOATE
- de-a lungul timpului scăzut
- de-a lungul
- de asemenea
- Amazon
- Amazon EC2
- Amazon Web Services
- Amazon Web Services (AWS)
- sumă
- an
- și
- Orice
- aplicație
- aplicat
- aproximativ
- arhitectural
- arhitectură
- SUNT
- în jurul
- AS
- At
- disponibil
- acordare
- acordate
- AWS
- Șira spinării
- Backend
- Baidu
- bazat
- BE
- deveni
- înainte
- comportament
- Mare
- Datele mari
- Miliard
- BIN
- atât
- by
- Carieră
- CD
- CEO
- Schimbare
- Modificări
- schimbarea
- Charles
- Chat GPT
- şef
- clasă
- Cloud
- Grup
- Comunicare
- comparaţie
- compararea
- Completă
- Terminat
- complex
- Calcula
- Calculatoare
- tehnica de calcul
- conferințe
- Contribuit
- Control
- conversații
- Corespunzător
- A costat
- Cheltuieli
- ar putea
- În prezent
- clienţii care
- zilnic
- de date
- știința datelor
- adânc
- învățare profundă
- Mod implicit
- demonstra
- demonstrat
- Departament
- Amenajări
- Dezvoltare
- diferenţele
- Dimensiuni
- Distins
- distribuite
- instruire distribuită
- diviziune
- de dolari
- domeniu
- descărcarea
- dr
- Dr. Gupta
- în timpul
- e
- fiecare
- Devreme
- Eficace
- eficient
- Încorporarea
- codare
- inginer
- Inginerie
- ecuații
- stabili
- evalua
- evident
- exemplu
- a executa
- explora
- puțini
- financiar
- First
- primii pasi
- concentrându-se
- urma
- a urmat
- următor
- Pentru
- găsit
- fundamentale
- Fondat
- patru
- fracționar
- din
- Complet
- fond
- genera
- generaţie
- generativ
- obține
- Caritate
- plecat
- bine
- GPU
- gradienți
- grafice
- Gupta
- Piese metalice
- Avea
- he
- cap
- gard viu
- fondul de hedging
- a ajutat
- ajută
- aici
- Înalt
- lui
- oră
- Cum
- Totuși
- HTML
- HTTPS
- Față îmbrățișată
- IBM
- idx
- IEEE
- punerea în aplicare a
- îmbunătăţi
- in
- Inc
- include
- Indicator
- industrie
- informații
- Infrastructură
- Inovaţie
- în interiorul
- instanță
- in schimb
- interese
- IT
- repetare
- iterații
- jane
- alăturat
- aderarea
- jpg
- JSON
- Kansas
- păstrare
- laborator
- Labs
- limbă
- mare
- Ultimele
- conducere
- învăţare
- Led
- stânga
- Lungime
- Bibliotecă
- Lamă
- încărcare
- care pierde
- de pe
- Jos
- maşină
- masina de învățare
- face
- gestionate
- manager
- Marketing
- Meci
- matematic
- însemna
- se intalneste
- Mers
- meta
- milion
- milioane
- ML
- model
- modelare
- Modele
- monitor
- luni
- mai mult
- cele mai multe
- național
- Natură
- nevoilor
- rețele
- nod
- noduri
- FSN
- număr
- Nvidia
- obține
- of
- de multe ori
- Ohio
- on
- open-source
- deschis
- optimizare
- optimizate
- or
- original
- schiță
- exterior
- pachet
- lucrări
- parametrii
- în special
- peer-revizuite
- pentru
- performanță
- PhD
- Plato
- Informații despre date Platon
- PlatoData
- Post
- puternic
- prezicere
- Principal
- probleme
- procedură
- Procesat
- Produs
- Profesor
- Progres
- proiect
- prevăzut
- Publicații
- publicat
- calitate
- întrebare
- Rapid
- R
- Clasat
- rată
- raport
- ajunge
- recent
- recunoaştere
- referință
- reproducere
- necesar
- Necesită
- cercetare
- rezervat
- resursă
- REST
- REZULTATE
- dreapta
- rotunjire
- Alerga
- funcţionare
- acelaşi
- Economisiți
- Ştiinţă
- Om de stiinta
- script-uri
- SEC
- vedea
- senior
- Servicii
- set
- câteva
- ea
- Arăta
- a arătat
- indicat
- asemănător
- simplu
- Mărimea
- mic
- mai mici
- Societate
- deschidere
- discurs
- Recunoaștere a vorbirii
- uzat
- Începe
- Discovery
- început
- Stat
- Pas
- paşi
- astfel de
- rezuma
- sarcini
- Tehnologia
- a) Sport and Nutrition Awareness Day in Manasia Around XNUMX people from the rural commune Manasia have participated in a sports and healthy nutrition oriented activity in one of the community’s sports ready yards. This activity was meant to gather, mainly, middle-aged people from a Romanian rural community and teach them about the benefits that sports have on both their mental and physical health and on how sporting activities can be used to bring people from a community closer together. Three trainers were made available for this event, so that the participants would get the best possible experience physically and so that they could have the best access possible to correct information and good sports/nutrition practices. b) Sports Awareness Day in Poiana Țapului A group of young participants have taken part in sporting activities meant to teach them about sporting conduct, fairplay, and safe physical activities. The day culminated with a football match.
- decât
- lor
- apoi
- teorie
- Acestea
- ei
- acest
- trei
- debit
- timp
- la
- cuvinte pot
- top
- subiect
- față de
- Tren
- dresat
- Pregătire
- traiectorie
- transformator
- Două
- universitate
- actualizări
- us
- utilizare
- utilizat
- utilizatorii
- utilizări
- folosind
- varietate
- variabil
- Impotriva
- viziune
- a fost
- we
- web
- servicii web
- care
- în timp ce
- pe larg
- Wikipedia
- cu
- fără
- Apartamente
- a lucrat
- muncitorii
- de lucru
- fabrică
- Ta
- zephyrnet
- zero