Imate težave z umetno inteligenco ali razvojem celotnega paketa? Naši strokovnjaki so vam na voljo za pomoč: prilagojeni nasveti, tehnična integracija in še več. Obrnite se na [email protected].

Namestitev generativnega modela Mistral 7b na grafičnem procesorju A10 v sistemu AWS

Summary

Ta tečaj NLP v oblaku prikazuje, kako namestiti in uporabljati generativni model umetne inteligence Mistral 7b na grafičnem procesorju NVIDIA A10 v sistemu AWS.

Model Mistral 7b premaga LLaMA 3 7b pri vseh primerjalnih testih in LLaMA 3 13b pri številnih primerjalnih testih. Pravzaprav je celo enakovreden modelu LLaMA 1 34b.

Za njegovo namestitev in uporabo je potrebnih vsaj 15 GB VRAM-a, zato potrebujemo grafični procesor A10 z vsaj 24 GB VRAM-a.

Struktura tečaja je naslednja:

Transcript

Pozdravljeni, tukaj je Julien Sainas iz NLP Cloud.

Danes si bomo ogledali, kako namestiti generativni model Mistral 7b na grafični procesor AWS A10.

Mistral 7b je najsodobnejši generativni model, ki ga je izdalo francosko podjetje Mistral AI.

Ta model je bil izdan septembra 2023 in v vseh uradnih merilih premaguje Lamo 2 7b.

Še bolj zanimivo pa je, da v številnih primerjalnih testih premaguje tudi Lamo 2 13b in je na enaki ravni kot Lama 1 34b.

Družba Mistral AI je ta model izdala z licenco Apache, ki vam omogoča, da ga uporabljate, kakor želite.

Ekipa je objavila temeljni model in izboljšano različico klepeta.

Danes bomo v tem videoposnetku namestili različico za klepet.

Mistral 7b potrebuje vsaj 14 gigov navideznega pomnilnika, v primeru velike velikosti konteksta pa še več.

Zato ga bomo namestili na grafični procesor A10 NVIDIA v sistemu AWS, saj ima ta grafični procesor 24 gigabajtov virtualnega pomnilnika in je precej stroškovno učinkovit.

Mistral 7b najlažje namestite tako, da uporabite ogrodje Hugging Face in upoštevate uradne smernice umetne inteligence Mistral AI.

V prvem koraku bomo morali izbrati pravi stroj AWS.

V sistemu AWS je na voljo na tone strojev, zato vam lahko najbolje svetujem, da začnete s to stranjo z vrstami instanc in nato na levi strani obiščete Accelerated Computing.

Tukaj je seznam vseh pospešenih strojnih instanc, ki jih ponuja AWS, in danes želimo uporabiti instanco G5.

Kot lahko vidite tukaj, ima G5 vgrajen grafični procesor A10, kar si želimo.

Obstaja več različic primerkov G5.

Nekateri imajo le en grafični procesor, drugi pa štiri ali osem grafičnih procesorjev.

En grafični procesor nam zadostuje, saj je na njem dovolj navideznega pomnilnika, vendar moramo biti zelo previdni glede količine pomnilnika, ki ga ima instanca, saj bomo ob zagonu modela Mistral 7b začasno potrebovali nekaj pomnilnika za nalaganje modela.

Zato bomo danes izbrali velik primerek G5 4X, saj bi moralo biti 64 gigov dovolj.

Zdaj preklopim na konzolo AWS in kliknem Launch Instance.

Poimenujmo ga Test A10 Mistral.

Izbrali bomo operacijski sistem Ubuntu, vendar obstaja trik.

Ne želimo izbrati standardnega operacijskega sistema Ubuntu, saj bomo morali vanj ročno namestiti gonilnike NVIDIA, kar je zelo neprijetno.

Izbrali bomo strežnik Deep Learning AMI GPU PyTorch, ki je veliko boljši, saj ta strežnik AMI vsebuje Ubuntu, gonilnike NVIDIA, nabor orodij CUDA, PyTorch in druge stvari, ki jih bomo danes potrebovali za naše teste.

V tem primeru izberemo velik primerek G5 4X.

Če nimate para ključev, ga morate ustvariti.

Če to počnete prvič in niste povsem prepričani, kako VS Code povezati z instanco AWS, vam priporočam, da si ogledate naš videoposnetek o oddaljenem razvojnem okolju z VS Code na AWS.

Ni potrebe po odpiranju drugih vrat in priporočam, da dodate morda 100 gigov diska.

Teoretično naj bi model zasedel le 20 GB trdega diska, vendar je vedno najbolje, da ga je več, saj bomo morda morali namestiti knjižnice, zato bomo tu varni.

Kliknite Začetek instance.

Dobro, ustvarjen je.

Če imate težave s kvotami, ker morda prvič zaganjate GPU 8N, vam priporočam, da se obrnete na podporo AWS.

Zdaj sem vzel javni IP in preklopil na VS Code.

V spodnjem levem kotu morate trenutno okno povezati z gostiteljem, najprej pa morate konfigurirati svoje gostitelje.

Tu je naslov IP, ki sem ga pravkar pridobil od družbe AWS, to pa je moj ključ SSH.

Ko shranim datoteko, ponovim isto stvar in tokrat kliknem Mistral 7B.

Želim sprejeti nov prstni odtis.

Odlično.

Zdaj smo na našem računalniku z grafičnimi procesorji 8N.

Najprej preverimo, ali je grafični procesor na voljo z ustreznimi gonilniki.

Z NVIDIA SMI je popoln.

Vidim, da imam grafični procesor 8N in da je prazen, tako da imam danes za svoj model na voljo skoraj 24 GB VRAM-a.

Ustvarim testni imenik, ki ga bom odprl s programom VS Code, in zdaj ustvarim testno datoteko.

Morda ga poimenujmo infer.py.

Kaj naj torej vnesemo v datoteko infer.py? Enostavno.

Pojdimo k našemu modelu umetne inteligence Mistral na temo objemajočega obraza.

Če prvič prenašate model na portalu Hugging Face, lahko v bistvu greste tukaj na modele in na voljo imate na tone modelov.

Kliknite tukaj in vnesite Mistral 7B.

Kot lahko vidite, je bil Mistral že na vrhu seznama, saj je danes zelo moderen.

Izbral bom model Instruct, ker je danes bolj zabaven za igranje, pri tem pa sledim smernicam ekipe Mistral AI.

Zato sem kodo preprosto kopiral in prilepil v program VS Code.

To ne bo delovalo tako, kot je, saj moramo pred tem namestiti knjižnico Transformers.

Ker je bil ta model Mistral 7B pravkar dodan Transformerjem, še ni na voljo v paketu PyPy, vendar to ni težava.

Transformerje bomo namestili neposredno iz skladišča GitHub.

Dobro.

Zdaj je program Transformers pravilno nameščen.

Zadnja stvar, ki jo moramo storiti, je, da uporabimo različico modela s plavajočo vejico 16, saj bo privzeta različica modela s plavajočo vejico 32 prevelika za naš grafični procesor A10, razlika med FP16 in FP32 pa pri tovrstnih modelih večinoma sploh ni opazna.

Zato moramo danes uvoziti Torch in pri nalaganju modela dodati ta parameter, Torch dtype.

Dobro.

Poskusimo zagnati skripto za sklepanje.

Dobro.

Tako smo dobili ustrezen recept o majonezi.

Morda lahko poskusimo kaj drugega.

Vprašajmo model, kako namestiti Transformerje v strežnik Linux.

To lahko odstranimo.

Dobro.

Torej CSS, ne vem, zakaj.

To se sliši pravilno, razen tukajšnje oznake CSS.

Nisem prepričan, zakaj ta podrobnost, vendar mislim, da je to dovolj, da vam pokažem, da je to lep model 7B, in zdaj veste, kako ga uporabljati, zato ste zdaj na vrsti vi.

Zdaj veste, kako namestiti model Mistral 7B na svoj strežnik.

Kot lahko vidite, to ni nujno zapleteno, zlasti ker danes uporabljamo le en grafični procesor.

Če nimate grafičnega procesorja A10 z dovolj navideznega pomnilnika, boste morda potrebovali več manjših grafičnih procesorjev.

V tem primeru boste morali model razdeliti na več manjših grafičnih procesorjev.

To bo nekoliko bolj zapleteno in za to bomo potrebovali še en poseben videoposnetek.

Prijeten dan.