Grūtības ar mākslīgā intelekta vai pilnas paketes izstrādi? Mūsu eksperti ir gatavi jums palīdzēt: individuāli pielāgoti padomi, tehniskā integrācija un daudz kas cits. Sazinieties ar [email protected].

Mistral 7b ģeneratīvā modeļa izvietošana A10 GPU uz AWS

Summary

Šajā NLP mākoņkursā ir parādīts, kā izvietot un izmantot ģeneratīvo mākslīgā intelekta modeli Mistral 7b, izmantojot NVIDIA A10 GPU uz AWS.

Mistral 7b modelis pārspēj LLaMA 3 7b visos etalonmērījumos un LLaMA 3 13b daudzos etalonmērījumos. Patiesībā tas ir pat līdzvērtīgs LLaMA 1 34b modelim.

Lai to izvietotu un izmantotu, ir nepieciešams vismaz 15 GB VRAM, tāpēc mums ir nepieciešams A10 GPU ar vismaz 24 GB VRAM.

Šeit ir izklāstīta kursa struktūra:

Transcript

Sveiki, šeit Julien Sainas no NLP Cloud.

Šodien mēs apskatīsim, kā izvietot ģeneratīvo modeli Mistral 7b uz AWS A10 GPU.

Mistral 7b ir mūsdienīgs ģeneratīvais modelis, ko laidis klajā Francijas uzņēmums Mistral AI.

Šis modelis tika izdots 2023. gada septembrī un visos oficiālajos etalonmērījumos pārspēj Lama 2 7b.

Vēl interesantāk ir tas, ka daudzos kritērijos tas pārspēj arī Lama 2 13b un ir līdzvērtīgs Lama 1 34b.

Mistral AI izdeva šo modeli ar Apache licenci, kas ļauj jums izmantot šo modeli, kā vien vēlaties.

Komanda publicēja gan pamatmodeli, gan precizētu tērzēšanas versiju.

Šajā videoklipā mēs šodien izvērsīsim tērzēšanas versiju.

Mistral 7b nepieciešama vismaz 14 gigabaitu virtuālā atmiņa, bet liela konteksta lieluma gadījumā - vairāk.

Tāpēc mēs to izvietosim uz A10 NVIDIA GPU AWS, jo šim GPU ir 24 gigabaiti virtuālās atmiņas un tas ir diezgan rentabls.

Visvienkāršākais veids, kā izvietot Mistral 7b, ir izmantot ietvaru Hugging Face un ievērot Mistral AI oficiālās vadlīnijas.

Pirmajā solī mums būs jāizvēlas pareizā AWS mašīna.

AWS ir daudz mašīnu, tāpēc labākais padoms, ko varu jums sniegt, ir sākt ar šo instanču tipu lapu un pēc tam doties uz Accelerated Computing kreisajā pusē.

Šeit ir saraksts ar visiem AWS piedāvātajiem paātrinātajiem aparatūras gadījumiem, un šodien mums vajadzīgais ir G5.

Kā redzat šeit, G5 ir iebūvēts A10 GPU, kas ir tas, ko mēs vēlamies.

Ir vairāki G5 gadījumu veidi.

Dažos ir tikai viens GPU, citos - četri vai astoņi GPU.

Mums pietiek ar vienu GPU, jo vienā GPU ir pietiekami daudz virtuālās atmiņas, taču mums ir jābūt ļoti uzmanīgiem attiecībā uz atmiņas apjomu, jo, kad mēs sāksim Mistral 7b modeli, mums īslaicīgi būs nepieciešama atmiņa, lai ielādētu modeli.

Tāpēc mēs šodien izvēlēsimies G5 4X lielo gadījumu, jo 64 gigu vajadzētu pietikt.

Tagad es pārslēdzos uz savu AWS konsoli un noklikšķinu uz Launch Instance.

Nosauksim to par testu A10 Mistral.

Mēs izvēlēsimies Ubuntu OS, bet ir kāds triks.

Mēs nevēlamies izvēlēties standarta Ubuntu operētājsistēmu, jo tajā būs manuāli jāinstalē NVIDIA draiveri, kas ir ļoti sāpīgi.

Mēs šeit izvēlēsimies Deep Learning AMI GPU PyTorch serveri, kas ir daudz labāks, jo šajā AMI ir iekļauts Ubuntu, NVIDIA draiveri, CUDA rīku komplekts, PyTorch un citas lietas, kas mums šodien būs nepieciešamas mūsu testiem.

Šeit mēs izvēlamies G5 4X lielo gadījumu.

Ja jums nav atslēgu pāra, jums tas ir jāizveido.

Ja to darāt pirmo reizi un neesat īsti pārliecināts, kā pieslēgt VS Code savam AWS gadījumam, iesaku noskatīties mūsu video par attālo izstrādes vidi ar VS Code uz AWS.

Nav nepieciešams atvērt citus portus, un es iesaku jums pievienot varbūt 100 gigs diska.

Teorētiski modelim vajadzētu aizņemt tikai 20 GB cietā diska, bet vienmēr ir labāk, ja ir vairāk, jo mums būs nepieciešams instalēt bibliotēkas, tāpēc šeit mēs būsim droši.

Noklikšķiniet uz Palaist gadījumu.

Labi, tas ir izveidots.

Ja jums ir kvotas problēma, jo, iespējams, pirmo reizi palaižat 8N GPU, iesaku vērsties pie AWS atbalsta.

Tagad es šeit izmantoju publisko IP, un tagad es pārslēdzos uz VS kodu.

Apakšējā kreisajā pusē ir nepieciešams savienot pašreizējo logu ar saimniekdatoru, un vispirms ir jākonfigurē saimniekdatori.

Šeit ir IP adrese, ko es tikko ieguvu no AWS, un šī ir mana SSH atslēga.

Es saglabāju failu, un es daru to pašu vēlreiz, un šoreiz es noklikšķinu uz Mistral 7B.

Es vēlos pieņemt jauno pirkstu nospiedumu.

Lieliski.

Tagad mēs esam mūsu 8N GPU datorā.

Vispirms pārbaudīsim, vai GPU ir pieejami pareizie draiveri.

Ar NVIDIA SMI - ideāli.

Es redzu, ka man šeit ir 8N GPU un ka tas ir tukšs, tātad manam modelim šodien ir gandrīz 24 GB VRAM.

Es izveidoju testa direktoriju, kuru atvēršu ar VS Code, un tagad es izveidoju testa failu.

Varbūt nosauksim to par infer.py.

Tātad, ko mums vajadzētu ievietot šajā infer.py failā? Viegli.

Pārejam pie mūsu Mistral AI modeļa, kas darbojas ar apskāvieniem.

Ja šī ir pirmā reize, kad jūs lejupielādējat modeli no Hugging Face, būtībā jūs varat doties šeit uz modeļiem, un jums ir pieejamas daudzas tonnas modeļu.

Varat noklikšķināt šeit un ievadīt Mistral 7B.

Kā redzat, Mistral jau bija saraksta augšgalā, jo tas mūsdienās ir ļoti moderns.

Es izvēlēšos Instruct modeli, jo šodien ar to ir daudz jautrāk spēlēties, un šeit es vienkārši sekoju Mistral AI komandas vadlīnijām.

Tāpēc es vienkārši kopēju un ielīmēju kodu VS kodā.

Tas nedarbosies tā, kā tas ir, jo pirms tam mums būs nepieciešams instalēt Transformatoru bibliotēku.

Tā kā šis Mistral 7B modelis tikko tika pievienots Transformeriem, tas vēl nav pieejams PyPy pakotnē, bet tā nav problēma.

Mēs instalēsim Transformers no GitHub repozitorija tieši.

Labi.

Tagad transformatori ir pareizi instalēti.

Pēdējā lieta, kas mums būs jāizdara, ir jāizmanto modeļa versija ar peldošo komatu 16, jo, ja izmantosim modeļa noklusējuma versiju, kas ir ar peldošo komatu 32, tā būs pārāk liela mūsu A10 GPU, un lielākoties atšķirība starp FP16 un FP32 šāda veida modelim ir pilnīgi nemanāma.

Tātad šodien mums ir jāimportē Torch un, ielādējot modeli, jāpievieno šis parametrs - Torch dtype.

Labi.

Tagad mēģināsim palaist secinājumu skriptu.

Labi.

Tātad mums ir pareiza recepte par majonēzi.

Varbūt mēs varam izmēģināt ko citu.

Jautāsim modelim, kā uzstādīt Transformers Linux serverī.

Mēs to varam noņemt.

Labi.

Tātad CSS, es nezinu, kāpēc.

Tas izklausās pareizi, izņemot CSS iezīmēšanu šeit.

Neesmu pārliecināts, kādēļ ir šī detaļa, bet, manuprāt, ar to pietiek, lai parādītu, ka tas ir jauks 7B modelis, un tagad jūs zināt, kā to izmantot, tāpēc tagad ir jūsu kārta.

Tagad jūs zināt, kā izvietot Mistral 7B modeli savā serverī.

Kā redzat, tas nav obligāti sarežģīti, jo īpaši tāpēc, ka šodien mēs izmantojam tikai vienu GPU.

Ja jums nav A10 GPU ar pietiekami daudz virtuālās atmiņas, var būt nepieciešami vairāki mazāki GPU.

Tādā gadījumā jums būs nepieciešams sadalīt modeli vairākos mazākos GPU.

Tas būs mazliet sarežģītāk, un mums būs nepieciešams vēl viens tam veltīts videoklips.

Jauku dienu.