Máte potíže s umělou inteligencí nebo s vývojem celého balíku? Naši odborníci jsou tu pro vás: poradenství na míru, technická integrace a další. Obraťte se na [email protected].

Nasazení generativního modelu Mistral 7b na GPU A10 na AWS

Summary

Tento cloudový kurz NLP ukazuje, jak nasadit a používat generativní model umělé inteligence Mistral 7b na grafickém procesoru NVIDIA A10 v systému AWS.

Model Mistral 7b překonává LLaMA 3 7b ve všech benchmarcích a LLaMA 3 13b v mnoha benchmarcích. Ve skutečnosti je dokonce na stejné úrovni jako model LLaMA 1 34b.

Jeho nasazení a používání vyžaduje alespoň 15 GB VRAM, a proto potřebujeme GPU A10 s minimálně 24 GB VRAM.

Zde je struktura kurzu:

Transcript

Dobrý den, tady Julien Sainas ze společnosti NLP Cloud.

Dnes se podíváme, jak nasadit generativní model Mistral 7b na GPU AWS A10.

Mistral 7b je nejmodernější generativní model vydaný francouzskou společností Mistral AI.

Tento model byl vydán v září 2023 a ve všech oficiálních srovnávacích testech překonává Lamu 2 7b.

Ještě zajímavější je, že v mnoha srovnávacích testech překonává i Lamu 2 13b a je na stejné úrovni jako Lama 1 34b.

Společnost Mistral AI vydala tento model s licencí Apache, která vám umožňuje používat tento model, jak chcete.

Tým vydal jak základní model, tak vyladěnou verzi chatu.

V tomto videu dnes nasadíme verzi chatu.

Mistral 7b vyžaduje alespoň 14 GB virtuální paměti a více v případě velké velikosti kontextu.

Proto jej nasadíme na grafickém procesoru A10 NVIDIA na platformě AWS, protože tento grafický procesor má 24 GB virtuální paměti a je poměrně úsporný.

Nejjednodušší způsob, jak nasadit systém Mistral 7b, je použít rámec Hugging Face a postupovat podle oficiálních pokynů společnosti Mistral AI.

V prvním kroku musíme vybrat správný stroj AWS.

Na AWS je spousta strojů, takže nejlepší rada, kterou vám mohu dát, je začít na této stránce s typy instancí a pak přejít na Accelerated Computing vlevo.

Zde máte seznam všech akcelerovaných hardwarových instancí, které AWS poskytuje, a ta, kterou dnes chceme, je G5.

Jak můžete vidět zde, G5 obsahuje grafický procesor A10, což je to, co chceme.

Existuje několik variant instancí G5.

Některé mají pouze jeden GPU, jiné čtyři nebo osm GPU.

Jeden GPU nám stačí, protože na jednom GPU je dostatek virtuální paměti, ale musíme si dát velký pozor na množství paměti, kterou instance má, protože až spustíme model Mistral 7b, budeme potřebovat dočasně nějakou paměť pro načtení modelu.

Proto dnes vybereme velkou instanci G5 4X, protože 64 GB by mělo stačit.

Nyní se přepnu do konzoly AWS a kliknu na možnost Spustit instanci.

Říkejme mu Test A10 Mistral.

Vybereme operační systém Ubuntu, ale je tu jeden trik.

Nechceme zvolit standardní operační systém Ubuntu, protože bychom do něj museli ručně instalovat ovladače NVIDIA, což je velmi nepříjemné.

Zde vybereme server Deep Learning AMI GPU PyTorch, který je mnohem lepší, protože toto AMI obsahuje Ubuntu a ovladače NVIDIA a sadu nástrojů CUDA a PyTorch a další věci, což jsou všechno věci, které dnes budeme potřebovat pro naše testy.

Zde vybereme velkou instanci G5 4X.

Pokud dvojici klíčů nemáte, musíte si ji vytvořit.

Pokud to děláte poprvé a nejste si jisti, jak přesně VS Code připojit k instanci AWS, doporučuji vám podívat se na naše video věnované vzdálenému vývojovému prostředí VS Code na AWS.

Není třeba otevírat další porty a doporučuji přidat třeba 100 GB disku.

Teoreticky by měl model zabírat pouze 20 GB pevného disku, ale vždy je lepší mít více, protože budeme potřebovat nainstalovat knihovny, takže zde budeme v bezpečí.

Klikneme na tlačítko Spustit instanci.

Dobře, je vytvořen.

Pokud máte problém s kvótami, protože možná poprvé spouštíte GPU 8N, doporučuji obrátit se na podporu AWS.

Nyní zde využívám veřejnou IP adresu a nyní přecházím na VS Code.

Vlevo dole je třeba připojit aktuální okno k hostiteli a nejprve je třeba nakonfigurovat hostitele.

Zde je IP adresa, kterou jsem právě získal od AWS, a toto je můj klíč SSH.

Uložím soubor a udělám totéž znovu a tentokrát kliknu na Mistral 7B.

Chci přijmout nový otisk prstu.

Perfektní.

Nyní jsme na našem počítači s GPU 8N.

Nejprve zkontrolujme, zda je k dispozici grafický procesor se správnými ovladači.

S NVIDIA SMI je to perfektní.

Vidím, že zde mám 8N GPU a že je prázdný, takže mám dnes pro svůj model téměř 24 GB VRAM.

Vytvářím testovací adresář, který otevřu pomocí VS Code, a nyní vytvářím testovací soubor.

Možná ho nazvěme infer.py.

Co bychom tedy měli vložit do souboru infer.py? Snadno.

Přejděme k našemu modelu umělé inteligence Mistral v aplikaci Hugging Face.

Pokud si na Hugging Face stahujete model poprvé, můžete v podstatě přejít sem na modely a máte k dispozici spoustu modelů.

Klikněte zde a zadejte Mistral 7B.

Jak vidíte, Mistral byl již na vrcholu seznamu, protože je v dnešní době velmi módní.

Zvolím model Instruct, protože je dnes zábavnější si s ním hrát, a tady se jen řídím pokyny týmu Mistral AI.

Proto jsem kód jednoduše zkopíroval a vložil do VS Code.

Nebude to fungovat tak, jak to je, protože předtím musíme nainstalovat knihovnu Transformers.

Protože byl tento model Mistral 7B právě přidán do Transformers, není ještě k dispozici v balíčku PyPy, ale to není problém.

Transformátory nainstalujeme přímo z repozitáře GitHub.

Dobré.

Nyní jsou Transformátory správně nainstalovány.

Poslední věc, kterou budeme muset udělat, je použít verzi modelu s plovoucí desetinnou čárkou 16, protože pokud použijeme výchozí verzi modelu, která má plovoucí desetinnou čárku 32, bude pro náš grafický procesor A10 příliš velká a většinou není rozdíl mezi FP16 a FP32 pro tento druh modelu absolutně znatelný.

Dnes tedy potřebujeme importovat Torch a při načítání modelu přidat tento parametr, Torch dtype.

Dobré.

Nyní se pokusíme spustit inferenční skript.

Dobré.

Takže máme správný recept na majonézu.

Možná můžeme zkusit něco jiného.

Zeptejme se modelu, jak nainstalovat Transformers na server s Linuxem.

To můžeme odstranit.

Dobré.

Takže CSS, nevím proč.

To zní správně, až na značku CSS.

Nejsem si jistý, proč je tam tento detail, ale myslím, že to stačí k tomu, abych vám ukázal, že je to pěkný model 7B, a teď už víte, jak ho používat, takže teď je řada na vás.

Nyní víte, jak nasadit model Mistral 7B na vlastní server.

Jak vidíte, není to nutně složité, zejména proto, že dnes používáme pouze jeden jediný GPU.

Pokud nemáte grafický procesor A10 s dostatečnou virtuální pamětí, budete možná potřebovat několik menších grafických procesorů.

V takovém případě budete muset model rozdělit na několik menších GPU.

Bude to trochu složitější a budeme k tomu potřebovat další speciální video.

Přeji hezký den.