Príručka: Ako spustiť Phi-2 na počítači s 32GB RAM
Úvod
Phi-2 je výkonný jazykový model, ktorý vyžaduje dostatočne silné hardvérové vybavenie na spustenie. V tejto príručke vám ukážeme, ako nainštalovať a spustiť Phi-2 na počítači s 32GB RAM. Pokúsime sa pokryť všetky klúčové kroky, od prípravy prostredia až po spustenie modelu.
Predpokladané požiadavky
Pred začiatkom inštalácie sa uistite, že váš systém splňuje nasledujúce požiadavky:
- Operačný systém: Linux (odporúčaný Ubuntu 20.04/22.04) alebo Windows 10/11
- Procesor: Intel i7 alebo novší, AMD Ryzen 7 alebo novší
- Pamäť RAM: 32GB (odporúčané 64GB pre lepšiu výkonnosť)
- Grafická karta: NVIDIA RTX 3060 alebo novšia (odporúčaná RTX 4090 pre lepšiu výkonnosť)
- Miesto na disku: aspoň 50GB voľného miesta
Inštalácia prostredia
1. Inštalácia Python
Phi-2 vyžaduje Python 3.8 alebo novšiu verziu. Môžete ho nainštalovať pomocou správcu balíkov:
sudo apt update
sudo apt install python3.8 python3.8-venv
2. Vytvorenie virtuálneho prostredia
Vytvorenie virtuálneho prostredia pomôže vyhnúť sa konfliktom s inými balíčkami:
python3.8 -m venv phi2_env
source phi2_env/bin/activate
3. Inštalácia závislostí
Nainštalujte potrebné balíčky:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip install transformers accelerate bitsandbytes
Stiahnutie modelu Phi-2
Model Phi-2 môžete stiahnuť pomocou knižnice Hugging Face Transformers:
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "microsoft/phi-2"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, device_map="auto", load_in_8bit=True)
Konfigurácia pamäte
Pre počítač s 32GB RAM sa odporúča použitie optimalizácie pamäte, ako je 8-bitová kvantizácia:
model = AutoModelForCausalLM.from_pretrained(
model_name,
device_map="auto",
load_in_8bit=True,
offload_folder="offload",
offload_state_dict=True,
)
Spustenie modelu
Teraz môžete spustiť model a otestovať ho:
prompt = "Aký je zmysel života?"
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
outputs = model.generate(**inputs, max_new_tokens=100)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
Optimalizácie
1. Použitie DeepSpeed
DeepSpeed je nástroj na optimalizáciu pamäte a výkonnosti:
pip install deepspeed
2. Konfigurácia DeepSpeed
Vytvorte súbor ds_config.json:
{
"train_batch_size": "auto",
"gradient_accumulation_steps": "auto",
"optimizer": {
"type": "AdamW",
"params": {
"lr": "auto",
"betas": "auto",
"eps": 1e-8,
"weight_decay": 0.01
}
},
"fp16": {
"enabled": "auto"
},
"zero_optimization": {
"stage": 3,
"offload_optimizer": {
"device": "cpu",
"pin_memory": true
},
"offload_param": {
"device": "cpu",
"pin_memory": true
}
}
}
3. Spustenie s DeepSpeed
from transformers import AutoModelForCausalLM, AutoTokenizer
import deepspeed
model_name = "microsoft/phi-2"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, export=False)
ds_config = {
"train_batch_size": "auto",
"gradient_accumulation_steps": "auto",
"optimizer": {
"type": "AdamW",
"params": {
"lr": "auto",
"betas": "auto",
"eps": 1e-8,
"weight_decay": 0.01
}
},
"fp16": {
"enabled": "auto"
},
"zero_optimization": {
"stage": 3,
"offload_optimizer": {
"device": "cpu",
"pin_memory": true
},
"offload_param": {
"device": "cpu",
"pin_memory": true
}
}
}
model_engine, optimizer, _, _ = deepspeed.initialize(
model=model,
config=ds_config
)
Záver
Spustenie Phi-2 na počítači s 32GB RAM vyžaduje vhodnú prípravu prostredia a použitie optimalizácií pamäte. V tejto príručke sme diskutovali o klúčových krokoch, ako je inštalácia Pythonu, vytvorenie virtuálneho prostredia, stiahnutie modelu a konfigurácia pamäte. Týmito krokmi by ste mali byť schopní spustiť Phi-2 a využívať jeho silné možnosti.