SAMSUNG_022024A Advertisement SAMSUNG_022024A Advertisement SAMSUNG_022024A Advertisement

AI model Llama-2 na lokálnom PC s grafikou NVIDIA

0

Open source LLM (Large Language Model) model Llama 2 bol sprístupnený v júli 2023 spoločnosťou Meta, čo je spoločnosť prevádzkujúca okrem iného Facebook a Instagram. Model je k dispozícii zdarma nielen na vzdelávanie a výskum, ale aj na komerčné použitie.

Model je možné nainštalovať aj na lokálnom počítači a používať bez toho aby bolo potrebné internetové pripojenie. Na ilustráciu natrénovaný model llama-2-70B, ktorý obsahuje 70 miliárd parametrov zaberie približne 140 GB a na jeho základné využitie je k dispozícii program, ktorého zdrojový kód má 500 riadkov v programovacom jazyku C.

Nielen na trénovanie, ale aj na beh LLM modelov je mnohonásobne rýchlejšia grafická karta, alebo zostava viacerých grafických kariet. Zatiaľ čo pri trénovaní neurónových sietí sa údaje do grafickej karty prenášajú po dávkach, pri behu natrénovaného modelu je ideálne, ak je celý v pamäti. Keď napíšete zadanie neurónová sieť generuje odpoveď ako postupnosť slov, pričom ak sú všetky parametre v pamäti generovanie odpovede funguje mnohonásobne rýchlejšie.

 Bežné grafické karty NVIDIA používané v herných PC a pracovných staniciach majú typicky 16 – 24 GB grafickej pamäti. Málokto má tiež 140 GB operačnej pamäti.  

Aby sa modely typu Llama-2 vošli celé do pamäti grafickej karty, po natrénovaní modelu sa na parametre aplikuje kompresia a to tak, že sa zmenší počet bitov potrebných na uloženie koeficientov z 32, alebo 16 bitov až na 3-4 bity. Pri tejto kompresii nedôjde k výraznejšiemu zhoršeniu kvality modelu.

Profesionálne karty NVIDIA umožňujú prieme prepojenie, v tomto konkrétnom prípade s 2 x NVIDIA RTX A5000 by ste získali 48 GB VRAM

V prvom videu je postup inštalácie varianty AI modelu LLama-2 a nástrojov umožňujúcich prácu s týmto modelom lokálne aj bez pripojenia na internet. Popísaná je inštalácia pre Windows 11 vrátane ukážok možností lokálne nainštalovaného LLM modelu.

Aplikačné rozhranie na prácu s modelmi https://github.com/oobabooga/text-generation-webui

Server s modelmi https://huggingface.co/TheBloke/Llama-2-13B-Chat-fp16

Model Llama-2-7B-Chat-AWQ bude gungovať aj s GPU NVIDIA s 8 GB VRAM, model Llama-2-13B-Chat-fp16 potrebuje 24 GB VRAM, čiže napríklad RTX 4090

V druhom videu je jednoduchý postup ako využívať AI model Llama-2 na lokálnom PC v aplikácii LM Studio https://lmstudio.ai/ ktorá je k dispozícii pre Windows, Linux aj MacOS. 

Najskôr je potrebné vyhľadať model, v našom prípade Llama 2, takže do poľa pre vyhľadávanie napíšeme „llama-2“. Následne sa zobrazí zoznam modelov s rôznymi parametrami. Sú tu modely 7B, 13B aj 7B v rôznych variantoch.  Vyberte model, aký potrebujete. Napríklad Llama-2-7B-Chat-GGML.

Model Llama 2 bol predtrénovaný na 2 biliónoch (bilion = 1012, čiže milión miliónov ) tokenov údajov z verejne dostupných zdrojov. Na trénovanie modelu bola použitá zostava 6 000 grafických kariet A100-80GB  s celkovým výkonom 1.1024 FLOPS. Čistý čas trénovania modelu Llama 2 70 B bol 1 720 320 hodín, čiže 12 dní, pričom využitie takejto zostavy stálo približne 2 milióny dolárov. Pre zaujímavosť každá z grafických kariet má príkon 400 W, čiže celková spotreba energie na natrénovanie modelu bola 688 MWh. Z uvedeného je jasné, že nie každá firma si môže dovoliť takýto model vytvoriť a natrénovať. Sprístupnenie natrénovaného modelu im poskytne možnosti experimentovať v tejto perspektívnej oblasti AI. Model Llama 2 je optimalizovaný na lokálne spustenie vo Windows aj Linuxe, čo vývojárom poskytuje široké možnosti využitia. Model je tiež k dispozícii v katalógu modelov Azure AI, čo umožňuje vývojárom používajúcim Microsoft Azure využívať ho v cloudových aplikáciách. Model je k dispozícii aj prostredníctvom služieb Amazon Web Services (AWS), Hugging Face a služieb ďalších poskytovateľov.

Aby sme boli presní, LLama 2 je kolekcia statických natrénovaných generatívnych textových modelov v rozsahu od 7 do 70 miliárd parametrov. K dispozícii sú varianty 7B, 13B a 70B, kde B označuje v angličtine billion, čiže po našom miliardu. Modely sú koncipované tak, že na vstupe je text a generovaným výstupom je taktiež text. Vstup aj výstup je v angličtine.   

Modely Llama-2 s prívlastkom Chat, sú optimalizované na scenáre dialógu.  Meta poskytuje podrobný popis ich fungovania a možnosti dolaďovania, takže predtrénované modely možno prispôsobiť rôznym úlohám generovania prirodzeného jazyka. Vyladené verzie umožňujú využívajú SFT (Supervised Fine Tuning), čiže doladenie pod dohľadom a tiež RLHF (Reinforcement Learning with Human Feedback), čiže posilnenie učenia s ľudskou spätnou väzbou.

Code Llama je model generovania kódu postavený na Llama 2, trénovaný na 500B tokenoch kódu. Podporuje najpoužívanejšie programovacie jazyky vrátane Pythonu, C++, Javy, PHP, Javascriptu, C# a Bash. Zadanie je v prirodzenom jazyku, napríklad „Napíš kód funkcie, ktorá vypíše Fibonacciho postupnosť“

Dôležité je poznať význam skratiek na konci názvov jednotlivých modelov. Udávajú metódu komprimovania parametrov. Veľké jazykové modely (LLM) preukázali vynikajúci výkon pri rôznych úlohách, ale veľkosť modelu znamená vysoké nároky na veľkosť a rýchlosť pamäte. Po natrénovaní modelu sa na parametre, čiže váhové a bias koeficienty aplikuje kompresia a to tak, že sa zmenší počet bitov potrebných na uloženie koeficientov z 32, alebo 16 bitov až na 3-4 bity.

FP16 a FP32 označujú číselné formáty parametrov s pohyblivou rádovou čiarkou (FP – Floating Point) FP16 používa 16 bitov. Pozostáva z 1-bitového znamienka, 5-bitového exponentu a 10-bitovej mantisy.

GGML je optimalizovaný pre CPU. GG sú iniciály tvorcu modelu Georgi Gerganova. Umožňuje zdieľanie modelov v jednom súbore. Nevýhodou je malá flexibilita, hlavne čo sa týka pridávania ďalších informácií, ktoré spôsobuje nekompatibilitu.

GGUF (GPT-Generated Unified Format) je vylepšeným nástupcom GGML  Umožňuje pridávanie nových funkcií pri zachovaní kompatibility so staršími modelmi.

Modely GPTQ sú optimalizované pre použitie na GPU, Skratka znamená Generative Pretrained Transformers Layerwise Quantization. Nároky na pamäť sa kompresiou znížia štvornásobne. GPTQ analyzuje každú vrstvu modelu samostatne a aproximuje váhové koeficienty tak, aby sa zachovala presnosť. Model potom zaberá oveľa menej pamäte, takže môže bežať na hardvéri s menšou pamäťou. Bežné komerčné GPU majú typicky 8 GB VRAM, špičkové modely napríklad NVIDIA GeForce RTX 4090 má 24 GB VRAM.

AWQ (Activation-aware Weight Quantization) je efektívna, presná a rýchla metóda kvantovania ktorá v súčasnosti podporuje 4-bitovú kvantizáciu. V porovnaní s GPTQ ponúka rýchlejšie kvantovanie parametrov. AWQ umožňuje používať GPU s menšou pamäťou Napríklad model 70B je možné spustiť na 1 x 48 GB GPU namiesto 2 x 80 GB.

Model Llama 2 je možné využívať napríklad prostredníctvom aplikácie LM Studio https://lmstudio.ai/, ktorá je k dispozícii pre Windows, Linux aj MacOS. Najskôr je potrebné vyhľadať model, v našom prípade Llama 2, takže do poľa pre vyhľadávanie napíšeme „llama-2“. Následne sa zobrazí zoznam modelov s rôznymi parametrami. Sú tu modely 7B, 13B aj 7B v rôznych variantoch.  Vyberte model, aký potrebujete. Napríklad Llama-2-7B-Chat-GGML.

V LM Studiu sa po výbere modelu na pravej strane zobrazia všetky varianty kvantizácie váhových a bias koeficientov vrátane veľkosti modelu. Základná verzia obsahuje nekomprimované parametre, avšak málokto má počítač so 140 GB pamäti RAM, nehovoriac o pamäti na grafickej karte. Preto sú k dispozícii upravené moduly s parametrami zredukovanými na 4, prípadne tri bity.  Ak chcete aby model bežal na grafickej karte a máte GPU s 8 GB VRAM, tak veľkosť modelu by nemala presiahnuť 5 – 6 GB

Partnerom článku je smarty.sk

Zobrazit Galériu

Luboslav Lacko

Všetky autorove články
LLama-2 ChatGPT NVIDIA

Pridať komentár

Mohlo by vás zaujímať

Mohlo by vás zaujímať