Susiduriate su sunkumais dirbtinio intelekto arba viso paketo kūrimo srityje? Mūsų ekspertai padės jums: teiksime pritaikytus patarimus, techninę integraciją ir dar daugiau. Kreipkitės į [email protected].

"Mistral 7b" generatyvinio modelio diegimas A10 GPU AWS sistemoje

Summary

Šiame NLP debesų kalbos kurse rodoma, kaip įdiegti ir naudoti "Mistral 7b" generatyvinį dirbtinio intelekto modelį naudojant NVIDIA A10 GPU AWS sistemoje.

Mistral 7b modelis lenkia LLaMA 3 7b visuose lyginamuosiuose testuose ir LLaMA 3 13b daugelyje lyginamųjų testų. Tiesą sakant, jis netgi prilygsta LLaMA 1 34b modeliui.

Jam įdiegti ir naudoti reikia bent 15 GB VRAM, todėl mums reikia "A10" GPU su bent 24 GB VRAM.

Čia pateikiama kurso struktūra:

Transcript

Sveiki, tai Julien Sainas iš NLP debesies.

Šiandien pamatysime, kaip įdiegti "Mistral 7b" generatyvinį modelį "AWS A10" grafiniame procesoriuje.

"Mistral 7b" yra naujausias generatyvinis modelis, kurį išleido Prancūzijos bendrovė "Mistral AI".

Šis modelis buvo išleistas 2023 m. rugsėjį ir pagal visus oficialius lyginamuosius rodiklius lenkia "Lama 2 7b".

Dar įdomiau tai, kad jis taip pat lenkia "Lama 2 13b" pagal daugelį lyginamųjų testų ir prilygsta "Lama 1 34b".

"Mistral AI" išleido šį modelį su "Apache" licencija, kuri leidžia jums naudoti šį modelį kaip tik norite.

Komanda išleido ir pagrindinį modelį, ir patobulintą pokalbių versiją.

Šiandien šiame vaizdo įraše ketiname įdiegti pokalbių versiją.

"Mistral 7b" reikia bent 14 gigabaitų virtualiosios atminties, o jei konteksto dydis didelis - ir daugiau.

Taigi, ketiname jį įdiegti A10 NVIDIA GPU AWS sistemoje, nes šis GPU turi 24 GB virtualiosios atminties ir yra gana ekonomiškas.

Paprasčiausias būdas įdiegti "Mistral 7b" - naudoti "Hugging Face" sistemą ir laikytis oficialių "Mistral AI" gairių.

Pirmiausia turėsime pasirinkti tinkamą "AWS" mašiną.

"AWS" yra daugybė mašinų, todėl geriausias patarimas, kurį galiu jums duoti, yra pradėti nuo šio egzempliorių tipų puslapio ir tada eiti į kairėje esantį "Accelerated Computing".

Čia pateikiamas visų "AWS" teikiamų pagreitintų aparatinės įrangos egzempliorių sąrašas, o šiandien norimas egzempliorius yra G5.

Kaip matote čia, G5 įdiegtas A10 GPU, kurio ir norime.

Yra keletas G5 egzempliorių variantų.

Kai kuriuose yra tik vienas GPU, kai kuriuose - keturi ar aštuoni GPU.

Mums pakanka vieno GPU, nes jame yra pakankamai virtualiosios atminties, tačiau turime būti labai atsargūs dėl egzemplioriaus atminties kiekio, nes kai paleisime "Mistral 7b" modelį, laikinai reikės šiek tiek atminties modeliui įkelti.

Būtent todėl šiandien pasirinksime G5 4X didelę instanciją, nes 64 gigų turėtų pakakti.

Dabar pereinu į AWS konsolę ir spusteliu "Launch Instance".

Pavadinkime jį "Test A10 Mistral".

Pasirinksime "Ubuntu" OS, tačiau yra gudrybė.

Nenorime rinktis standartinės "Ubuntu" OS, nes į ją turėsime rankiniu būdu įdiegti NVIDIA tvarkykles, o tai yra labai skausminga.

Pasirinksime "Deep Learning AMI GPU PyTorch" serverį, kuris yra daug geresnis, nes į šią AMI versiją įeina "Ubuntu", NVIDIA tvarkyklės, CUDA įrankių rinkinys, "PyTorch" ir kiti dalykai, kurių mums šiandien prireiks bandymams.

Čia pasirenkame G5 4X didelį egzempliorių.

Jei raktų poros neturite, turite ją sukurti.

Jei tai darote pirmą kartą ir nežinote, kaip prijungti "VS Code" prie "AWS" egzemplioriaus, rekomenduoju pažiūrėti mūsų specialų vaizdo įrašą apie nuotolinio kūrimo aplinką naudojant "VS Code" "AWS".

Nereikia atidaryti kitų prievadų ir rekomenduoju pridėti gal 100 GB disko.

Teoriškai modelis turėtų užimti tik 20 gigabaitų standžiojo disko, tačiau visada geriausia turėti daugiau, nes galbūt reikės įdiegti bibliotekas, todėl čia būsime saugūs.

Spustelėkite Paleisti versiją.

Gerai, jis sukurtas.

Jei susiduriate su kvotų problema, nes galbūt pirmą kartą paleidžiate 8N GPU, rekomenduoju kreiptis į AWS palaikymo tarnybą.

Dabar čia naudoju viešąjį IP, o dabar pereinu prie VS kodo.

Apačioje kairėje reikia prijungti dabartinį langą prie kompiuterio, o pirmiausia reikia sukonfigūruoti kompiuterius.

Čia yra IP adresas, kurį ką tik gavau iš AWS, o čia yra mano SSH raktas.

Įrašau failą ir dar kartą atlieku tą patį veiksmą, tačiau šį kartą spusteliu "Mistral 7B".

Noriu priimti naują pirštų atspaudą.

Puikiai.

Dabar mes naudojame savo 8N GPU mašiną.

Pirmiausia patikrinkime, ar GPU turi tinkamas tvarkykles.

Su NVIDIA SMI - puikiai.

Matau, kad čia turiu 8N GPU ir kad jis yra tuščias, taigi šiandien savo modeliui turiu beveik 24 GB VRAM.

Sukuriu bandymų katalogą, kurį atidarysiu su "VS Code", ir dabar kuriu bandomąjį failą.

Gal pavadinkime jį infer.py.

Taigi, ką turėtume įrašyti į šį infer.py failą? Paprasta.

Pereikime prie mūsų "Mistral" dirbtinio intelekto modelio, skirto apkabinti veidą.

Jei tai pirmas kartas, kai parsisiunčiate "Hugging Face" modelį, iš esmės galite nueiti čia, į "models", ir turėsite daugybę modelių.

Spustelėkite čia ir įveskite Mistral 7B.

Kaip matote, "Mistral" jau buvo sąrašo viršuje, nes šiais laikais jis labai madingas.

Pasirinksiu "Instruct" modelį, nes šiandien su juo žaisti linksmiau, o čia tiesiog vadovaujuosi "Mistral AI" komandos gairėmis.

Todėl tiesiog nukopijuoju ir įklijuoju kodą į "VS Code".

Jis neveiks taip, kaip yra, nes prieš tai turėsime įdiegti "Transformers" biblioteką.

Kadangi šis "Mistral 7B" modelis ką tik įtrauktas į "Transformerius", jo dar nėra "PyPy" pakete, tačiau tai nėra problema.

"Transformers" įdiegsime tiesiogiai iš "GitHub" saugyklos.

Gerai.

Dabar "Transformeriai" yra teisingai įdiegti.

Paskutinis dalykas, kurį turėsime padaryti, tai naudoti modelio versiją su slankiuoju kableliu 16, nes jei naudosime numatytąją modelio versiją, kuri yra su slankiuoju kableliu 32, ji bus per didelė mūsų A10 GPU, o dažniausiai skirtumas tarp FP16 ir FP32 tokiam modeliui yra visiškai nepastebimas.

Taigi šiandien mums reikia importuoti "Torch" ir įkeliant modelį pridėti šį parametrą - "Torch dtype".

Gerai.

Dabar pabandykime paleisti išvados scenarijų.

Gerai.

Taigi turime tinkamą majonezo receptą.

Galbūt galime išbandyti ką nors kita.

Paklauskime modelio, kaip įdiegti "Transformers" į "Linux" serverį.

Galime tai pašalinti.

Gerai.

Taigi CSS, nežinau, kodėl.

Tai skamba teisingai, išskyrus čia pateiktą CSS žymėjimą.

Nežinau, kodėl yra ši detalė, bet manau, kad to pakanka parodyti, jog tai gražus 7B modelis, ir dabar žinote, kaip juo naudotis, todėl dabar jūsų eilė.

Dabar žinote, kaip įdiegti "Mistral 7B" modelį savo serveryje.

Kaip matote, tai nebūtinai sudėtinga, ypač todėl, kad šiandien naudojame tik vieną GPU.

Jei neturite A10 GPU su pakankamai virtualiosios atminties, gali prireikti kelių mažesnių GPU.

Tokiu atveju jums reikės padalyti modelį keliems mažesniems GPU.

Tai bus šiek tiek sudėtingiau ir tam reikės kito specialaus vaizdo įrašo.

Geros dienos.