دليل البدء السريع مع 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:
استخدام 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 | أقصى أداء |
تدريب 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 Volumes بالبيانات بين عمليات تشغيل الدوال. تُحفَظ الأوزان المدرَّبة في /data/runs/train/weights/.
تهانينا! لقد أعددت Ultralytics YOLO26 على Modal بنجاح. لمزيد من التعلّم:
- استكشف وثائق Ultralytics YOLO26 للاطلاع على الميزات المتقدمة
- تعرّف على تدريب النماذج المخصّصة باستخدام مجموعات بياناتك الخاصة
- جرّب دليل البدء السريع لـ Docker للنشر باستخدام الحاويات
- زُر وثائق 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 من خلال تحميل ملف الأوزان من Modal Volume:
model = YOLO("/data/my_custom_model.pt")لمزيد من المعلومات حول تدريب النماذج المخصّصة، راجع دليل التدريب.