Ako spustiť model LLM na počítači s 32 GB RAM – krok za krokom
V tomto príspevku sa dozviete, ako spustiť model veľkého jazykového modelu (LLM) na počítači s 32 GB RAM. Nasledujúce kroky vám umožnia nainštalovať a skonfigurovať prostredie na spúšťanie modelov, ako sú Mistral 7B, Llama 2 alebo podobné modely.
Predpoklady
Pred začiatkom uistite sa, že váš počítač splňuje nasledujúce podmienky:
- Operačný systém: Linux (odporúčaný) alebo Windows 10/11
- Procesor: Intel i7/i9 alebo AMD Ryzen 7/9
- Pamäť RAM: 32 GB
- Grafická karta: NVIDIA s aspoň 16 GB pamäte VRAM (voliteľné, ale odporúčané)
Krok 1: Inštalácia prostredia
Inštalácia Pythonu
Spustite model LLM v prostredí Python. Nainštalujte najnovšiu verziu Pythonu (3.9 alebo novšia):
sudo apt update
sudo apt install python3.9 python3-pip python3-venv
Vytvorenie virtuálneho prostredia
Vytvorte virtuálne prostredie, aby ste sa vyhli konfliktom s inými balíčikmi:
python3.9 -m venv llm_env
source llm_env/bin/activate
Krok 2: Inštalácia potrebných knižníc
Nainštalujte potrebné knižnice, vrátane transformers a torch:
pip install torch transformers accelerate bitsandbytes
Ďalej, ak plánujete používať grafickú kartu, nainštalujte vhodnú verziu torch s podporou pre CUDA:
pip install torch --index-url https://download.pytorch.org/whl/cu118
Krok 3: Výber modelu
Vyberte model, ktorý chcete spustiť. V tomto príklade použijeme model Mistral 7B. Môžete ho stiahnuť z Hugging Face:
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "mistralai/Mistral-7B"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, device_map="auto")
Krok 4: Konfigurácia pamäte
Aby ste mohli spustiť model na počítači s 32 GB RAM, musíte skonfigurovať pamäť tak, aby sa vyhli pretečeniu. Môžete to urobiť pomocou knižnice accelerate:
from accelerate import init_empty_weights, load_checkpoint_and_dispatch
model = AutoModelForCausalLM.from_pretrained(
model_name,
device_map="auto",
load_in_8bit=True # Použite 8-bitovú kvantizáciu, aby ste ušetrili pamäť
)
Krok 5: Spustenie modelu
Teraz môžete spustiť model a vygenerovať text:
input_text = "Aký je zmysel života?"
inputs = tokenizer(input_text, return_tensors="pt").to("cuda")
outputs = model.generate(**inputs, max_length=100)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
Krok 6: Optimalizácia
Aby ste zlepšili výkon, môžete skúsiť rôzne techniky optimalizácie, ako je 4-bitová kvantizácia alebo použitie knižnice vLLM:
from vllm import LLM
llm = LLM(model=model_name)
outputs = llm.generate(prompts=[input_text], max_tokens=100)
print(outputs[0].outputs[0].text)
Zhrnutie
Spustenie modelu LLM na počítači s 32 GB RAM vyžaduje vhodnú konfiguráciu a optimalizáciu. Postupujúc podľa výš uvedených krokov by ste mali byť schopní spustiť model, ako je Mistral 7B, a generovať text. Pamätajte, že výkon môže závisieť od špecifickosti vášho hardvéru a vybraného modelu.