Този курс за NLP в облака показва как да внедрите и използвате генеративния AI модел Mistral 7b на графичен процесор NVIDIA A10 в AWS.
Моделът Mistral 7b побеждава LLaMA 3 7b във всички бенчмаркове и LLaMA 3 13b в много бенчмаркове. Всъщност той е дори на едно ниво с модела LLaMA 1 34b.
Разгръщането и използването му изисква поне 15 GB VRAM, поради което ни е необходим графичен процесор A10 с поне 24 GB VRAM.
Ето каква е структурата на курса:
Здравейте, това е Жулиен Сайнас от NLP Cloud.
Днес ще видим как да разположим генеративния модел Mistral 7b на графичен процесор AWS A10Напред.
Mistral 7b е най-съвременен генеративен модел, пуснат от френска компания, наречена Mistral AI.
Този модел е пуснат през септември 2023 г. и побеждава Lama 2 7b във всички официални тестове.
Още по-интересно е, че той също така побеждава Lama 2 13b в много бенчмаркове и е на едно ниво с Lama 1 34b.
Mistral AI пусна този модел с лиценз Apache, който ви позволява да го използвате както искате.
Екипът публикува както основен модел, така и прецизирана версия за чат.
В този видеоклип днес ще разположим версията за чат.
Mistral 7b изисква поне 14 гигабайта виртуална памет и повече в случай на голям размер на контекста.
Така че ще го разположим на графичен процесор A10 NVIDIA в AWS, тъй като този графичен процесор има 24 гигабайта виртуална памет и е доста рентабилен.
Най-лесният начин за внедряване на Mistral 7b е да използвате рамката Hugging Face и да следвате официалните насоки на Mistral AI.
Като първа стъпка ще трябва да изберем подходящата машина на AWS.
В AWS има тонове машини, така че най-добрият съвет, който мога да ви дам, е да започнете с тази страница за типове инстанции и след това да отидете на Accelerated Computing вляво.
Тук имате списък с всички ускорени хардуерни инстанции, които AWS предоставя, а тази, която искаме днес, е G5.
Както можете да видите тук, G5 вгражда графичен процесор A10, което е това, което искаме.
Съществуват няколко варианта на екземпляри G5.
Някои от тях имат само един графичен процесор, а други - четири или осем графични процесора.
Един графичен процесор е достатъчен за нас, защото има достатъчно виртуална памет на един графичен процесор, но трябва да сме много внимателни за количеството памет, с което разполага инстанцията, защото когато стартираме модела Mistral 7b, ще ни е необходима временно малко памет, за да заредим модела.
Ето защо днес ще изберем голям екземпляр G5 4X, защото 64 гигабайта трябва да са достатъчни.
Сега преминавам към конзолата на AWS и щраквам върху Launch Instance.
Нека го наречем Тест A10 Mistral.
Ще изберем операционната система Ubuntu, но има един трик.
Не искаме да избираме стандартната операционна система Ubuntu, защото ще трябва ръчно да инсталираме драйверите на NVIDIA в нея, което е много болезнено.
Това, което ще направим, е да изберем сървъра Deep Learning AMI GPU PyTorch тук, който е много по-добър, защото този AMI идва с Ubuntu плюс драйвери NVIDIA плюс CUDA toolkit плюс PyTorch и други неща, които са всички неща, които ще ни трябват днес за нашите тестове.
Тук избираме големия екземпляр G5 4X.
Ако нямате двойка ключове, трябва да създадете такава.
Ако правите това за първи път и не сте сигурни как точно да свържете VS Code с вашата инстанция на AWS, препоръчвам ви да гледате нашето специално видео за отдалечена среда за разработка с VS Code на AWS.
Няма нужда да отваряте други портове и препоръчвам да добавите може би 100 гигабайта диск.
Теоретично моделът трябва да заема само 20 гигабайта твърд диск, но винаги е по-добре да има повече, защото може би ще трябва да инсталираме библиотеки, така че тук ще бъдем в безопасност.
Нека щракнем върху Стартиране на инстанция.
Добре, създадена е.
Ако имате проблем с квотата, защото може би за първи път стартирате GPU 8N, препоръчвам ви да се обърнете към поддръжката на AWS.
Сега вземам публичния IP адрес тук и преминавам към VS Code.
В долния ляв ъгъл трябва да свържете текущ прозорец с хост и първо трябва да конфигурирате хостовете си.
Ето, това е IP адресът, който току-що получих от AWS, а това е моят SSH ключ.
Запазвам файла и правя същото отново, като този път щраквам върху Mistral 7B.
Искам да приема новия пръстов отпечатък.
Перфектно.
Сега сме на нашата машина с 8N GPU.
Нека първо да проверим дали графичният процесор е наличен с правилните драйвери.
С NVIDIA SMI - перфектно.
Виждам, че тук имам графичен процесор 8N и че той е празен, така че днес разполагам с почти 24 гигабайта VRAM за модела си.
Създавам тестова директория, която ще отворя с VS Code, и сега създавам тестов файл.
Може би ще го наречем infer.py.
И така, какво трябва да поставим в този файл infer.py? Лесно.
Нека преминем към нашия модел на Mistral AI за прегръщане на лице.
Ако за пръв път изтегляте модел от Hugging Face, можете да отидете тук, в раздел "Модели", и ще имате на разположение много модели.
Можете да кликнете тук и да въведете Mistral 7B.
Както можете да видите, Mistral вече беше на първо място в списъка, защото е много модерен в наши дни.
Ще избера модела Instruct, защото днес е по-забавен за игра, а тук просто следвам указанията на екипа на Mistral AI.
Затова просто копирам и поставям кода във VS Code.
Тя няма да работи в този си вид, защото преди това ще трябва да инсталираме библиотеката Transformers.
Тъй като този модел на Mistral 7B току-що беше добавен към Transformers, той все още не е наличен в пакета PyPy, но това не е проблем.
Ще инсталираме Transformers директно от хранилището на GitHub.
Добре.
Сега Transformers е правилно инсталиран.
Последното нещо, което ще трябва да направим, е да използваме версията на модела с плаваща запетая 16, защото ако използваме версията по подразбиране на модела, която е с плаваща запетая 32, тя ще бъде твърде голяма за нашия графичен процесор A10, а в повечето случаи разликата между FP16 и FP32 за този вид модел е абсолютно незабележима.
Това, което трябва да направим днес, е да импортираме Torch и да добавим този параметър, Torch dtype, при зареждане на модела.
Добре.
Сега нека се опитаме да стартираме скрипта за извод.
Добре.
Така че имаме подходяща рецепта за майонеза.
Може би можем да опитаме нещо друго.
Нека да попитаме модела как да инсталираме Transformers на сървър на Linux.
Можем да го премахнем.
Добре.
Така че CSS, не съм сигурен защо.
Това звучи правилно, с изключение на CSS маркировката тук.
Не съм сигурен защо има тази подробност, но мисля, че това е достатъчно, за да ви покаже, че това е хубав модел 7B, а сега знаете как да го използвате, така че сега е ваш ред.
Вече знаете как да разположите модела Mistral 7B на собствен сървър.
Както можете да видите, това не е непременно сложно, особено защото днес използваме само един графичен процесор.
Ако не разполагате с графичен процесор A10 с достатъчно виртуална памет, може да ви трябват няколко по-малки графични процесора.
В този случай ще трябва да разделите модела си на няколко по-малки графични процесора.
Това ще бъде малко по-сложно и ще ни трябва друго специално видео за това.
Хубав ден.