Ez a felhőalapú NLP-tanfolyam bemutatja, hogyan lehet a Mistral 7b generatív AI-modellt NVIDIA A10 GPU-n telepíteni és használni az AWS-en.
A Mistral 7b modell az összes benchmarkon felülmúlja a LLaMA 3 7b modellt, a LLaMA 3 13b pedig számos benchmarkon. Valójában még a LLaMA 1 34b modellel is egyenrangú.
A telepítéshez és használatához legalább 15 GB VRAM szükséges, ezért van szükségünk egy A10 GPU-ra, amely legalább 24 GB VRAM-ot tartalmaz.
A tanfolyam felépítése a következő:
Helló, itt Julien Sainas az NLP Cloudtól.
Ma megnézzük, hogyan lehet a Mistral 7b generatív modellt AWS A10 GPUHere we go.
A Mistral 7b a legmodernebb generatív modell, amelyet a francia Mistral AI nevű cég adott ki.
Ez a modell 2023 szeptemberében jelent meg, és minden hivatalos benchmarkban veri a Lama 2 7b-t.
Ami még érdekesebb, hogy számos benchmarkon is veri a Lama 2 13b-t, és a Lama 1 34b-vel is egy szinten van.
A Mistral AI Apache licenccel adta ki ezt a modellt, ami lehetővé teszi, hogy a modellt úgy használd, ahogyan csak akarod.
A csapat egy alapmodell és egy finomhangolt chatváltozatot is kiadott.
A mai videóban a chat-verziót fogjuk telepíteni.
A Mistral 7b legalább 14 gigabájt virtuális memóriát igényel, nagy kontextusméret esetén pedig többet.
Ezért egy A10-es NVIDIA GPU-n fogjuk telepíteni az AWS-en, mivel ez a GPU 24 gigás virtuális memóriával rendelkezik, és elég költséghatékony.
A Mistral 7b telepítésének legegyszerűbb módja a Hugging Face keretrendszer használata, és a Mistral AI hivatalos iránymutatásainak követése.
Első lépésként ki kell választanunk a megfelelő AWS-gépet.
Az AWS-en rengeteg gép van, ezért a legjobb tanács, amit adhatok, hogy kezdd ezzel a példánytípusok oldallal, majd menj a bal oldalon a Gyorsított számítástechnika menüpontra.
Itt van egy lista az AWS által kínált összes gyorsított hardveres példányról, és az egyik, amit ma keresünk, a G5.
Amint itt látható, a G5 A10-es GPU-t tartalmaz, amit mi szeretnénk.
A G5-ös példányoknak többféle változata létezik.
Van, amelyiknek csak egy GPU-ja van, van, amelyiknek négy vagy nyolc GPU-ja.
Egy GPU elég nekünk, mert egy GPU-n elég virtuális memória van, de nagyon óvatosnak kell lennünk a példány memóriájának mennyiségével, mert amikor elindítjuk a Mistral 7b modellt, átmenetileg szükségünk lesz némi memóriára a modell betöltéséhez.
Ezért fogunk ma egy G5 4X nagy példányt választani, mert 64 gigának elégnek kell lennie.
Most átváltok az AWS konzolra, és a Launch Instance gombra kattintok.
Nevezzük A10 Mistral tesztnek.
Az Ubuntu operációs rendszert választjuk, de van egy trükk.
Nem szeretnénk a standard Ubuntu OS-t választani, mert arra kézzel kell majd telepítenünk az NVIDIA illesztőprogramokat, ami nagyon fájdalmas.
Amit tenni fogunk, az az, hogy kiválasztjuk a Deep Learning AMI GPU PyTorch szervert, ami sokkal jobb, mert ez az AMI tartalmazza az Ubuntut, az NVIDIA illesztőprogramokat, a CUDA eszközkészletet, a PyTorch-ot és egyéb dolgokat, amelyekre ma szükségünk lesz a tesztjeinkhez.
Itt a G5 4X nagy példányt választjuk.
Ha nincs kulcspárod, akkor létre kell hoznod egyet.
Ha először csinálod ezt, és nem vagy biztos benne, hogy pontosan hogyan kell a VS Code-ot az AWS-példányodhoz csatlakoztatni, javaslom, hogy nézd meg a VS Code távoli fejlesztőkörnyezetéről szóló videónkat az AWS-en.
Nem kell más portokat megnyitni, és azt javaslom, hogy adj hozzá talán 100 gigás lemezt.
Elméletileg a modellnek csak 20 gigás merevlemezt kellene foglalnia, de mindig jobb, ha több van, mert esetleg könyvtárakat kell majd telepítenünk, így itt biztonságban leszünk.
Kattintsunk a Launch Instance gombra.
Jó, megteremtették.
Ha kvótaproblémája van, mert talán először indít 8N GPU-t, azt javaslom, hogy forduljon az AWS támogatásához.
Most a nyilvános IP-t veszem itt, és most átváltok a VS Code-ra.
A bal alsó sarokban egy aktuális ablakot kell csatlakoztatnia a hoszthoz, és először konfigurálnia kell a hosztokat.
Ez itt az IP-cím, amit az AWS-től kaptam, ez pedig az SSH-kulcsom.
Elmentem a fájlt, és ugyanezt újra megteszem, és ezúttal a Mistral 7B-re kattintok.
Szeretném elfogadni az új ujjlenyomatot.
Tökéletes.
Most a 8N GPU-s gépünkön vagyunk.
Először is ellenőrizzük, hogy a GPU-hoz rendelkezésre állnak-e a megfelelő illesztőprogramok.
Az NVIDIA SMI-vel tökéletes.
Látom, hogy van itt egy 8N GPU, és hogy üres, így ma majdnem 24 gigás VRAM-om van a modellemhez.
Létrehozok egy tesztkönyvtárat, amelyet a VS Code segítségével nyitok meg, és most létrehozok egy tesztfájlt.
Talán hívjuk infer.py-nak.
Szóval mit tegyünk ebbe az infer.py fájlba? Könnyen.
Menjünk a Mistral AI modellünkhöz az ölelő arcra.
Ha ez az első alkalom, hogy modellt töltesz le az Ölelő Arcról, alapvetően itt tudsz elmenni a modellekhez, és rengeteg modell áll rendelkezésedre.
Kattintson ide, és írja be a Mistral 7B-t.
Mint látható, a Mistral már a lista élén állt, mert manapság nagyon divatos.
Azért választom az Instruct modellt, mert ma viccesebb vele játszani, és itt csak a Mistral AI csapatának iránymutatásait követem.
Így egyszerűen csak bemásolom és beillesztem a kódot a VS Code-ban.
Ez így nem fog működni, mert előtte telepítenünk kell a Transformers könyvtárat.
Tehát mivel ez a Mistral 7B modell csak most került a Transformershez, még nem érhető el a PyPy csomagban, de ez nem probléma.
A Transformers-t közvetlenül a GitHub tárolóból fogjuk telepíteni.
Jól van.
Most a Transformers helyesen van telepítve.
Az utolsó dolog, amit meg kell tennünk, hogy a modell lebegőpontos 16-os verzióját használjuk, mert ha a modell alapértelmezett verzióját használjuk, ami lebegőpontos 32-es, az túl nagy lesz az A10-es GPU-nk számára, és a legtöbbször az FP16 és FP32 közötti különbség egy ilyen modell esetében egyáltalán nem észrevehető.
Tehát ma azt kell tennünk, hogy importáljuk a Torch-ot, és a modell betöltésekor hozzáadjuk ezt a paramétert, a Torch dtype-ot.
Jól van.
Most próbáljuk meg futtatni a következtetési szkriptet.
Jól van.
Tehát van egy megfelelő receptünk a majonézről.
Talán kipróbálhatnánk valami mást.
Kérdezzük meg a modellt, hogyan telepíthetjük a Transformers-t egy Linux szerverre.
Ezt el tudjuk távolítani.
Jól van.
Szóval CSS, nem tudom miért.
Ez jól hangzik, kivéve a CSS jelölést itt.
Nem tudom, miért van ez a részlet, de azt hiszem, ennyi elég is ahhoz, hogy lássátok, hogy ez egy szép 7B modell, és most már tudjátok, hogyan kell használni, úgyhogy most ti következtek.
Most már tudja, hogyan telepítse a Mistral 7B modellt a saját szerverén.
Amint láthatod, ez nem feltétlenül bonyolult, különösen azért, mert ma csak egyetlen GPU-t használunk.
Ha nincs elég virtuális memóriával rendelkező A10 GPU-ja, akkor több kisebb GPU-ra lehet szüksége.
Ebben az esetben a modellt több kisebb GPU-ra kell felosztania.
Ez egy kicsit összetettebb lesz, és ehhez szükségünk lesz még egy külön videóra.
Szép napot kívánok.