دليل البدء السريع في استخدام Modal مع Ultralytics
يقدم هذا الدليل مقدمة شاملة حول تشغيل Ultralytics على Modal، ويغطي GPU بدون خادم وتدريب النماذج.
ما هو Modal؟
Modal هي منصة حوسبة سحابية بدون خادم مخصصة لأحمال عمل الذكاء الاصطناعي والتعلم الآلي. وهي تتولى عمليات التهيئة والتوسع والتنفيذ تلقائيًا — حيث تقوم بكتابة Python محليًّا، بينما تقوم Modal بتشغيله في السحابة مع GPU . وهذا يجعلها الخيار المثالي لتشغيل نماذج التعلم العميق مثل YOLO26 دون الحاجة إلى إدارة البنية التحتية.
ما ستتعلمه
- إعداد نافذة منبثقة والمصادقة
- تشغيل استدلال YOLO26 على Modal
- استخدام وحدات معالجة الرسومات (GPU) لتسريع عمليات الاستدلال
- تدريب نماذج YOLO26 على منصة Modal
المتطلبات الأساسية
- حساب Modal (سجل مجانًا على modal.com)
- تثبيت Python .9 أو إصدار أحدث على جهازك المحلي
التثبيت
قم بتثبيت Python Modal Python وقم بتسجيل الدخول:
pip install modal
modal token new
المصادقة
في modal token new سيؤدي هذا الأمر إلى فتح نافذة متصفح لتوثيق حسابك على Modal. بعد التوثيق، يمكنك تشغيل أوامر Modal من واجهة الأوامر.
تشغيل استدلال 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:

استخدام 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 جيجابايت | الاستدلال، تدريب النماذج الصغيرة |
| A10G | 24 جيجابايت | وظائف تدريبية متوسطة |
| A100 | 40 جيجابايت | تدريب واسع النطاق |
| H100 | 80 جيجابايت | أقصى أداء |
تدريب YOLO26 على Modal
للتدريب، استخدم وحدة معالجة الرسومات ( GPU 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
استمرار الحجم
تحتفظ أحجام النماذج بالبيانات بين عمليات تشغيل الدالة. ويتم حفظ الأوزان المدربة في /data/runs/detect/train/weights/.
تهانينا! لقد نجحت في إعداد Ultralytics على Modal. لمزيد من المعلومات:
- تصفح وثائقUltralytics للتعرف على الميزات المتقدمة
- تعرف على كيفية تدريب النماذج المخصصة باستخدام مجموعات البيانات الخاصة بك
- تفضل بزيارة وثائق Modal للاطلاع على الميزات المتقدمة للمنصة
الأسئلة الشائعة
كيف أختار وحدة معالجة GPU المناسبة GPU مل العمل الخاص بـ YOLO26؟
بالنسبة لعمليات الاستدلال، عادةً ما تكون بطاقة NVIDIA (16 جيجابايت) كافية وفعالة من حيث التكلفة. أما بالنسبة للتدريب أو النماذج الأكبر حجماً مثل YOLO26x، فيُنصح باستخدام وحدات معالجة الرسومات A10G أو A100.
كم تبلغ تكلفة تشغيل YOLO26 على Modal؟
تستخدم Modal نظام تسعير الدفع بالثانية. الأسعار التقريبية: CPU 0.05 دولار/ساعة، T4 ~0.59 دولار/ساعة، A10G ~1.10 دولار/ساعة، A100 ~2.10 دولار/ساعة. راجع أسعار Modal للاطلاع على الأسعار الحالية.
هل يمكنني استخدام YOLO الخاص بي الذي قمت بتدريبه بنفسي؟
نعم! قم بتحميل نماذج مخصصة من حجم نموذجي:
model = YOLO("/data/my_custom_model.pt")
لمزيد من المعلومات حول تدريب النماذج المخصصة، راجع دليل التدريب.