To je gostujoča objava, ki jo je napisal skupaj z Michaelom Feilom pri Gradientu.
Ocenjevanje zmogljivosti velikih jezikovnih modelov (LLM) je pomemben korak v procesu predhodnega usposabljanja in natančnega prilagajanja pred uvedbo. Hitreje in pogosteje kot lahko potrdite delovanje, večje so možnosti, da boste lahko izboljšali delovanje modela.
At Gradient, delamo na razvoju LLM po meri in smo pred kratkim lansirali naš Laboratorij za razvoj umetne inteligence, ki podjetniškim organizacijam ponuja prilagojeno storitev razvoja od konca do konca za izdelavo zasebnih LLM po meri in kopilotov z umetno inteligenco (AI). Kot del tega procesa redno ocenjujemo delovanje naših modelov (uglašenih, usposobljenih in odprtih) glede na odprte in lastniške primerjalne vrednosti. Med delom z ekipo AWS za usposabljanje naših modelov AWS Trainium, smo ugotovili, da smo bili omejeni tako na VRAM kot na razpoložljivost primerkov GPU, ko gre za glavno orodje za ocenjevanje LLM, lm-vrednotenje-pas. To odprtokodno ogrodje vam omogoča ocenjevanje različnih generativnih jezikovnih modelov v različnih ocenjevalnih nalogah in merilih. Uporabljajo ga lestvice najboljših kot npr Objemni obraz za javno primerjalno analizo.
Da bi premagali te izzive, smo se odločili zgraditi in odprtokodno rešitev – integracijo AWS nevron, knjižnica zadaj Sklepanje AWS in Trainium, v lm-evaluation-harness
. Ta integracija je omogočila primerjalno analizo v-alpha-tross, zgodnja različica našega modela Albatros, proti drugim javnim modelom med procesom treninga ter po.
Za kontekst se ta integracija izvaja kot nov razred modela znotraj lm-evaluation-harness, ki abstrahira sklepanje žetonov in oceno verjetnosti dnevnika zaporedij, ne da bi to vplivalo na dejansko nalogo vrednotenja. Odločitev, da našo interno testiranje preselimo v Amazonski elastični računalniški oblak (Amazon EC2) Inf2 primerki (ki ga poganja AWS Inferentia2) nam je omogočil dostop do 384 GB skupnega pomnilnika pospeševalnika, ki se brez težav prilega vsem našim trenutnim javnim arhitekturam. Z uporabo točkovnih primerkov AWS smo lahko izkoristili neizkoriščeno zmogljivost EC2 v oblaku AWS – kar omogoča prihranek stroškov do 90 % znižanih glede na cene na zahtevo. To je zmanjšalo čas, potreben za testiranje, in nam omogočilo pogostejše testiranje, saj smo lahko testirali več primerkov, ki so bili takoj na voljo, in izdali primerke, ko smo končali.
V tej objavi podajamo podrobno razčlenitev naših testov, izzive, na katere smo naleteli, in primer uporabe preskusnega snopa na AWS Inferentia.
Primerjalna analiza na AWS Inferentia2
Cilj tega projekta je bil ustvariti enake rezultate, kot je prikazano v Odprite LLM lestvico najboljših (za številne modele CausalLM, ki so na voljo na Hugging Face), hkrati pa ohranja prilagodljivost za izvajanje z zasebnimi merili uspešnosti. Če si želite ogledati več primerov razpoložljivih modelov, glejte AWS Inferentia in Trainium na Hugging Face.
Spremembe kode, potrebne za prenos modela s transformatorjev Hugging Face na Hugging Face Optimalni nevron Knjižnica Python je bila precej nizka. Ker lm-evalvacija-harness uporablja AutoModelForCausalLM
, pride do padca zamenjave z uporabo NeuronModelForCausalLM
. Brez vnaprej prevedenega modela se model samodejno prevede v trenutku, kar bi lahko opravilu dodalo 15–60 minut. To nam je dalo prilagodljivost za uvedbo testiranja za kateri koli primerek AWS Inferentia2 in podprt model CausalLM.
Rezultati
Zaradi načina delovanja meril uspešnosti in modelov nismo pričakovali, da se bodo rezultati popolnoma ujemali v različnih serijah. Vendar pa bi morale biti zelo blizu na podlagi standardnega odklona in to smo dosledno videli, kot je prikazano v naslednji tabeli. Začetna merila uspešnosti, ki smo jih izvajali na AWS Inferentia2, so bila potrjena na lestvici najboljših Hugging Face.
In lm-evaluation-harness
obstajata dva glavna toka, ki ju uporabljajo različni testi: generate_until
in loglikelihood
. Test gsm8k uporablja predvsem generate_until
za ustvarjanje odgovorov tako kot med sklepanjem. Loglikelihood
se večinoma uporablja pri primerjalni analizi in testiranju ter preučuje verjetnost, da bodo ustvarjeni različni rezultati. Oba delujeta v Neuronu, vendar loglikelihood
Metoda v SDK 2.16 uporablja dodatne korake za določanje verjetnosti in lahko traja več časa.
Lm-evaluation-harness Rezultati | ||
Konfiguracija strojne opreme | Originalni sistem | AWS Inferentia inf2.48xlarge |
Čas z batch_size=1 za oceno mistralai/Mistral-7B-Instruct-v0.1 na gsm8k | 103 minut | 32 minut |
Rezultat na gsm8k (dobi-odgovor – natančno ujemanje s std) | 0.3813 – 0.3874 (± 0.0134) | 0.3806 – 0.3844 (± 0.0134) |
Začnite z Neuronom in lm-evaluation-harness
Koda v tem razdelku vam lahko pomaga pri uporabi lm-evaluation-harness
in ga zaženite s podprtimi modeli na Hugging Face. Če si želite ogledati nekaj razpoložljivih modelov, obiščite AWS Inferentia in Trainium na Hugging Face.
Če ste seznanjeni z izvajanjem modelov na AWS Inferentia2, boste morda opazili, da ni num_cores
nastavitev posredovana. Naša koda zazna, koliko jeder je na voljo, in to številko samodejno posreduje kot parameter. To vam omogoča, da preizkus izvedete z isto kodo, ne glede na velikost primerka, ki ga uporabljate. Morda boste opazili tudi, da se sklicujemo na izvirni model, ne na prevedeno različico Neuron. Pas po potrebi samodejno sestavi model namesto vas.
Naslednji koraki vam pokažejo, kako razmestiti Gradient gradientai/v-alpha-tross
model, ki smo ga testirali. Če želite preizkusiti z manjšim primerom na manjšem primerku, lahko uporabite mistralai/Mistral-7B-v0.1
model.
- Privzeta kvota za izvajanje primerkov Inf na zahtevo je 0, zato bi morali zahtevati povečanje prek storitvenih kvot. Dodajte še eno zahtevo za vse zahteve Inf Spot Instance, da boste lahko testirali s Spot Instances. Za ta primer z instanco inf192xlarge boste potrebovali kvoto 2.48 vCPU-jev ali kvoto 4 vCPU-jev za osnovni inf2.xlarge (če uvajate model Mistral). Kvote so specifične za regijo AWS, zato poskrbite, da boste zahtevali vstop
us-east-1
orus-west-2
. - Odločite se za svoj primer na podlagi svojega modela. Ker
v-alpha-tross
je arhitektura 70B, smo se odločili uporabiti instanco inf2.48xlarge. Namestite inf2.xlarge (za model 7B Mistral). Če preizkušate drug model, boste morda morali svoj primerek prilagoditi glede na velikost modela. - Razmestite primerek z uporabo Objemni obraz DLAMI različica 20240123, tako da so nameščeni vsi potrebni gonilniki. (Prikazana cena vključuje stroške primerka in ni dodatnih stroškov programske opreme.)
- Prilagodite velikost diska na 600 GB (100 GB za Mistral 7B).
- Kloniraj in namesti
lm-evaluation-harness
na primeru. Določimo gradnjo, da vemo, da je kakršna koli variacija posledica sprememb modela, ne pa sprememb preskusa ali kode.
- Run
lm_eval
z vrsto modela hf-neuron in se prepričajte, da imate povezavo do poti nazaj do modela na Hugging Face:
Če zaženete prejšnji primer z Mistralom, bi morali prejeti naslednji izhod (na manjšem inf2.xlarge lahko traja 250 minut, da se zažene):
Čiščenje
Ko končate, ne pozabite ustaviti primerkov EC2 prek konzole Amazon EC2.
zaključek
Ekipi Gradient in Neuron sta navdušeni nad širšim sprejetjem vrednotenja LLM s to izdajo. Preizkusite sami in zaženite najbolj priljubljeno evalvacijsko ogrodje na instancah AWS Inferentia2. Zdaj lahko izkoristite razpoložljivost AWS Inferentia2 na zahtevo, ko ga uporabljate LLM razvoj po meri iz Gradienta. S temi začnite gostovati modele na AWS Inferentia vaje.
O avtorjih
Michael Feil je inženir AI pri Gradientu in je prej delal kot inženir ML pri Rodhe & Schwarz ter raziskovalec pri Max-Plank Institute for Intelligent Systems in Bosch Rexroth. Michael je vodilni sodelavec različnih odprtokodnih knjižnic sklepanja za LLM in odprtokodnih projektov, kot je StarCoder. Michael je diplomiral iz mehatronike in informatike na KIT ter magistriral iz robotike na Tehnični univerzi v Münchnu.
Jim Burtoft je višji arhitekt za zagonske rešitve pri AWS in neposredno sodeluje z zagonskimi podjetji, kot je Gradient. Jim je CISSP, del skupnosti AWS AI/ML Technical Field Community, Neuron Ambassador in sodeluje z odprtokodno skupnostjo, da omogoči uporabo Inferentia in Trainium. Jim je diplomiral iz matematike na Univerzi Carnegie Mellon in magistriral iz ekonomije na Univerzi v Virginiji.
- Distribucija vsebine in PR s pomočjo SEO. Okrepite se še danes.
- PlatoData.Network Vertical Generative Ai. Opolnomočite se. Dostopite tukaj.
- PlatoAiStream. Web3 Intelligence. Razširjeno znanje. Dostopite tukaj.
- PlatoESG. Ogljik, CleanTech, Energija, Okolje, sončna energija, Ravnanje z odpadki. Dostopite tukaj.
- PlatoHealth. Obveščanje o biotehnologiji in kliničnih preskušanjih. Dostopite tukaj.
- vir: https://aws.amazon.com/blogs/machine-learning/gradient-makes-llm-benchmarking-cost-effective-and-effortless-with-aws-inferentia/
- : je
- :ne
- $GOR
- 1
- 10
- 100
- 16
- 250
- 32
- 600
- 7
- a
- Sposobna
- plin
- dostop
- čez
- dejanska
- dodajte
- Dodatne
- prilagodite
- Sprejetje
- Prednost
- vplivajo
- po
- proti
- AI
- AI / ML
- vsi
- dovoljene
- Prav tako
- Amazon
- Amazon EC2
- Amazon Web Services
- Veleposlanik
- an
- in
- Še ena
- kaj
- Arhitektura
- arhitekture
- SE
- umetni
- Umetna inteligenca
- Umetna inteligenca (AI)
- AS
- At
- samodejno
- razpoložljivost
- Na voljo
- AWS
- Sklepanje AWS
- nazaj
- temeljijo
- Osnovni
- BE
- ker
- pred
- zadaj
- počutje
- merilo
- primerjalna analiza
- meril
- koristi
- tako
- Branch
- Razčlenitev
- širši
- izgradnjo
- vendar
- by
- prišel
- CAN
- kapaciteta
- Carnegie Mellon
- CD
- izzivi
- kvote
- Spremembe
- naboj
- Na blagajno
- razred
- Zapri
- Koda
- skupnost
- zbranih
- Izračunajte
- POTRJENO
- dosledno
- Konzole
- ozadje
- prispeva
- strošek
- prihranki pri stroških
- stroškovno učinkovito
- bi
- Trenutna
- po meri
- odločil
- Odločitev
- privzeto
- Stopnja
- Odvisno
- razporedi
- uvajanja
- uvajanje
- podrobno
- Ugotovite,
- Razvoj
- odstopanje
- drugačen
- neposredno
- diskontirani
- opravljeno
- pogon
- vozniki
- Drop
- 2
- med
- e
- Zgodnje
- Economics
- brez napora
- truda
- omogočajo
- omogočena
- konec koncev
- inženir
- Podjetje
- oceniti
- Ocena
- točno
- točno
- Pregleduje
- Primer
- Primeri
- razburjen
- obstoječih
- pričakovati
- dodatna
- Obraz
- seznanjeni
- hitreje
- Polje
- filter
- opremljanje
- prilagodljivost
- po
- za
- Okvirni
- pogosto
- pogosto
- iz
- dal
- ustvarjajo
- generativno
- dobili
- git
- Daj
- Cilj
- GPU
- Gost
- Gost Prispevek
- plezalni pas
- Imajo
- pomoč
- več
- drži
- gostovanje
- Kako
- Kako
- Vendar
- HTML
- http
- HTTPS
- enako
- if
- Pomembno
- izboljšanje
- in
- vključuje
- Povečajte
- začetna
- namestitev
- namestitev
- nameščen
- primer
- Inštitut
- integracija
- Intelligence
- Inteligentna
- notranji
- v
- IT
- Jim
- Job
- jpg
- samo
- Vedite
- jezik
- velika
- začela
- leaderboard
- Leaderboards
- vodi
- Lets
- knjižnice
- Knjižnica
- kot
- LIMIT
- LINK
- LLM
- nizka
- je
- Glavne
- v glavnem
- Mainstream
- Znamka
- IZDELA
- več
- poveljnika
- Stave
- matematika
- Maj ..
- Mellon
- Spomin
- Metoda
- meritev
- Michael
- morda
- Minute
- ML
- Model
- modeli
- Trenutek
- več
- Najbolj
- Najbolj popularni
- premikanje
- več
- potrebno
- Nimate
- potrebna
- Novo
- št
- Noben
- Opaziti..
- zdaj
- Številka
- of
- ponujanje
- on
- Na zahtevo
- na
- odprite
- open source
- or
- organizacije
- izvirno
- Ostalo
- naši
- ven
- izhod
- izhodi
- več
- Premagajte
- parameter
- del
- opravil
- vozovnice
- pot
- performance
- Prilagojene
- kramp
- plinovod
- platon
- Platonova podatkovna inteligenca
- PlatoData
- Popular
- mogoče
- Prispevek
- poganja
- pred
- prej
- Cena
- Cene
- v prvi vrsti
- zasebna
- verjetnosti
- Postopek
- Proizvedeno
- Projekt
- projekti
- lastniško
- javnega
- Python
- precej
- zlahka
- realizirano
- prejeti
- Pred kratkim
- sklicevanje
- Ne glede na to
- okolica
- redno
- sprostitev
- zamenjava
- Skladišče
- zahteva
- zahteva
- obvezna
- raziskovalec
- odgovorov
- omejeno
- Rezultati
- ohranitev
- robotika
- Run
- tek
- deluje
- Enako
- Prihranki
- Črna
- rezultat
- rezultati
- SDK
- Oddelek
- glej
- videl
- višji
- Storitev
- Storitve
- nastavitev
- deli
- shouldnt
- Prikaži
- pokazale
- Velikosti
- manj
- So
- Software
- rešitve
- nekaj
- vir
- specifična
- Komercialni
- standardna
- začel
- zagon
- Ustanavljanjem
- Korak
- Koraki
- stop
- tokovi
- taka
- Podprti
- Preverite
- sistemi
- miza
- Bodite
- Naloga
- Naloge
- skupina
- Skupine
- tehnični
- Test
- Testiran
- Testiranje
- testi
- da
- O
- Tukaj.
- te
- jih
- ta
- čas
- do
- Boni
- vzel
- orodje
- baklo
- Vlak
- usposobljeni
- usposabljanje
- transformatorji
- poskusite
- uglašen
- dva
- tip
- univerza
- neuporabljeno
- us
- uporaba
- Rabljeni
- uporablja
- uporabo
- POTRDI
- različnih
- različica
- zelo
- preko
- Virginia
- obisk
- želeli
- je
- način..
- we
- web
- spletne storitve
- so bili
- Kaj
- kdaj
- ki
- medtem
- bo
- z
- v
- brez
- delo
- delal
- deluje
- deluje
- Vi
- Vaša rutina za
- sami
- zefirnet