رؤية YOLO لعام 2026:

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

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

ما هو Modal؟#

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

ما ستتعلمه#

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

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

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

التثبيت#

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

pip install modal

بعد ذلك، قم بمصادقة CLI باستخدام حساب Modal الخاص بك:

modal token new
المصادقة

سيفتح أمر modal token new نافذة متصفح مصادقة حساب Modal الخاص بك. بعد المصادقة، يمكنك تشغيل أوامر Modal من الطرفية (terminal).

تشغيل استنتاج 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
استمرارية المجلدات (Volumes)

تحافظ Volumes الخاصة بـ Modal على البيانات بين عمليات تشغيل الدالات. يتم حفظ الأوزان المدربة في /data/runs/train/weights/.

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

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

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

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

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

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

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

التعليقات