Kılavuz: 32GB RAM'lı Bir Bilgisayarda Phi-2 Nasıl Çalıştırılır
Giriş
Phi-2, güçlü bir dil modelidir ve çalıştırılması için yeterli donanım gerektirir. Bu kılavuzda, 32GB RAM'lı bir bilgisayarda Phi-2'yi nasıl yükleyip çalıştırabileceğinizi adım adım anlatacağız. Ortam hazırlamadan modeli çalıştırmana kadar tüm temel adımları kapsayacağız.
Ön Koşullar
Yüklemeye başlamadan önce sistemin aşağıdaki gereksinimleri karşıladığını doğrulayın:
- İşletim sistemi: Linux (önerilen Ubuntu 20.04/22.04) veya Windows 10/11
- İşlemci: Intel i7 veya daha yeni, AMD Ryzen 7 veya daha yeni
- Bellek: 32GB (daha iyi performans için 64GB önerilir)
- Grafik kartı: NVIDIA RTX 3060 veya daha yeni (daha iyi performans için RTX 4090 önerilir)
- Disk alanı: en az 50GB boş alan
Ortam Kurulumu
1. Python Yükleme
Phi-2, Python 3.8 veya daha yeni bir sürüm gerektirir. Paket yöneticisi kullanarak yükleyebilirsiniz:
sudo apt update
sudo apt install python3.8 python3.8-venv
2. Sanal Ortam Oluşturma
Sanal ortam oluşturmak, diğer paketlerle çatışmaları önlemenize yardımcı olacaktır:
python3.8 -m venv phi2_env
source phi2_env/bin/activate
3. Bağımlılıklar Yükleme
Gerekli paketleri yükleyin:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip install transformers accelerate bitsandbytes
Phi-2 Modelinin İndirilmesi
Phi-2 modelini Hugging Face Transformers kütüphanesi kullanarak indirebilirsiniz:
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)
Bellek Yapılandırması
32GB RAM'lı bir bilgisayar için, bellek optimizasyonları önerilir, örneğin 8-bit kuantizasyon:
model = AutoModelForCausalLM.from_pretrained(
model_name,
device_map="auto",
load_in_8bit=True,
offload_folder="offload",
offload_state_dict=True,
)
Modelin Çalıştırılması
Şimdi modeli çalıştırabilir ve test edebilirsiniz:
prompt = "Hayatın anlamı nedir?"
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))
Optimizasyonlar
1. DeepSpeed Kullanımı
DeepSpeed, bellek ve performans optimizasyonu için bir araçtır:
pip install deepspeed
2. DeepSpeed Yapılandırması
ds_config.json adlı bir dosya oluşturun:
{
"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 ile Çalıştırma
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
)
Özet
32GB RAM'lı bir bilgisayarda Phi-2'yi çalıştırmanın gerektirdiği ortam hazırlığı ve bellek optimizasyonlarını içerir. Bu kılavuzda, Python yükleme, sanal ortam oluşturma, model indirme ve bellek yapılandırması gibi temel adımları ele aldık. Bu adımları takip ederek Phi-2'yi çalıştırabilir ve güçlü yeteneklerinden faydalanabilirsiniz.