SkyPilot - تشغيل أحمال عمل الذكاء الاصطناعي على أي سحابة
SkyPilot يشغل أحمال عمل AI و batch على أي سحابة أو Kubernetes cluster من تعريف YAML واحد. القيمة الأساسية للعمل LLM اقتصادية: توفر GPU و تسعير تختلف بشكل كبير عبر providers و المناطق و SkyPilot تلقائياً تجد أرخص سعة متاحة تلبي متطلباتك و توفر و تزامن الكود و تشغل الوظيفة و تفكك كل شيء. كما تتعامل مع spot-instance preemption مع auto-recovery الذي يجعل GPUs interruptible رخيصة عملية للتشغيلات الدريبية الطويلة.
التثبيت
| الطريقة | الأمر |
|---|
| pip | pip install "skypilot[all]" |
| سحابات محددة | pip install "skypilot[aws,gcp,kubernetes]" |
| تحقق المعايير | sky check |
| التحقق | sky --version |
sky check تقرير السحابات التي لديك أوراق اعتماد عاملة — SkyPilot فقط تعتبر تلك.
تحديد مهمة
# train.yaml
resources:
accelerators: A100:8
use_spot: true
any_of:
- cloud: aws
- cloud: gcp
- cloud: kubernetes
num_nodes: 1
workdir: .
setup: |
pip install -r requirements.txt
run: |
torchrun --nproc_per_node=8 train.py --config configs/7b.yaml
| الحقل | الغرض |
|---|
resources.accelerators | نوع GPU و العدد (A100:8 و H100:4) |
use_spot | استخدم الحالات interruptible |
any_of / ordered | سحابات/مناطق مرشح |
workdir | دليل محلي متزامن مع الكتلة |
setup | تشغيل مرة واحدة لكل كتلة |
run | الوظيفة الفعلية |
num_nodes | تدريب متعدد العقد |
الأوامر الأساسية
| الأمر | الوصف |
|---|
sky launch -c mycluster train.yaml | توفير وتشغيل |
sky exec mycluster train.yaml | تشغيل مرة أخرى على كتلة موجودة |
sky status | قائمة الكتل و التكاليف |
sky logs mycluster | Stream job logs |
sky queue mycluster | عرض job queue |
sky down mycluster | إنهاء (توقف الدفع) |
sky stop mycluster | إيقاف لكن الاحتفاظ بالقرص |
Managed Jobs (Spot مع Recovery)
# تشغيل التدريب الطويل على spot instances و auto-recovered عند preemption
sky jobs launch -n llama-sft train.yaml
| الأمر | الغرض |
|---|
sky jobs launch | أرسل managed job |
sky jobs queue | قائمة managed jobs |
sky jobs logs -n NAME | Tail logs |
sky jobs cancel -n NAME | إلغاء |
Managed jobs هي الميزة التي تجعل spot GPUs قابلة للاستخدام للتدريب: عند preemption SkyPilot إعادة التوفير في مكان آخر و استئناف من checkpoint الخاص بك حتى تشغيل متعدد الأيام ينجو من المقاطعات.
تحسين التكلفة
| الآلية | التأثير |
|---|
| بحث Cross-cloud | يختار أرخص خيار مطابق |
use_spot: true | في كثير من الأحيان 60–90٪ أرخص |
sky show-gpus | أسعار/توفر حالية بـ سحابة |
| Autostop | sky autostop -i 10 mycluster ينهي كتل خامدة |
sky down | العادة الأكثر أهمية — GPUs الخامدة هي الهدر الرئيسي |
# ما سعة A100 موجودة و في أي سعر؟
sky show-gpus A100
خدمة النماذج
# serve.yaml
service:
readiness_probe: /v1/models
replicas: 2
resources:
accelerators: A100:1
ports: 8000
run: |
vllm serve meta-llama/Llama-3.1-8B-Instruct --port 8000
sky serve up -n llm-api serve.yaml
sky serve status
SkyServe تضيف replicas و health checks و autoscaling عبر السحابات — مفيدة لخدمة مع vLLM على أرخص GPUs متاحة.
Kubernetes Backend
| القدرة | ملاحظة |
|---|
| كتل موجودة | cloud: kubernetes يستهدف K8s الخاص بك |
| مختلط | جمع on-prem K8s مع سحابة burst |
| GPU scheduling | استخدم موارد GPU K8s القياسية |
| لا يلزم أوراق اعتماد السحابة | للاستخدام on-prem النقي |
SkyPilot مقابل البدائل
| الجانب | SkyPilot | Ray | Cloud-native (SageMaker/Vertex) |
|---|
| متعدد السحابة | ميزة أساسية | ممكن و يدوي | بائع واحد |
| Spot recovery | مدمج | يدوي | يختلف |
| الحبس | لا شيء (YAML عادي) | Framework | عالي |
| الأفضل للـ | أرخص GPUs أي مكان | تطبيقات Python الموزعة | Integration عميق single-cloud |
أزواج مع stacks التدريب مثل Axolotl و TorchTitan و serving عبر vLLM.
الموارد