Tento cloudový kurz NLP ukazuje, ako nasadiť a používať generatívny model umelej inteligencie Mistral 7b na grafickom procesore NVIDIA A10 na AWS.
Model Mistral 7b poráža LLaMA 3 7b vo všetkých referenčných testoch a LLaMA 3 13b v mnohých referenčných testoch. V skutočnosti je dokonca na rovnakej úrovni ako model LLaMA 1 34b.
Jeho nasadenie a používanie si vyžaduje minimálne 15 GB VRAM, preto potrebujeme GPU A10 s minimálne 24 GB VRAM.
Tu je štruktúra kurzu:
Dobrý deň, tu Julien Sainas z NLP Cloud.
Dnes si ukážeme, ako nasadiť generatívny model Mistral 7b na GPU AWS A10.
Mistral 7b je najmodernejší generatívny model, ktorý vydala francúzska spoločnosť Mistral AI.
Tento model bol vydaný v septembri 2023 a vo všetkých oficiálnych porovnávacích testoch prekonáva Lamu 2 7b.
Ešte zaujímavejšie je, že v mnohých porovnávacích testoch prekonáva aj Lamu 2 13b a je na rovnakej úrovni ako Lama 1 34b.
Spoločnosť Mistral AI vydala tento model s licenciou Apache, ktorá vám umožňuje používať tento model akokoľvek chcete.
Tím vydal základný model aj vyladenú verziu chatu.
V tomto videu dnes nasadíme verziu chatu.
Mistral 7b vyžaduje aspoň 14 GB virtuálnej pamäte a viac v prípade veľkej veľkosti kontextu.
Preto ho nasadíme na grafickom procesore A10 NVIDIA v systéme AWS, pretože tento grafický procesor má 24 gigabajtov virtuálnej pamäte a je pomerne cenovo výhodný.
Najjednoduchší spôsob nasadenia systému Mistral 7b je použiť rámec Hugging Face a postupovať podľa oficiálnych pokynov spoločnosti Mistral AI.
V prvom kroku musíme vybrať správny stroj AWS.
V systéme AWS je množstvo strojov, takže najlepšia rada, ktorú vám môžem dať, je začať na tejto stránke s typmi inštancií a potom prejsť na Accelerated Computing vľavo.
Tu máte zoznam všetkých akcelerovaných hardvérových inštancií, ktoré AWS poskytuje, a tá, ktorú dnes chceme, je G5.
Ako môžete vidieť tu, G5 obsahuje grafický procesor A10, čo je to, čo chceme.
Existuje niekoľko variantov inštancií G5.
Niektoré majú len jeden GPU, iné štyri alebo osem GPU.
Jeden GPU nám stačí, pretože na jednom GPU je dostatok virtuálnej pamäte, ale musíme si dať veľký pozor na množstvo pamäte, ktorú má inštancia, pretože keď spustíme model Mistral 7b, budeme dočasne potrebovať určitú pamäť na načítanie modelu.
Preto dnes vyberieme veľkú inštanciu G5 4X, pretože 64 gigabajtov by malo stačiť.
Teraz sa prepnem do konzoly AWS a kliknem na položku Spustiť inštanciu.
Nazvime ho Test A10 Mistral.
Vyberieme operačný systém Ubuntu, ale je tu trik.
Nechceme vybrať štandardný operačný systém Ubuntu, pretože by sme doň museli ručne nainštalovať ovládače NVIDIA, čo je veľmi nepríjemné.
Vyberieme si tu server Deep Learning AMI GPU PyTorch, ktorý je oveľa lepší, pretože toto AMI obsahuje Ubuntu plus ovládače NVIDIA plus sadu nástrojov CUDA plus PyTorch a ďalšie veci, čo sú všetko veci, ktoré dnes budeme potrebovať na naše testy.
Tu vyberieme veľkú inštanciu G5 4X.
Ak nemáte pár kľúčov, musíte si ho vytvoriť.
Ak to robíte prvýkrát a nie ste si úplne istí, ako pripojiť VS Code k inštancii AWS, odporúčam vám pozrieť si naše špecializované video o vzdialenom vývojovom prostredí s VS Code na AWS.
Nie je potrebné otvárať ďalšie porty a odporúčam vám pridať možno 100 GB disku.
Teoreticky by mal model zaberať len 20 GB pevného disku, ale vždy je lepšie mať viac, pretože možno budeme potrebovať nainštalovať knižnice, takže tu budeme v bezpečí.
Kliknite na tlačidlo Spustiť inštanciu.
Dobre, je vytvorená.
Ak máte problém s kvótami, pretože možno prvýkrát spúšťate GPU 8N, odporúčam vám obrátiť sa na podporu AWS.
Teraz tu používam verejnú IP adresu a teraz prechádzam na VS Code.
V ľavom dolnom rohu je potrebné pripojiť aktuálne okno k hostiteľovi a najprv je potrebné nakonfigurovať hostiteľov.
Tu je IP adresa, ktorú som práve získal z AWS, a toto je môj kľúč SSH.
Uložím súbor a urobím to isté znova a tentoraz kliknem na položku Mistral 7B.
Chcem prijať nový odtlačok prsta.
Perfektné.
Teraz sme na našom počítači s GPU 8N.
Najprv skontrolujme, či je grafický procesor k dispozícii so správnymi ovládačmi.
S rozhraním NVIDIA SMI je to perfektné.
Vidím, že tu mám grafický procesor 8N a že je prázdny, takže dnes mám pre svoj model takmer 24 GB VRAM.
Vytvorím testovací adresár, ktorý otvorím pomocou VS Code, a teraz vytvorím testovací súbor.
Možno ho nazvime infer.py.
Čo by sme teda mali vložiť do tohto súboru infer.py? Jednoducho.
Prejdime k nášmu modelu Mistral AI na Hugging Face.
Ak si model na Hugging Face sťahujete po prvýkrát, v podstate môžete ísť sem na modely a máte k dispozícii množstvo modelov.
Môžete kliknúť sem a zadať Mistral 7B.
Ako vidíte, Mistral bol už na vrchole zoznamu, pretože je v súčasnosti veľmi trendy.
Vyberiem si model Instruct, pretože je dnes zábavnejší na hranie, a tu sa len riadim pokynmi tímu Mistral AI.
Takže som jednoducho skopíroval a vložil kód do VS Code.
Nebude to fungovať tak, ako to je, pretože predtým musíme nainštalovať knižnicu Transformers.
Keďže tento model Mistral 7B bol práve pridaný do Transformers, nie je ešte k dispozícii v balíku PyPy, ale to nie je problém.
Transformátory nainštalujeme priamo z úložiska GitHub.
Dobré.
Teraz sú Transformátory správne nainštalované.
Posledná vec, ktorú budeme musieť urobiť, je použiť verziu modelu s plávajúcou desatinnou čiarkou 16, pretože ak použijeme predvolenú verziu modelu, ktorá je s plávajúcou desatinnou čiarkou 32, bude pre náš grafický procesor A10 príliš veľká a väčšinou rozdiel medzi FP16 a FP32 pre tento druh modelu nie je absolútne badateľný.
Dnes teda musíme importovať Torch a pri načítaní modelu pridať tento parameter, Torch dtype.
Dobré.
Skúsme teraz spustiť inferenčný skript.
Dobré.
Takže máme správny recept na majonézu.
Možno by sme mohli skúsiť niečo iné.
Spýtajme sa modelu, ako nainštalovať Transformers na server Linux.
Môžeme to odstrániť.
Dobré.
Takže CSS, neviem prečo.
To znie správne, až na to, že tu je značka CSS.
Nie som si istý, prečo je tam tento detail, ale myslím, že to stačí na to, aby som vám ukázal, že je to pekný model 7B, a teraz viete, ako ho používať, takže teraz je rad na vás.
Teraz viete, ako nasadiť model Mistral 7B na vlastný server.
Ako vidíte, nie je to nevyhnutne zložité, najmä preto, že dnes používame len jeden GPU.
Ak nemáte GPU A10 s dostatočnou virtuálnou pamäťou, možno budete potrebovať niekoľko menších GPU.
V takom prípade budete musieť model rozdeliť na niekoľko menších GPU.
Bude to trochu zložitejšie a budeme na to potrebovať ďalšie špeciálne video.
Prajem pekný deň.