نشر نماذج الذكاء الاصطناعي على خادم GPU: دليل NVIDIA CUDA
تثبيت تعريفات NVIDIA، مجموعة أدوات CUDA، nvidia-container-toolkit، خدمة النماذج مع vLLM، مراقبة GPU ونشر نماذج AI مع Docker.
جدول المحتويات
نشر نماذج الذكاء الاصطناعي على خادم GPU: دليل NVIDIA CUDA
خوادم GPU ضرورية لتشغيل نماذج الذكاء الاصطناعي في بيئات الإنتاج. يغطي هذا الدليل كل شيء من تثبيت تعريفات NVIDIA إلى تكوين CUDA، وتكامل Docker مع GPU، وخدمة النماذج عالية الأداء مع vLLM.
متطلبات خادم GPU
| المكون | الحد الأدنى | الموصى به |
|---|---|---|
| GPU | NVIDIA T4 (16 جيجابايت) | NVIDIA A100 (40/80 جيجابايت) |
| RAM | 32 جيجابايت | 64 جيجابايت+ |
| القرص | 100 جيجابايت SSD | 500 جيجابايت NVMe |
| نظام التشغيل | Ubuntu 22.04 LTS | Ubuntu 22.04/24.04 LTS |
| CUDA | 12.0+ | 12.4+ |
تثبيت تعريفات NVIDIA
أولاً، قم بإزالة التعريفات الموجودة وتثبيت الجديدة:
# إزالة تعريفات NVIDIA الموجودة
sudo apt-get purge nvidia-* -y
sudo apt-get autoremove -y
# تحديث النظام
sudo apt-get update && sudo apt-get upgrade -y
# إضافة مستودع تعريفات NVIDIA
sudo apt-get install -y linux-headers-$(uname -r)
sudo apt-get install -y software-properties-common
sudo add-apt-repository ppa:graphics-drivers/ppa -y
sudo apt-get update
# التحقق من التعريف الموصى به
ubuntu-drivers devices
# تثبيت تعريف NVIDIA
sudo apt-get install -y nvidia-driver-550
sudo reboot
التحقق بعد التثبيت:
nvidia-smi
تثبيت CUDA Toolkit
# إضافة مفتاح CUDA
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
# تثبيت CUDA Toolkit
sudo apt-get install -y cuda-toolkit-12-4
# تكوين PATH
echo 'export PATH=/usr/local/cuda-12.4/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.4/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
# التحقق
nvcc --version
NVIDIA Container Toolkit
مطلوب nvidia-container-toolkit لاستخدام GPU في حاويات Docker:
# مستودع NVIDIA Container Toolkit
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | \
sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
# تكوين Docker runtime
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
# اختبار
sudo docker run --rm --gpus all nvidia/cuda:12.4.0-base-ubuntu22.04 nvidia-smi
خدمة النماذج مع vLLM
vLLM هو محرك استدلال LLM عالي الإنتاجية. يحسّن استخدام الذاكرة بتقنية PagedAttention.
vLLM مع Docker
docker run -d \
--name vllm \
--gpus all \
-p 8000:8000 \
-v ~/.cache/huggingface:/root/.cache/huggingface \
--env HUGGING_FACE_HUB_TOKEN=$HF_TOKEN \
vllm/vllm-openai:latest \
--model meta-llama/Meta-Llama-3.1-8B-Instruct \
--max-model-len 4096 \
--gpu-memory-utilization 0.9
Docker Compose مع vLLM
version: '3.8'
services:
vllm:
image: vllm/vllm-openai:latest
container_name: vllm-server
ports:
- "8000:8000"
volumes:
- huggingface_cache:/root/.cache/huggingface
environment:
- HUGGING_FACE_HUB_TOKEN=${HF_TOKEN}
command: >
--model meta-llama/Meta-Llama-3.1-8B-Instruct
--max-model-len 4096
--gpu-memory-utilization 0.9
--tensor-parallel-size 1
--dtype auto
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
restart: unless-stopped
volumes:
huggingface_cache:
استخدام API الخاص بـ vLLM
vLLM يوفر API متوافق مع OpenAI:
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "meta-llama/Meta-Llama-3.1-8B-Instruct",
"messages": [
{"role": "system", "content": "أنت مساعد مفيد."},
{"role": "user", "content": "ما هو Docker؟"}
],
"max_tokens": 512,
"temperature": 0.7
}'
استخدام Python مع vLLM
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:8000/v1",
api_key="not-needed"
)
response = client.chat.completions.create(
model="meta-llama/Meta-Llama-3.1-8B-Instruct",
messages=[
{"role": "system", "content": "أنت خبير في Linux."},
{"role": "user", "content": "كيف يتم تكوين RAID؟"}
],
max_tokens=1024,
temperature=0.7
)
print(response.choices[0].message.content)
تكوين Multi-GPU
docker run -d \
--name vllm-multi \
--gpus all \
-p 8000:8000 \
-v ~/.cache/huggingface:/root/.cache/huggingface \
vllm/vllm-openai:latest \
--model meta-llama/Meta-Llama-3.1-70B-Instruct \
--tensor-parallel-size 4 \
--max-model-len 4096 \
--gpu-memory-utilization 0.9
مراقبة GPU
# الحالة الحالية
nvidia-smi
# المراقبة المستمرة
watch -n 1 nvidia-smi
# استخدام GPU والذاكرة فقط
nvidia-smi --query-gpu=index,name,utilization.gpu,memory.used,memory.total,temperature.gpu --format=csv -l 1
الأمان والتحسين
# تفعيل وضع الاستمرارية
sudo nvidia-smi -pm 1
# تثبيت سرعة ساعة GPU
sudo nvidia-smi -lgc 1410,1410
# تعيين حد الطاقة
sudo nvidia-smi -pl 300
شغّل نماذج الذكاء الاصطناعي بأداء عالٍ على خوادم REXE GPU مع NVIDIA A100/H100. تواصل معنا للحصول على حلول خوادم GPU احترافية.
مقالات ذات صلة
تثبيت Ollama: دليل تشغيل نماذج اللغة الكبيرة محلياً
تثبيت Ollama، تشغيل نماذج LLM المحلية (Llama 3، Mistral، Gemma)، استخدام API، إدارة النماذج، تسريع GPU والنشر عبر Docker.
تثبيت Open WebUI: ذكاء اصطناعي محلي بواجهة شبيهة بـ ChatGPT
تثبيت Open WebUI عبر Docker، التكامل مع Ollama، إدارة المستخدمين، RAG (استعلام المستندات)، إدارة النماذج ودعم المستخدمين المتعددين.
تثبيت Stable Diffusion: إنتاج صور مستضاف ذاتياً
تثبيت Stable Diffusion، واجهات AUTOMATIC1111 و ComfyUI، تنزيل النماذج، تدريب LoRA، استخدام ControlNet وإنتاج صور مستضاف ذاتياً مع Docker.