كيفية تشغيل نموذج LLM على كمبيوتر بذاكرة وصول عشوائي 32 جيجابايت - دليل خطوة بخطوة
في هذا الدليل، سنناقش كيفية تشغيل نموذج لغة كبير (LLM) على كمبيوتر بذاكرة وصول عشوائي 32 جيجابايت. ستسمح الخطوات التالية لك بتثبيت وتكوين البيئة لتشغيل النماذج مثل Mistral 7B و Llama 2 أو نماذج مماثلة.
المتطلبات الأساسية
قبل البدء، تأكد من أن كمبيوترك يفي بالمتطلبات التالية:
- نظام التشغيل: لينكس (موصى به) أو ويندوز 10/11
- المعالج: إنتل i7/i9 أو AMD Ryzen 7/9
- ذاكرة الوصول العشوائي: 32GB
- بطاقة الرسوميات: NVIDIA مع 16GB على الأقل من ذاكرة VRAM (اختياري، ولكن موصى به)
الخطوة 1: تثبيت البيئة
تثبيت Python
شغل نموذج LLM في بيئة Python. تثبيت أحدث إصدار من Python (3.9 أو أحدث):
sudo apt update
sudo apt install python3.9 python3-pip python3-venv
إنشاء بيئة افتراضية
إنشاء بيئة افتراضية لتجنب التعارضات مع الحزم الأخرى:
python3.9 -m venv llm_env
source llm_env/bin/activate
الخطوة 2: تثبيت المكتبات اللازمة
تثبيت المكتبات المطلوبة، بما في ذلك transformers و torch:
pip install torch transformers accelerate bitsandbytes
بالإضافة إلى ذلك، إذا كنت تخطط لاستخدام بطاقة الرسوميات، تثبيت الإصدار المناسب من torch مع دعم CUDA:
pip install torch --index-url https://download.pytorch.org/whl/cu118
الخطوة 3: اختيار النموذج
اختر النموذج الذي تريد تشغيله. في هذا المثال، سنستخدم نموذج Mistral 7B. يمكنك تحميله من 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")
الخطوة 4: تكوين الذاكرة
لتشغيل النموذج على كمبيوتر بذاكرة وصول عشوائي 32 جيجابايت، يجب تكوين الذاكرة لتجنب التزاحم. يمكنك القيام بذلك باستخدام مكتبة accelerate:
from accelerate import init_empty_weights, load_checkpoint_and_dispatch
model = AutoModelForCausalLM.from_pretrained(
model_name,
device_map="auto",
load_in_8bit=True # استخدام الكمية 8-بت لتوفير الذاكرة
)
الخطوة 5: تشغيل النموذج
الآن يمكنك تشغيل النموذج وتوليد النص:
input_text = "ما هو معنى الحياة؟"
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))
الخطوة 6: التحسين
لتحسين الأداء، يمكنك تجربة تقنيات مختلفة للتحسين، مثل الكمية 4-بت أو استخدام مكتبة 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)
الخلاصة
تشغيل نموذج LLM على كمبيوتر بذاكرة وصول عشوائي 32 جيجابايت يتطلب تكوين وتحسين مناسب. من خلال اتباع الخطوات السابقة، يجب أن تكون قادرًا على تشغيل نموذج مثل Mistral 7B وتوليد النص. تذكر أن الأداء قد يعتمد على تفاصيل الأجهزة الخاصة بك والنموذج المختار.