Link to this sectionدليل البدء السريع لـ Modal مع Ultralytics#
يوفر هذا الدليل مقدمة شاملة لتشغيل Ultralytics YOLO26 على منصة Modal، ويغطي الاستدلال باستخدام GPU بدون خادم (serverless) وتدريب النماذج.
Link to this sectionما هي Modal؟#
Modal هي منصة حوسبة سحابية بدون خادم لأعباء عمل الذكاء الاصطناعي وتعلم الآلة. تتولى المنصة مهام التوفير، والتحجيم، والتنفيذ تلقائياً — حيث تكتب كود Python محلياً وتقوم Modal بتشغيله في السحابة مع الوصول إلى GPU. وهذا يجعلها مثالية لتشغيل نماذج التعلم العميق مثل YOLO26 دون الحاجة إلى إدارة البنية التحتية.
Link to this sectionما ستتعلمه#
- إعداد Modal والمصادقة
- تشغيل استدلال YOLO26 على Modal
- استخدام GPUs لتسريع الاستدلال
- تدريب نماذج YOLO26 على Modal
Link to this sectionالمتطلبات الأساسية#
- حساب Modal (سجل مجاناً على modal.com)
- تثبيت Python 3.9 أو إصدار أحدث على جهازك المحلي
Link to this sectionالتثبيت#
ثبّت حزمة Python الخاصة بـ Modal وقم بالمصادقة:
pip install modalmodal token newسيؤدي أمر modal token new إلى فتح نافذة متصفح للمصادقة على حساب Modal الخاص بك. بعد المصادقة، يمكنك تشغيل أوامر Modal من الجهاز الطرفي (terminal).
Link to this sectionتشغيل استدلال YOLO26#
أنشئ ملف Python جديداً باسم modal_yolo.py مع الكود التالي:
"""
Modal + Ultralytics YOLO26 Quickstart
Run: modal run modal_yolo.py.
"""
import modal
app = modal.App("ultralytics-yolo")
image = modal.Image.debian_slim(python_version="3.11").apt_install("libgl1", "libglib2.0-0").pip_install("ultralytics")
@app.function(image=image)
def predict(image_url: str):
"""Run YOLO26 inference on an image URL."""
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model(image_url)
for r in results:
print(f"Detected {len(r.boxes)} objects:")
for box in r.boxes:
print(f" - {model.names[int(box.cls)]}: {float(box.conf):.2f}")
@app.local_entrypoint()
def main():
"""Test inference with sample image."""
predict.remote("https://ultralytics.com/images/bus.jpg")تشغيل الاستدلال:
modal run modal_yolo.pyالمخرجات المتوقعة:
✓ Initialized. View run at https://modal.com/apps/your-username/main/ap-xxxxxxxx
✓ Created objects.
├── 🔨 Created mount modal_yolo.py
└── 🔨 Created function predict.
Downloading https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26n.pt to 'yolo26n.pt'...
Downloading https://ultralytics.com/images/bus.jpg to 'bus.jpg'...
image 1/1 /root/bus.jpg: 640x480 4 persons, 1 bus, 377.8ms
Speed: 5.8ms preprocess, 377.8ms inference, 0.3ms postprocess per image at shape (1, 3, 640, 480)
Detected 5 objects:
- bus: 0.92
- person: 0.91
- person: 0.91
- person: 0.87
- person: 0.53
✓ App completed.يمكنك مراقبة تنفيذ وظيفتك في لوحة تحكم Modal:
Link to this sectionاستخدام GPU لتسريع الاستدلال#
أضف GPU إلى وظيفتك عن طريق تحديد المعامل gpu:
@app.function(image=image, gpu="T4") # Options: "T4", "A10G", "A100", "H100"
def predict_gpu(image_url: str):
"""Run YOLO26 inference on GPU."""
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model(image_url)
print(results[0].boxes)| GPU | الذاكرة | الأفضل لـ |
|---|---|---|
| T4 | 16 GB | الاستدلال، تدريب النماذج الصغيرة |
| A10G | 24 GB | مهام التدريب المتوسطة |
| A100 | 40 GB | التدريب على نطاق واسع |
| H100 | 80 GB | أقصى أداء |
Link to this sectionتدريب YOLO26 على Modal#
للتدريب، استخدم GPU ووحدات التخزين (Volumes) في Modal للتخزين المستمر. أنشئ ملف Python جديداً باسم train_yolo.py:
import modal
app = modal.App("ultralytics-training")
volume = modal.Volume.from_name("yolo-training-vol", create_if_missing=True)
image = modal.Image.debian_slim(python_version="3.11").apt_install("libgl1", "libglib2.0-0").pip_install("ultralytics")
@app.function(image=image, gpu="T4", timeout=3600, volumes={"/data": volume})
def train():
"""Train YOLO26 model on Modal."""
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
model.train(data="coco8.yaml", epochs=3, imgsz=640, project="/data/runs")
@app.local_entrypoint()
def main():
train.remote()تشغيل التدريب:
modal run train_yolo.pyتحتفظ وحدات تخزين Modal بالبيانات بين عمليات تشغيل الوظائف. يتم حفظ الأوزان المدربة في /data/runs/detect/train/weights/.
تهانينا! لقد قمت بإعداد Ultralytics YOLO26 على Modal بنجاح. لمزيد من التعلم:
- استكشف توثيق Ultralytics YOLO26 للتعرف على الميزات المتقدمة
- تعرف على تدريب النماذج المخصصة باستخدام مجموعات بياناتك الخاصة
- زر توثيق Modal للميزات المتقدمة للمنصة
Link to this sectionالأسئلة الشائعة#
Link to this sectionكيف أختار الـ GPU المناسب لعبء عمل YOLO26 الخاص بي؟#
بالنسبة للاستدلال، عادة ما يكون NVIDIA T4 (16 GB) كافياً وفعالاً من حيث التكلفة. للتدريب أو النماذج الأكبر مثل YOLO26x، فكر في استخدام GPUs من طراز A10G أو A100.
Link to this sectionكم تبلغ تكلفة تشغيل YOLO26 على Modal؟#
تستخدم Modal نظام التسعير بالثانية. الأسعار التقريبية: CPU ~0.05 دولار/ساعة، T4 ~0.59 دولار/ساعة، A10G ~1.10 دولار/ساعة، A100 ~2.10 دولار/ساعة. تحقق من أسعار Modal لمعرفة الأسعار الحالية.
Link to this sectionهل يمكنني استخدام نموذج YOLO المخصص الخاص بي؟#
نعم! قم بتحميل النماذج المخصصة من وحدة تخزين Modal:
model = YOLO("/data/my_custom_model.pt")لمزيد من المعلومات حول تدريب النماذج المخصصة، راجع دليل التدريب.