Suurista kielimalleista (tai LLM:istä) on tullut päivittäisten keskustelujen aihe. Niiden nopea omaksuminen näkyy 100 miljoonan käyttäjän saavuttamiseen tarvittavassa ajassa, joka on noussut "4.5 vuotta Facebookissa" kaikkien aikojen alhaisimmalle tasolle, "2 kuukautta ChatGPT:llä". Generatiivinen esikoulutettu muuntaja (GPT) käyttää kausaalisia autoregressiivisiä päivityksiä ennustaakseen. Erilaisten tehtävien, kuten puheentunnistuksen, tekstin luomisen ja kysymyksiin vastaamisen, on osoitettu olevan näiden malliarkkitehtuurien uskomaton suorituskyky. Useita viimeaikaisia malleja, mm Neox, Haukka, liekki käyttää GPT-arkkitehtuuria selkärankana. LLM:ien kouluttaminen vaatii valtavan määrän laskenta-aikaa, joka maksaa miljoonia dollareita. Tässä viestissä teemme yhteenvedon GPT:n koulutusmenettelystä Neox on AWS Trainium, tarkoitukseen rakennettu koneoppimiskiihdytin (ML), joka on optimoitu syvän oppimisen koulutukseen. Selvitämme, kuinka kustannustehokkaasti (3.2 miljoonaa tokenia/$) koulutimme tällaisia malleja AWS Trainiumilla menettämättä mallin laatua.
Ratkaisun yleiskatsaus
GPT NeoX ja Pythia mallit
GPT NeoX ja Pythia ovat Eleuther-AI:n avoimen lähdekoodin kausaalikielimalleja, joissa on noin 20 miljardia parametria NeoX:ssä ja 6.9 miljardia Pythiassa. Molemmat ovat dekooderimalleja, jotka noudattavat samanlaista arkkitehtuuria kuin Chat GPT3. Niissä on kuitenkin myös useita lisäyksiä, jotka ovat myös laajalti käytössä viimeaikaisissa malleissa, kuten Llama. Erityisesti niissä on rotaatio-asentoinen upotus (ROPE), jossa on osittainen pyöriminen pään mittojen yli. Alkuperäiset mallit (NeoX ja Pythia 6.9B) koulutetaan avoimesti saataville Paalun tietojoukko duplikoinnin poistamisen ja Megatronin ja Deepspeed-taustajärjestelmän avulla.
Esittelemme näiden mallien esikoulutusta ja hienosäätöä AWS Trainium -pohjaisissa Trn1-esiintymissä käyttämällä Neuron NeMo kirjasto. Käytämme pienempää Wikipedia-tietojoukon osajoukkoa, joka on tokenoitu GPT2 Byte-pair encoding (BPE) -tokenisaattorilla.
Walkthrough
Lataa valmiiksi tokenoitu Wikipedia-tietojoukko kuvan mukaisesti:
Sekä NeoX 20B että Pythia 6.9B käyttävät ROPEa osittaisella kiertoliikkeellä, esimerkiksi pyörittämällä 25 % pään mitoista ja pitämällä loput pyörittämättä. Toteuttaaksemme osittaisen pyörityksen tehokkaasti AWS Trainium -kiihdyttimessä, sen sijaan, että yhdistämme pyörivät ja ei-pyörivät mitat, lisäämme nollataajuuksia ei-pyöriville mitoille ja kierrämme sitten koko sarjan pään mittoja. Tämä yksinkertainen temppu auttoi meitä parantamaan AWS Trainiumin suoritustehoa (sekunnissa käsitellyt sekvenssit).
Harjoittelun vaiheet
Koulutuksen suorittamiseen käytämme SLURM-hallittua monisolmuista Amazon Elastic Compute Cloudia (Amazon EC2) Trn1-klusteri, jossa jokainen solmu sisältää trn1.32xl-ilmentymän. Jokainen trn1.32xl on 16 kiihdytintä ja kaksi työntekijää kiihdytintä kohden. Kun olet ladannut uusimman Neuron NeMo paketti, käytä mukana toimitettua neox ja Pythia esikouluttaa ja hienosäätää komentosarjoja optimoiduilla hyperparametreilla ja suorittaa seuraavat neljän solmun harjoitukselle.
- Kääntäminen: Esikäännä malli kolmella harjoitusiteraatiolla luodaksesi ja tallentaaksesi kaaviot:
- Suorita: Suorita harjoitus lataamalla välimuistissa olevat kaaviot ensimmäisistä vaiheista alkaen
- Seuraa tuloksia
Samat vaiheet on suoritettava Pythia 6.9B -mallin ajossa vaihtamisen kanssa neox_20B_slurm.sh
by pythia_6.9B_slurm.sh
.
Esiharjoittelu ja hienosäätökokeilut
Esittelemme GPT-NeoX- ja Pythia-mallien esikoulutusta AWS Trainiumilla käyttämällä Neuron NeMo kirjasto 10 1 iteraatiolle ja näytä myös näiden mallien hienosäätö 2 XNUMX askelta varten. Esiharjoitteluun käytämme NeMo:n sisällä olevaa GPTXNUMX BPE -merkkiä ja noudatamme samaa config alkuperäisessä mallissa käytettynä. AWS Trainiumin hienosäätö vaatii muutamien parametrien muuttamisen (esim sanan koon jakotekijä), jotka sisältyvät hienosäätöskripteihin Megatronin ja NeMo-erojen sekä GPU:n ja AWS Trainiumin muutosten huomioon ottamiseksi. Monisolmuinen hajautettu opetuskapasiteetti vaihtelevalla solmumäärällä on esitetty taulukossa-1.
Malli | Tensorin rinnakkais | Putkilinja yhdensuuntainen | Tapausten lukumäärä | Hinta ($/tunti) | Sekvenssin pituus | Globaali eräkoko | Suorituskyky (seq/s) | Kustannustehosuhde (tokens/$) |
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 |
Taulukko 1. GPT NeoX- ja Pythia-mallien keskimääräisen suorituskyvyn vertailu jopa 500 askeleen harjoitteluun muuttuvalla solmumäärällä. The hinta trn1.32xl perustuu 3 vuoden varattuun efektiiviseen tuntihintaan.
Seuraavaksi arvioimme myös AWS Trainiumin mallikoulutuksen menetysrataa ja vertaamme sitä vastaavaan ajoon P4d (Nvidia A100 GPU core) -klusterilla. Harjoitteluhäviön ohella vertaamme myös hyödyllistä indikaattoria, kuten gradienttinormia, joka on 2-normi jokaisessa harjoitusiteraatiossa lasketuista malligradienteista harjoituksen edistymisen seuraamiseksi. Harjoitustulokset näkyvät kuvassa 1, 2 ja NeoX 20B:n hienosäätö kuvassa 3.
Kuvio 1. Harjoitteluhäviön keskiarvo lasketaan kaikista työntekijöistä (vasemmalla) ja gradientin normista (oikealla) koulutuksessa kussakin vaiheessa. NeoX 20B on koulutettu 4 solmussa pienellä wiki-tietojoukolla GPU:lla ja Trainiumilla samoilla harjoitushyperparametreilla (globaali eräkoko = 256). GPU käyttää BF16:ta ja oletuksena sekoitettua tarkkuutta, kun taas AWS Trainium käyttää täyttä BF16:ta stokastisella pyöristyksellä. Häviö- ja gradienttinormien liikeradat vastaavat GPU:ta ja AWS Trainiumia.
Kuvio 2. Harjoitteluhäviön keskiarvo lasketaan kaikista työntekijöistä (vasemmalla) ja gradientin normista (oikealla) koulutuksessa kussakin vaiheessa. Samoin kuin GPT NeoX kuvassa 1, Pythia 6.9B on opetettu 4 solmussa pienellä wiki-tietojoukolla GPU:ssa ja Trainiumissa samoilla harjoitushyperparametreilla (globaali eräkoko = 256). Häviö- ja gradienttinormien liikeradat vastaavat GPU:ta ja Trainiumia.
Kuvio 3. Hienosäätö GPT NeoX 20B -mallia GPU:ssa ja AWS Trainiumissa, jossa harjoitushäviö lasketaan keskiarvoisesti kaikille työntekijöille (vasemmalla) ja gradienttinormilla (oikealla). Pientä wiki-aineistoa käytetään hienosäätöesittelyyn. Häviö- ja gradienttinormien liikeradat vastaavat GPU:ta ja AWS Trainiumia.
Tässä viestissä näytimme kustannustehokasta LLM-koulutusta AWS-syväoppimislaitteistolla. Koulutimme GPT NeoX 20B- ja Pythia 6.9B -malleja AWS Trn1:llä Neuron NeMo -kirjaston kanssa. Kustannusten normalisoitu läpimeno 20 miljardille mallille AWS Trainiumilla on noin 3.2 miljoonaa tokenia / käytetty dollari. Kustannustehokkaan AWS Trainiumin koulutuksen ohella saamme samanlaisen mallin tarkkuuden, mikä näkyy harjoitusaskeleiden häviössä ja gradienttinormin liikeradassa. Hienosäädimme myös AWS Trainiumin NeoX 20B -mallin käytettävissä olevia tarkistuspisteitä. Lisätietoja jaetusta NeMo Megatronin harjoittelusta AWS Trainium -sovelluksella on osoitteessa AWS Neuron Reference NeMo Megatronille. Hyvä resurssi Llama-mallin hienosäädön aloittamiseen löytyy täältä, Llama2 hienosäätö. Pääset alkuun hallitun AWS Trainiumin käyttöönotolla Amazon Sage MakerKatso Harjoittele ML-mallejasi AWS Trainiumin ja Amazon SageMakerin avulla.
Tietoja Tekijät
Gaurav Gupta on tällä hetkellä soveltava tutkija Amazon Web Services (AWS) AI Labsissa. Tohtori Gupta valmistui tohtoriksi USC Viterbistä. Hänen tutkimusintressinsä kattavat peräkkäisen datamallinnuksen, osittaisdifferentiaaliyhtälöiden oppimisen, koneoppimisen tietoteorian, dynaamisten murtomallien ja monimutkaisten verkkojen. Hän työskentelee parhaillaan sovellettavien ja matemaattisten ongelmien parissa LLM-harjoittelukäyttäytymisessä, näkemysmalleissa PDE:illä, informaatioteoreettisilla multimodaalisuusmalleilla. Dr. Guptalla on julkaisuja huippulehdissä/konferensseissa, kuten Neurips, ICLR, ICML, Nature, IEEE Control Society, ACM cyber-physical Society.
Ben Snyder on AWS Deep Learning -tutkija. Hänen tutkimusalueitaan ovat perusmallit, vahvistusoppiminen ja asynkroninen optimointi. Työn ulkopuolella hän harrastaa pyöräilyä ja retkeilyä.
Amith (R) Mamidala on vanhempi koneoppimissovellussuunnittelu AWS Annapurna Labsissa. Tohtori Mamidala valmistui tohtoriksi Ohion osavaltion yliopistossa korkean suorituskyvyn tietojenkäsittelystä ja viestinnästä. IBM:n tutkimuksessa toimiessaan tohtori Mamidala osallistui BlueGene-tietokoneiden luokkaan, joka usein johti Top500-listaa tehokkaimmista ja energiatehokkaimmista supertietokoneista. Hanke palkittiin 2009 teknologian ja innovaation kansallisella mitalilla. Lyhyen työskentelyn jälkeen tekoälyinsinöörinä rahoitusalan hedge-rahastossa, tohtori Mamidala liittyi Annapurnan laboratorioihin keskittyen Large Language -mallikoulutukseen.
Jun (Luke) Huan on AWS AI Labsin johtava tutkija. Dr. Huan työskentelee tekoälyn ja tietotieteen parissa. Hän on julkaissut yli 180 vertaisarvioitua artikkelia johtavissa konferensseissa ja aikakauslehdissä. Hän sai NSF Faculty Early Career Development Award -palkinnon vuonna 2009. Ennen AWS:ään liittymistään hän työskenteli Baidu-tutkimuksessa ansioituneena tutkijana ja Baidu Big Data Laboratoryn johtajana. Hän perusti StylingAI Inc:n, tekoälystart-up-yrityksen, ja työskenteli toimitusjohtajana ja päätutkijana vuosina 2019-2021. Ennen teollisuuteen siirtymistään hän oli Charles E. ja Mary Jane Spahrin professori Kansasin yliopiston EECS-osastolla.
Shruti Koparkar on AWS:n tuotemarkkinointipäällikkö. Hän auttaa asiakkaita tutkimaan, arvioimaan ja ottamaan käyttöön Amazon EC2:n nopeutetun laskentainfrastruktuurin koneoppimistarpeisiinsa.
- SEO-pohjainen sisällön ja PR-jakelu. Vahvista jo tänään.
- PlatoData.Network Vertical Generatiivinen Ai. Vahvista itseäsi. Pääsy tästä.
- PlatoAiStream. Web3 Intelligence. Tietoa laajennettu. Pääsy tästä.
- PlatoESG. hiili, CleanTech, energia, ympäristö, Aurinko, Jätehuolto. Pääsy tästä.
- PlatonHealth. Biotekniikan ja kliinisten kokeiden älykkyys. Pääsy tästä.
- Lähde: https://aws.amazon.com/blogs/machine-learning/frugality-meets-accuracy-cost-efficient-training-of-gpt-neox-and-pythia-models-with-aws-trainium/
- :on
- :On
- $ YLÖS
- 1
- 10
- 100
- 10K
- 120
- 16
- 160
- 180
- 20
- 500
- 7
- 9
- a
- kiihtyi
- kiihdytin
- kiihdyttimiä
- majoittaa
- tarkkuus
- ACM
- poikki
- lisä-
- lisäinformaatio
- lisäyksiä
- hyväksyä
- hyväksytty
- Hyväksyminen
- Jälkeen
- AI
- Kaikki
- kaikkien aikojen alhainen
- pitkin
- Myös
- Amazon
- Amazon EC2
- Amazon Web Services
- Amazon Web Services (AWS)
- määrä
- an
- ja
- Kaikki
- Hakemus
- sovellettu
- suunnilleen
- arkkitehtuurin
- arkkitehtuuri
- OVAT
- noin
- AS
- At
- saatavissa
- palkinto
- palkittiin
- AWS
- Selkäranka
- taustaosa
- Baidu
- perustua
- BE
- tulevat
- ennen
- käyttäytyminen
- Iso
- Big Data
- Miljardi
- BIN
- sekä
- by
- Ura
- CD
- toimitusjohtaja
- muuttaa
- Muutokset
- muuttuviin
- Kaarle
- ChatGPT
- päällikkö
- luokka
- pilvi
- Cluster
- Viestintä
- verrata
- vertaamalla
- täydellinen
- Valmistunut
- monimutkainen
- Laskea
- tietokoneet
- tietojenkäsittely
- konferenssit
- osaltaan
- ohjaus
- keskustelut
- vastaava
- Hinta
- kustannukset
- voisi
- Tällä hetkellä
- Asiakkaat
- päivittäin
- tiedot
- tietojenkäsittely
- syvä
- syvä oppiminen
- oletusarvo
- osoittaa
- osoittivat
- osasto
- Malli
- Kehitys
- erot
- mitat
- hienostunut
- jaettu
- hajautettu koulutus
- Divisioona
- dollaria
- verkkotunnuksen
- lataaminen
- dr
- Tohtori Gupta
- aikana
- e
- kukin
- Varhainen
- Tehokas
- tehokkaasti
- upottamisen
- koodaus
- insinööri
- Tekniikka
- yhtälöt
- perustaa
- arvioida
- ilmeinen
- esimerkki
- suorittaa
- tutkia
- harvat
- taloudellinen
- Etunimi
- Ensiaskeleet
- tarkennus
- seurata
- seurannut
- jälkeen
- varten
- löytyi
- perustava
- Perustettu
- neljä
- murto-
- alkaen
- koko
- rahasto
- tuottaa
- sukupolvi
- generatiivinen
- saada
- Global
- poissa
- hyvä
- GPU
- kaltevuudet
- kaaviot
- Gupta
- Palvelimet
- Olla
- he
- pää
- hedge
- hedge-rahasto
- auttanut
- auttaa
- tätä
- Korkea
- hänen
- tunti
- Miten
- Kuitenkin
- HTML
- HTTPS
- HalaaKasvot
- IBM
- IDX
- IEEE
- toteuttaa
- parantaa
- in
- Inc.
- sisältää
- Osoitin
- teollisuus
- tiedot
- Infrastruktuuri
- Innovaatio
- sisällä
- esimerkki
- sen sijaan
- etu
- IT
- iteraatio
- toistojen
- jane
- liittyi
- tuloaan
- jpg
- json
- Kansas
- pito
- laboratorio
- Labs
- Kieli
- suuri
- uusin
- johtava
- oppiminen
- Led
- vasemmalle
- Pituus
- Kirjasto
- liekki
- lastaus
- menettää
- pois
- Matala
- kone
- koneoppiminen
- tehdä
- onnistui
- johtaja
- Marketing
- ottelu
- matemaattinen
- tarkoittaa
- Meets
- pelkkä
- Meta
- miljoona
- miljoonia
- ML
- malli
- mallintaminen
- mallit
- monitori
- kk
- lisää
- eniten
- kansallinen
- luonto
- tarpeet
- verkot
- solmu
- solmut
- NSF
- numero
- Nvidia
- saada
- of
- usein
- Ohio
- on
- avoimen lähdekoodin
- avoimesti
- optimointi
- optimoitu
- or
- alkuperäinen
- ääriviivat
- ulkopuolella
- paketti
- paperit
- parametrit
- erityisesti
- vertaisarvioitujen
- varten
- suorituskyky
- phd
- Platon
- Platonin tietotieto
- PlatonData
- Kirje
- voimakas
- ennustus
- Pääasiallinen
- ongelmia
- menettelyt
- Käsitelty
- Tuotteet
- Opettaja
- Edistyminen
- projekti
- mikäli
- julkaisut
- julkaistu
- laatu
- kysymys
- nopea
- R
- Sijoitus
- hinta
- suhde
- tavoittaa
- äskettäinen
- tunnustaminen
- viite
- lisääntyminen
- tarvitaan
- Vaatii
- tutkimus
- varattu
- resurssi
- REST
- tulokset
- oikein
- pyöristys
- ajaa
- juoksu
- sama
- Säästä
- tiede
- Tiedemies
- skriptejä
- SEK
- nähdä
- vanhempi
- Palvelut
- setti
- useat
- hän
- näyttää
- osoittivat
- esitetty
- samankaltainen
- Yksinkertainen
- Koko
- pieni
- pienempiä
- yhteiskunta
- jänneväli
- puhe
- Puheentunnistus
- käytetty
- Alkaa
- Käynnistys
- alkoi
- Osavaltio
- Vaihe
- Askeleet
- niin
- yhteenveto
- tehtävät
- Elektroniikka
- teksti
- kuin
- -
- heidän
- sitten
- teoria
- Nämä
- ne
- tätä
- kolmella
- suoritusteho
- aika
- että
- tokenized
- ylin
- aihe
- kohti
- Juna
- koulutettu
- koulutus
- kehityskaari
- muuntaja
- kaksi
- yliopisto
- Päivitykset
- us
- käyttää
- käytetty
- Käyttäjät
- käyttötarkoituksiin
- käyttämällä
- lajike
- Vaihteleva
- Vastaan
- visio
- oli
- we
- verkko
- verkkopalvelut
- joka
- vaikka
- laajalti
- wikipedia
- with
- ilman
- Referenssit
- työskenteli
- työntekijöitä
- työskentely
- toimii
- Sinun
- zephyrnet
- nolla-