Посібник: Як запустити Phi-2 на комп'ютері з 32ГБ ОЗП
Вступ
Phi-2 — це потужна мовна модель, яка вимагає відповідно потужного обладнання для запуску. У цьому посібнику ми покажемо, як встановити та запустити Phi-2 на комп'ютері з 32ГБ ОЗП. Ми спробуємо охопити всі ключові кроки, від підготовки середовища до запуску моделі.
Попередні вимоги
Перед початком встановлення переконайтеся, що ваша система відповідає наступним вимогам:
- Операційна система: Linux (рекомендується Ubuntu 20.04/22.04) або Windows 10/11
- Процесор: Intel i7 або новіший, AMD Ryzen 7 або новіший
- Оперативна пам'ять: 32ГБ (рекомендується 64ГБ для кращої продуктивності)
- Відеокарта: NVIDIA RTX 3060 або новіша (рекомендується RTX 4090 для кращої продуктивності)
- Місце на диску: принаймні 50ГБ вільного місця
Встановлення середовища
1. Встановлення Python
Phi-2 вимагає Python 3.8 або новішої версії. Ви можете встановити його за допомогою менеджера пакетів:
sudo apt update
sudo apt install python3.8 python3.8-venv
2. Створення віртуального середовища
Створення віртуального середовища допоможе уникнути конфліктів з іншими пакетами:
python3.8 -m venv phi2_env
source phi2_env/bin/activate
3. Встановлення залежностей
Встановіть необхідні пакети:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip install transformers accelerate bitsandbytes
Завантаження моделі Phi-2
Ви можете завантажити модель Phi-2 за допомогою бібліотеки 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)
Конфігурація пам'яті
Для комп'ютера з 32ГБ ОЗП рекомендується використання оптимізації пам'яті, таких як 8-бітна квантування:
model = AutoModelForCausalLM.from_pretrained(
model_name,
device_map="auto",
load_in_8bit=True,
offload_folder="offload",
offload_state_dict=True,
)
Запуск моделі
Тепер ви можете запустити модель і перевірити її:
prompt = "Який є сенс життя?"
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))
Оптимізації
1. Використання DeepSpeed
DeepSpeed — це інструмент для оптимізації пам'яті та продуктивності:
pip install deepspeed
2. Конфігурація DeepSpeed
Створіть файл 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. Запуск з 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
)
Підсумок
Запуск Phi-2 на комп'ютері з 32ГБ ОЗП вимагає відповідної підготовки середовища та застосування оптимізації пам'яті. У цьому посібнику ми обговорили ключові кроки, такі як встановлення Python, створення віртуального середовища, завантаження моделі та конфігурація пам'яті. Дякуючи цим крокам, ви повинні бути здатні запустити Phi-2 і користуватися його потужними можливостями.