Tämä NLP-pilvikurssi näyttää, miten Mistral 7b -generoiva tekoälymalli otetaan käyttöön ja käytetään NVIDIA A10 GPU:lla AWS:ssä.
Mistral 7b -malli voittaa LLaMA 3 7b -mallin kaikissa vertailuarvoissa ja LLaMA 3 13b -mallin monissa vertailuarvoissa. Se on itse asiassa jopa LLaMA 1 34b -mallin tasolla.
Sen käyttöönotto ja käyttäminen vaatii vähintään 15 Gt VRAM-muistia, minkä vuoksi tarvitsemme A10-näytönohjaimen, jossa on vähintään 24 Gt VRAM-muistia.
Tässä on kurssin rakenne:
Hei, tässä on Julien Sainas NLP Cloudista.
Tänään näemme, miten Mistral 7b -generoiva malli otetaan käyttöön AWS A10 GPUHere we go.
Mistral 7b on huippuluokan generatiivinen malli, jonka on julkaissut ranskalainen Mistral AI -yritys.
Tämä malli julkaistiin syyskuussa 2023, ja se päihittää Lama 2 7b:n kaikissa virallisissa vertailuarvoissa.
Vielä mielenkiintoisempaa on, että se päihittää myös Lama 2 13b:n monissa vertailuarvoissa, ja se on samalla tasolla kuin Lama 1 34b.
Mistral AI julkaisi tämän mallin Apache-lisenssillä, jonka ansiosta voit käyttää mallia miten haluat.
Ryhmä julkaisi sekä perusmallin että hienosäädetyn chat-version.
Otamme tänään käyttöön chat-version tässä videossa.
Mistral 7b vaatii vähintään 14 gigaa virtuaalimuistia ja enemmän, jos kontekstin koko on suuri.
Aiomme siis ottaa sen käyttöön A10 NVIDIA GPU:lla AWS:ssä, koska tällä GPU:lla on 24 gigaa virtuaalimuistia ja se on melko kustannustehokas.
Helpoin tapa ottaa Mistral 7b käyttöön on käyttää Hugging Face -kehystä ja noudattaa Mistral AI:n virallisia ohjeita.
Ensimmäiseksi meidän on valittava oikea AWS-kone.
AWS:ssä on valtavasti koneita, joten paras neuvo, jonka voin antaa, on aloittaa tästä instanssityypit-sivusta ja siirtyä sitten vasemmalla olevaan Accelerated Computing -kohteeseen.
Tässä on luettelo kaikista AWS:n tarjoamista kiihdytetyistä laitteistoinstansseista, ja tänään haluamamme instanssi on G5.
Kuten tästä näet, G5:ssä on A10-grafiikkasuoritin, jonka haluamme.
G5-instansseja on useita eri malleja.
Joissakin on vain yksi näytönohjain, joissakin on neljä tai kahdeksan näytönohjainta.
Yksi GPU riittää meille, koska yhdellä GPU:lla on riittävästi virtuaalimuistia, mutta meidän on oltava hyvin varovaisia sen suhteen, kuinka paljon muistia instanssilla on, koska kun käynnistämme Mistral 7b -mallin, tarvitsemme väliaikaisesti muistia mallin lataamiseen.
Siksi valitsemme tänään G5 4X large instance -tietokoneen, koska 64 gigatavun pitäisi riittää.
Siirryn nyt AWS-konsoliin ja napsautan Launch Instance.
Kutsutaan sitä testiksi A10 Mistral.
Valitsemme Ubuntu-käyttöjärjestelmän, mutta siinä on juju.
Emme halua valita tavallista Ubuntu-käyttöjärjestelmää, koska meidän on asennettava NVIDIAn ajurit siihen manuaalisesti, mikä on hyvin tuskallista.
Valitsemme Deep Learning AMI GPU PyTorch -palvelimen, joka on paljon parempi, koska tämä AMI sisältää Ubuntun, NVIDIA-ajurit, CUDA-työkalupaketin, PyTorchin ja muita asioita, joita tarvitsemme tänään testeissä.
Tässä tapauksessa valitsemme G5 4X large -esimerkin.
Jos sinulla ei ole avainparia, sinun on luotava sellainen.
Jos teet tämän ensimmäistä kertaa etkä ole aivan varma, miten VS Code liitetään AWS-instanssiin, suosittelen, että katsot erillisen videomme etäkehitysympäristöstä VS Codella AWS:ssä.
Muita portteja ei tarvitse avata, ja suosittelen, että lisäät ehkä 100 gigaa levyä.
Teoriassa mallin pitäisi viedä vain 20 gigaa kiintolevyä, mutta on aina parasta olla enemmän, koska meidän on ehkä asennettava kirjastoja, joten tässä olemme turvassa.
Napsautetaan Launch Instance.
Hyvä, se on luotu.
Jos sinulla on kiintiöongelma, koska ehkä käynnistät 8N GPU:n ensimmäistä kertaa, suosittelen, että otat yhteyttä AWS:n tukeen.
Otan nyt julkisen IP-osoitteen ja siirryn nyt VS Codeen.
Vasemmassa alareunassa sinun on yhdistettävä nykyinen ikkuna isäntään, ja ensin sinun on määritettävä isännät.
Tässä on IP-osoite, jonka juuri sain AWS:ltä, ja tässä on SSH-avaimeni.
Tallennan tiedoston ja teen saman uudelleen, ja tällä kertaa napsautan Mistral 7B:tä.
Haluan hyväksyä uuden sormenjäljen.
Täydellistä.
Nyt olemme 8N GPU-koneessamme.
Tarkistetaan ensin, onko näytönohjaimessa käytettävissä oikeat ajurit.
NVIDIA SMI:n kanssa täydellinen.
Näen, että minulla on tässä 8N-näytönohjain ja että se on tyhjä, joten minulla on tänään lähes 24 gigaa VRAM-muistia mallissani.
Luon testihakemiston, jonka avaan VS Code -ohjelmalla, ja nyt luon testitiedoston.
Kutsutaan sitä ehkä nimellä infer.py.
Mitä meidän pitäisi laittaa tähän infer.py-tiedostoon? Helppoa.
Mennään Mistralin tekoälymalliin Halailevat kasvot.
Jos tämä on ensimmäinen kerta, kun lataat mallin Hugging Facesta, voit periaatteessa mennä tänne malleihin, ja sinulla on valtavasti malleja saatavilla.
Voit klikata tästä ja kirjoittaa Mistral 7B.
Kuten huomaatte, Mistral oli jo listan kärjessä, koska se on nykyään hyvin trendikäs.
Valitsen Instruct-mallin, koska sillä on hauskempi leikkiä tänään, ja tässä noudatan vain Mistralin tekoälytiimin ohjeita.
Joten yksinkertaisesti kopioin ja liimaan koodin VS Codeen.
Se ei toimi sellaisenaan, koska ennen tätä meidän on asennettava Transformers-kirjasto.
Koska tämä Mistral 7B -malli on juuri lisätty Transformersiin, se ei ole vielä saatavilla PyPy-paketissa, mutta se ei ole ongelma.
Asennamme Transformersin suoraan GitHub-arkistosta.
Hyvä.
Nyt Transformers on asennettu oikein.
Viimeinen asia, joka meidän on tehtävä, on käyttää liukulukumallin 16-versiota, koska jos käytämme mallin oletusversiota, joka on liukulukumallin 32-versio, se on liian suuri A10-grafiikkasuorittimellemme, ja useimmiten ero FP16:n ja FP32:n välillä tämäntyyppisessä mallissa ei ole lainkaan havaittavissa.
Meidän on siis tänään tuotava Torch ja lisättävä tämä parametri, Torch dtype, kun malli ladataan.
Hyvä.
Yritetään nyt suorittaa päättelyskripti.
Hyvä.
Meillä on siis kunnon resepti majoneesista.
Ehkä voimme kokeilla jotain muuta.
Kysytään mallia, miten Transformers asennetaan Linux-palvelimelle.
Voimme poistaa tämän.
Hyvä.
Joten CSS, en ole varma miksi.
Kuulostaa oikealta, paitsi CSS-merkintä tässä.
En ole varma, miksi tämä yksityiskohta on olemassa, mutta uskon, että se riittää osoittamaan, että kyseessä on hieno 7B-malli, ja nyt tiedät, miten sitä käytetään, joten nyt on sinun vuorosi.
Tiedät nyt, miten Mistral 7B -malli otetaan käyttöön omalla palvelimellasi.
Kuten näet, se ei välttämättä ole monimutkainen, varsinkin kun käytämme vain yhtä GPU:ta.
Jos sinulla ei ole A10-näytönohjainta, jossa on riittävästi virtuaalimuistia, saatat tarvita useita pienempiä näytönohjaimia.
Siinä tapauksessa sinun on jaettava malli useammalle pienemmälle näytönohjaimelle.
Siitä tulee hieman monimutkaisempi, ja sitä varten tarvitaan toinen oma video.
Hyvää päivänjatkoa.