Ultralytics YOLO27:

دليل البدء السريع باستخدام Modal لـ Ultralytics#

يقدم هذا الدليل مقدمة شاملة لتشغيل Ultralytics YOLO26 على Modal، ويغطي الاستدلال باستخدام GPU دون خادم وتدريب النماذج.

ما هو Modal؟#

Modal هي منصة للحوسبة السحابية دون خادم لأعباء عمل الذكاء الاصطناعي والتعلم الآلي. تتولى المنصة تلقائيًا توفير الموارد والتوسع والتنفيذ — ما عليك سوى كتابة شيفرة Python محليًا، وسيتولى Modal تشغيلها في السحابة مع إمكانية الوصول إلى GPU. وهذا يجعلها مثالية لتشغيل نماذج التعلم العميق مثل YOLO26 دون الحاجة إلى إدارة البنية التحتية.

ما الذي ستتعلمه#

  • إعداد Modal والمصادقة
  • تشغيل الاستدلال باستخدام YOLO26 على Modal
  • استخدام وحدات GPU لتسريع الاستدلال
  • تدريب نماذج YOLO26 على Modal

المتطلبات الأساسية#

  • حساب على Modal (أنشئ حسابًا مجانًا على modal.com)
  • تثبيت Python 3.9 أو إصدار أحدث على جهازك المحلي

التثبيت#

ثبّت حزمة Modal الخاصة بـ Python:

pip install modal

ثم صادِق على CLI باستخدام حساب 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:

Modal Dashboard Function Calls

استخدام 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الذاكرةالاستخدام الأمثل
T416 GBالاستدلال وتدريب النماذج الصغيرة
A10G24 GBمهام التدريب متوسطة الحجم
A10040 GBالتدريب واسع النطاق
H10080 GBأقصى أداء

تدريب 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
استمرارية التخزين في Volume

تحتفظ Volumes في Modal بالبيانات بين مرات تشغيل الدوال. تُحفظ الأوزان المدرَّبة في /data/runs/train/weights/.

تهانينا! لقد أعددت Ultralytics YOLO26 على Modal بنجاح. لمزيد من التعلم:

الأسئلة الشائعة#

  • للاستدلال، تكون وحدة NVIDIA T4 (بسعة 16 GB) كافية عادةً وفعالة من حيث التكلفة. أما للتدريب أو للنماذج الأكبر مثل YOLO26x، ففكّر في استخدام وحدات GPU من طراز A10G أو A100.

  • تعتمد Modal التسعير حسب الثانية. الأسعار التقريبية: CPU ~$0.05/ساعة، وT4 ~$0.59/ساعة، وA10G ~$1.10/ساعة، وA100 ~$2.10/ساعة. راجع أسعار Modal للاطلاع على الأسعار الحالية.

  • نعم، يمكنك تشغيل نموذج YOLO الخاص بك والمدرَّب حسب الطلب على Modal عن طريق تحميل ملف الأوزان من Volume في Modal:

    model = YOLO("/data/my_custom_model.pt")

    لمزيد من المعلومات حول تدريب النماذج المخصصة، راجع دليل التدريب.

التعليقات