Tämä on vieraspostaus, joka on kirjoitettu yhdessä Michael Feilin kanssa Gradientissa.
Suurten kielimallien (LLM) suorituskyvyn arviointi on tärkeä vaihe esikoulutus- ja hienosäätöprosessissa ennen käyttöönottoa. Mitä nopeammin ja useammin pystyt vahvistamaan suorituskyvyn, sitä todennäköisemmin pystyt parantamaan mallin suorituskykyä.
At Kaltevuus, työskentelemme mukautetun LLM-kehityksen parissa ja lanseerasimme juuri äskettäin AI-kehityslaboratorio, joka tarjoaa yritysorganisaatioille henkilökohtaisen, päästä päähän -kehityspalvelun yksityisten, räätälöityjen LLM-yritysten ja tekoälyn perämiesten rakentamiseen. Osana tätä prosessia arvioimme säännöllisesti malliemme suorituskykyä (viritetty, koulutettu ja avoin) avoimiin ja patentoituihin vertailuarvoihin verrattuna. Työskennellessään AWS-tiimin kanssa kouluttaaksemme mallejamme AWS Trainium, ymmärsimme, että rajoittuimme sekä VRAM-muistiin että GPU-esiintymien saatavuuteen, kun oli kyse LLM-arvioinnin valtavirran työkalusta, lm-evaluation-valjaat. Tämän avoimen lähdekoodin kehyksen avulla voit pisteyttää erilaisia generatiivisia kielimalleja erilaisissa arviointitehtävissä ja vertailuissa. Sitä käyttävät tulostaulukot, kuten Halaaminen kasvot julkista vertailua varten.
Voittaaksemme nämä haasteet, päätimme rakentaa ja avata lähdekoodin ratkaisumme – integroivan AWS Neuron, kirjasto takana AWS Inferencia ja Trainium, osaksi lm-evaluation-harness
. Tämä integraatio mahdollisti vertailun v-alpha-tross, varhainen versio Albatross-mallistamme, muita julkisia malleja vastaan koulutusprosessin aikana ja sen jälkeen.
Kontekstia varten tämä integrointi toimii uutena malliluokkana lm-evaluation-harnessissa, joka abstraktioi merkkien johtopäätöksen ja sekvenssien log-todennäköisyysarvioinnin vaikuttamatta varsinaiseen arviointitehtävään. Päätös siirtää sisäinen testausputkimme Amazonin elastinen laskentapilvi (Amazon EC2) Inf2-esiintymät (AWS Inferentia2:n tuottamana) antoi meille mahdollisuuden käyttää jopa 384 Gt jaettua kiihdytinmuistia, mikä sopii vaivattomasti kaikkiin nykyisiin julkisiin arkkitehtuureihimme. Käyttämällä AWS Spot Instances -tapahtumia pystyimme hyödyntämään AWS Cloudin käyttämätöntä EC2-kapasiteettia, mikä mahdollistaa kustannussäästöt jopa 90 % alennettuun tilaushintoihin. Tämä minimoi testaamiseen kuluvan ajan ja antoi meille mahdollisuuden testata useammin, koska pystyimme testaamaan useissa esiintymissä, jotka olivat helposti saatavilla, ja vapauttaa esiintymät, kun olimme valmis.
Tässä viestissä annamme yksityiskohtaisen erittelyn testeistämme, kohtaamistamme haasteista ja esimerkin testausvaljaiden käytöstä AWS Inferentiassa.
AWS Inferentia2 -vertailu
Tämän projektin tavoitteena oli tuottaa identtiset pisteet kuten kuvassa Avaa LLM-tulostaulukko (Monille CausalLM-malleille, jotka ovat saatavilla Hugging Facessa), säilyttäen samalla joustavuuden käyttää sitä yksityisiä vertailuarvoja vastaan. Jos haluat nähdä lisää esimerkkejä saatavilla olevista malleista, katso AWS Inferentia ja Trainium Hugging Facella.
Koodi muuttuu, jotta malli voidaan siirtää Hugging Face -muuntajista Hugging Faceen Optimaalinen neuroni Python-kirjasto oli melko alhainen. Koska lm-evaluation-harness käyttää AutoModelForCausalLM
, korvaava käyttö on vähentynyt NeuronModelForCausalLM
. Ilman esikäännettyä mallia malli käännetään automaattisesti hetkessä, mikä voi lisätä työhön 15–60 minuuttia. Tämä antoi meille joustavuuden ottaa käyttöön testausta mille tahansa AWS Inferentia2 -esiintymälle ja tuetulle CausalLM-mallille.
tulokset
Vertailuarvojen ja mallien toimintatavan vuoksi emme odottaneet tulosten vastaavan täsmälleen eri ajoissa. Niiden pitäisi kuitenkin olla hyvin lähellä keskihajonnan perusteella, ja olemme jatkuvasti nähneet sen, kuten seuraavasta taulukosta ilmenee. Hugging Face -tulostaulu vahvisti kaikki alkuperäiset vertailuarvot, jotka suoritimme AWS Inferentia2:lla.
In lm-evaluation-harness
, eri testit käyttävät kahta päävirtaa: generate_until
ja loglikelihood
. gsm8k-testi käyttää ensisijaisesti generate_until
tuottaa vastauksia aivan kuten päättelyn aikana. Loglikelihood
käytetään pääasiassa benchmarkingissa ja testauksessa, ja se tutkii erilaisten tuotosten todennäköisyyttä. Molemmat työskentelevät Neuronissa, mutta loglikelihood
menetelmä SDK 2.16:ssa käyttää lisävaiheita todennäköisyyksien määrittämiseen ja voi viedä ylimääräistä aikaa.
Lm-evaluation-valjaat Tulokset | ||
Laitteiston kokoonpano | Alkuperäinen järjestelmä | AWS Inferentia inf2.48xlarge |
Aika batch_size=1:n kanssa arvioida mistralai/Mistral-7B-Instruct-v0.1 gsm8k:ssa | 103 minuuttia | 32 minuuttia |
Pisteet gsm8k:ssa (get-answer – tarkka_vastaavuus std:n kanssa) | 0.3813 – 0.3874 (± 0.0134) | 0.3806 – 0.3844 (± 0.0134) |
Aloita Neuronin ja lm-evaluation-valjaiden kanssa
Tämän osion koodi voi auttaa sinua käyttämään lm-evaluation-harness
ja suorita se Hugging Facen tuettuja malleja vastaan. Näet joitakin saatavilla olevia malleja osoitteessa AWS Inferentia ja Trainium Hugging Facella.
Jos olet perehtynyt AWS Inferentia2:n käynnissä oleviin malleihin, saatat huomata, että sitä ei ole num_cores
Koodimme havaitsee, kuinka monta ydintä on käytettävissä ja välittää sen automaattisesti parametrina. Näin voit suorittaa testin käyttämällä samaa koodia käyttämäsi ilmentymän koosta riippumatta. Saatat myös huomata, että viittaamme alkuperäiseen malliin, emme Neuronin käännettyyn versioon. Valjaat kokoavat automaattisesti mallin puolestasi tarpeen mukaan.
Seuraavat vaiheet osoittavat, kuinka gradientti otetaan käyttöön gradientai/v-alpha-tross
testaamamme malli. Jos haluat testata pienemmällä esimerkillä pienemmässä ilmentymässä, voit käyttää mistralai/Mistral-7B-v0.1
malli.
- On-Demand Inf -ilmentymien suorittamisen oletuskiintiö on 0, joten sinun tulee pyytää lisäystä palvelukiintiöiden kautta. Lisää toinen pyyntö kaikille Inf Spot Instance -pyynnöille, jotta voit testata spot-instanssien kanssa. Tarvitset 192 vCPU:n kiintiön tässä esimerkissä inf2.48xlarge-instanssia käytettäessä tai 4 vCPU:n kiintiön perusinf2.xlargea varten (jos käytät Mistral-mallia). Kiintiöt ovat AWS-aluekohtaisia, joten varmista, että pyydät sisään
us-east-1
orus-west-2
. - Päätä esiintymäsi mallin perusteella. Koska
v-alpha-tross
on 70B-arkkitehtuuri, päätimme käyttää inf2.48xlarge-instanssia. Ota käyttöön inf2.xlarge (7B Mistral -mallille). Jos testaat eri mallia, saatat joutua säätämään esiintymääsi mallin koon mukaan. - Ota ilmentymä käyttöön käyttämällä Hugging Face DLAMI-versio 20240123, jotta kaikki tarvittavat ohjaimet on asennettu. (Näytetty hinta sisältää ilmentymän kustannukset, eikä siitä peritä ohjelmistomaksua.)
- Säädä aseman kooksi 600 Gt (100 Gt Mistral 7B:lle).
- Kloonaa ja asenna
lm-evaluation-harness
tapauksessa. Määritämme koontiversion, jotta tiedämme, että kaikki varianssit johtuvat mallin muutoksista, emme testi- tai koodimuutoksista.
- ajaa
lm_eval
hf-neuronimallityypin kanssa ja varmista, että sinulla on linkki takaisin malliin Hugging Facessa:
Jos suoritat edellisen esimerkin Mistralilla, sinun pitäisi saada seuraava tulos (pienemmällä inf2.xlargella sen suorittaminen voi kestää 250 minuuttia):
Puhdistaa
Kun olet valmis, muista pysäyttää EC2-esiintymät Amazon EC2 -konsolin kautta.
Yhteenveto
Gradient- ja Neuron-tiimit ovat innoissaan nähdessään LLM-arvioinnin laajemman käyttöönoton tämän julkaisun myötä. Kokeile sitä itse ja suorita suosituin arviointikehys AWS Inferentia2 -esiintymissä. Voit nyt hyötyä AWS Inferentia2:n pyynnöstä, kun käytät sitä mukautettu LLM-kehitys Gradientilta. Aloita mallien isännöinti AWS Inferentiassa näiden avulla opetusohjelmat.
Tietoja Tekijät
Michael Feil on tekoälyinsinööri Gradientissa ja työskennellyt aiemmin ML-insinöörinä Rodhe & Schwarzissa sekä tutkijana Max-Plank Institute for Intelligent Systemsissä ja Bosch Rexrothissa. Michael on johtava avustaja erilaisissa avoimen lähdekoodin johtopäätöskirjastoissa LLM-yrityksille ja avoimen lähdekoodin projekteille, kuten StarCoder. Michael on suorittanut kandidaatin tutkinnon mekatroniikasta ja IT:stä KIT:stä ja maisterin tutkinnon robotiikasta Münchenin teknisestä yliopistosta.
Jim Burtoft on AWS:n Senior Startup Solutions -arkkitehti ja työskentelee suoraan Gradientin kaltaisten startup-yritysten kanssa. Jim on CISSP, osa AWS AI/ML Technical Field Communityä, Neuron Ambassador ja tekee yhteistyötä avoimen lähdekoodin yhteisön kanssa mahdollistaakseen Inferentian ja Trainiumin käytön. Jim on suorittanut matematiikan kandidaatin tutkinnon Carnegie Mellonin yliopistosta ja maisterin tutkinnon taloustieteessä Virginian yliopistosta.
- 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/gradient-makes-llm-benchmarking-cost-effective-and-effortless-with-aws-inferentia/
- :On
- :ei
- $ YLÖS
- 1
- 10
- 100
- 16
- 250
- 32
- 600
- 7
- a
- pystyy
- kiihdytin
- pääsy
- poikki
- todellinen
- lisätä
- lisä-
- säätää
- Hyväksyminen
- Etu
- vaikuttavat
- Jälkeen
- vastaan
- AI
- AI / ML
- Kaikki
- sallittu
- Myös
- Amazon
- Amazon EC2
- Amazon Web Services
- Lähettilääksi
- an
- ja
- Toinen
- Kaikki
- arkkitehtuuri
- arkkitehtuurit
- OVAT
- keinotekoinen
- tekoäly
- Tekoäly (AI)
- AS
- At
- automaattisesti
- saatavuus
- saatavissa
- AWS
- AWS Inferencia
- takaisin
- perustua
- perustiedot
- BE
- koska
- ennen
- takana
- ovat
- benchmark
- benchmarking
- Viitearvot
- hyödyttää
- sekä
- Sivuliike
- Erittely
- laajempaa
- rakentaa
- mutta
- by
- tuli
- CAN
- Koko
- Carnegie Mellon
- CD
- haasteet
- mahdollisuudet
- Muutokset
- lataus
- Kassa
- luokka
- lähellä
- koodi
- yhteisö
- koottu
- Laskea
- CONFIRMED
- johdonmukaisesti
- Console
- tausta
- avustaja
- Hinta
- kustannussäästöjä
- kustannustehokas
- voisi
- Nykyinen
- asiakassuhde
- päätti
- päätös
- oletusarvo
- Aste
- Riippuen
- sijoittaa
- levityspinnalta
- käyttöönotto
- yksityiskohtainen
- Määrittää
- Kehitys
- poikkeama
- eri
- suoraan
- diskontattu
- tehty
- ajaa
- kuljettajat
- Pudota
- kaksi
- aikana
- e
- Varhainen
- Taloustiede
- vaivaton
- vaivattomasti
- mahdollistaa
- käytössä
- päittäin
- insinööri
- yritys
- arvioida
- arviointi
- tarkka
- täsmälleen
- tutkii
- esimerkki
- Esimerkit
- innoissaan
- olemassa
- odottaa
- lisää
- Kasvot
- tuttu
- nopeampi
- ala
- suodattaa
- asennus
- Joustavuus
- jälkeen
- varten
- Puitteet
- tiheä
- usein
- alkaen
- antoi
- tuottaa
- generatiivinen
- saada
- mennä
- Antaa
- tavoite
- GPU
- vieras
- vieras Lähetä
- valjaat
- Olla
- auttaa
- korkeampi
- pitää
- hotellit
- Miten
- Miten
- Kuitenkin
- HTML
- http
- HTTPS
- identtinen
- if
- tärkeä
- parantaa
- in
- sisältää
- Kasvaa
- ensimmäinen
- asentaa
- asennus
- asennetaan
- esimerkki
- Instituutti
- integraatio
- Älykkyys
- Älykäs
- sisäinen
- tulee
- IT
- Jim
- Job
- jpg
- vain
- Tietää
- Kieli
- suuri
- käynnistettiin
- leaderboard
- tulostaulukoita
- johtava
- Lets
- kirjastot
- Kirjasto
- pitää
- RAJOITA
- LINK
- OTK
- Matala
- tehty
- tärkein
- pääasiallisesti
- Valtavirta
- tehdä
- TEE
- monet
- maisterin
- ottelu
- matematiikka
- Saattaa..
- Mellon
- Muisti
- menetelmä
- metrinen
- Michael
- ehkä
- minuuttia
- ML
- malli
- mallit
- hetki
- lisää
- eniten
- Suosituin
- liikkua
- moninkertainen
- välttämätön
- Tarve
- tarvitaan
- Uusi
- Nro
- Ei eristetty
- Ilmoitus..
- nyt
- numero
- of
- tarjoamalla
- on
- Tarpeen vaatiessa
- päälle
- avata
- avoimen lähdekoodin
- or
- organisaatioiden
- alkuperäinen
- Muut
- meidän
- ulos
- ulostulo
- lähdöt
- yli
- Voittaa
- parametri
- osa
- Hyväksytty
- kulkee
- polku
- suorituskyky
- yksilöllinen
- poimia
- putki
- Platon
- Platonin tietotieto
- PlatonData
- Suosittu
- mahdollinen
- Kirje
- powered
- edeltävä
- aiemmin
- hinta
- Hinnat
- pääasiallisesti
- yksityinen
- todennäköisyydet
- prosessi
- valmistettu
- projekti
- hankkeet
- patentoitu
- julkinen
- Python
- melko
- helposti
- tajusi
- vastaanottaa
- äskettäin
- viittaaminen
- riippumatta
- alue
- säännöllisesti
- vapauta
- korvaus
- säilytyspaikka
- pyyntö
- pyynnöt
- tarvitaan
- tutkija
- vasteet
- rajoitettu
- tulokset
- säilyttäen
- robotiikka
- ajaa
- juoksu
- toimii
- sama
- Säästöt
- Musta
- pisteet
- tulokset
- sdk
- Osa
- nähdä
- nähneet
- vanhempi
- palvelu
- Palvelut
- asetus
- yhteinen
- shouldnt
- näyttää
- esitetty
- Koko
- pienempiä
- So
- Tuotteemme
- Ratkaisumme
- jonkin verran
- lähde
- erityinen
- Kaupallinen
- standardi
- alkoi
- käynnistyksen
- Startups
- Vaihe
- Askeleet
- stop
- puroihin
- niin
- Tuetut
- varma
- järjestelmät
- taulukko
- ottaa
- Tehtävä
- tehtävät
- joukkue-
- tiimit
- Tekninen
- testi
- testattu
- Testaus
- testit
- että
- -
- Siellä.
- Nämä
- ne
- tätä
- aika
- että
- tokens
- otti
- työkalu
- taskulamppu
- Juna
- koulutettu
- koulutus
- muuntajat
- yrittää
- viritetty
- kaksi
- tyyppi
- yliopisto
- käyttämätön
- us
- käyttää
- käytetty
- käyttötarkoituksiin
- käyttämällä
- VAHVISTA
- eri
- versio
- hyvin
- kautta
- virginia
- Vierailla
- haluta
- oli
- Tapa..
- we
- verkko
- verkkopalvelut
- olivat
- Mitä
- kun
- joka
- vaikka
- tulee
- with
- sisällä
- ilman
- Referenssit
- työskenteli
- työskentely
- toimii
- Voit
- Sinun
- itse
- zephyrnet