دليل: كيفية تشغيل Phi-2 على كمبيوتر بذاكرة عشوائية تبلغ 32 جيجابايت
المقدمة
Phi-2 هو نموذج لغوي قوي يتطلب معدات قوية لتشغيله. في هذا الدليل، سنظهر لك كيفية تثبيت و تشغيل Phi-2 على كمبيوتر بذاكرة عشوائية تبلغ 32 جيجابايت. سنحاول تغطية جميع الخطوات الرئيسية، من إعداد البيئة إلى تشغيل النموذج.
المتطلبات الأساسية
قبل بدء التثبيت، تأكد من أن نظامك يفي بالمتطلبات التالية:
- نظام التشغيل: لينكس (موصى به Ubuntu 20.04/22.04) أو ويندوز 10/11
- المعالج: إنتل i7 أو أحدث، أم دي Ryzen 7 أو أحدث
- ذاكرة عشوائية: 32GB (موصى به 64GB لأداء أفضل)
- كarte graphique: NVIDIA RTX 3060 أو أحدث (موصى به RTX 4090 لأداء أفضل)
- المساحة على القرص: على الأقل 50GB من المساحة الحرة
تثبيت البيئة
1. تثبيت Python
Phi-2 يتطلب Python 3.8 أو إصدار أحدث. يمكنك تثبيته باستخدام مدير الحزم:
sudo apt update
sudo apt install python3.8 python3.8-venv
2. إنشاء بيئة افتراضية
إنشاء بيئة افتراضية يساعد في تجنب conflicts مع الحزم الأخرى:
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)
تكوين الذاكرة
للكمبيوتر بذاكرة عشوائية تبلغ 32GB، يُنصح باستخدام تحسينات الذاكرة مثل الكمية 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 واستفادة من قدراته القوية.