دليل البدء السريع: NVIDIA DGX Spark مع Ultralytics YOLO26
يقدم هذا الدليل الشامل شرحًا تفصيليًا لنشر Ultralytics YOLO26 على NVIDIA DGX Spark، الحاسوب الفائق المكتبي المدمج للذكاء الاصطناعي من NVIDIA. بالإضافة إلى ذلك، يعرض معايير الأداء لإظهار قدرات YOLO26 على هذا النظام القوي.

ملاحظة
تم اختبار هذا الدليل مع NVIDIA DGX Spark إصدار المؤسسين الذي يعمل بنظام التشغيل DGX OS المبني على Ubuntu. ومن المتوقع أن يعمل مع أحدث إصدارات نظام التشغيل DGX OS.
ما هو NVIDIA DGX Spark؟
NVIDIA DGX Spark هو حاسوب فائق مكتبي مدمج للذكاء الاصطناعي، مدعوم بشريحة NVIDIA GB10 Grace Blackwell الفائقة. يوفر ما يصل إلى 1 بيتا فلوب من أداء حوسبة الذكاء الاصطناعي بدقة FP4، مما يجعله مثاليًا للمطورين والباحثين وعلماء البيانات الذين يحتاجون إلى قدرات ذكاء اصطناعي قوية في عامل شكل مكتبي.
المواصفات الرئيسية
| المواصفات | التفاصيل |
|---|---|
| أداء الذكاء الاصطناعي | ما يصل إلى 1 بيتا فلوب (FP4) |
| GPU | معمارية NVIDIA Blackwell مع أنوية tensor من الجيل الخامس، وأنوية RT من الجيل الرابع |
| وحدة المعالجة المركزية (CPU) | معالج Arm ذو 20 نواة (10 Cortex-X925 + 10 Cortex-A725) |
| الذاكرة | ذاكرة نظام موحدة LPDDR5x بسعة 128 جيجابايت، واجهة 256 بت، 4266 ميجاهرتز، عرض نطاق ترددي 273 جيجابايت/ثانية |
| التخزين | 1 تيرابايت أو 4 تيرابايت NVMe M.2 مع تشفير ذاتي |
| الشبكة | 1x RJ-45 (10 جيجابت إيثرنت)، بطاقة واجهة شبكة ذكية ConnectX-7، Wi-Fi 7، بلوتوث 5.4 |
| الاتصال | 4x USB Type-C، 1x HDMI 2.1a، صوت HDMI متعدد القنوات |
| معالجة الفيديو | 1x NVENC، 1x NVDEC |
نظام التشغيل DGX OS
نظام التشغيل NVIDIA DGX هو توزيعة Linux مخصصة توفر أساسًا لنظام تشغيل مستقر ومختبر ومدعوم لتشغيل تطبيقات الذكاء الاصطناعي والتعلم الآلي والتحليلات على أنظمة DGX. يتضمن:
- أساس Linux قوي مُحسّن لأعباء عمل الذكاء الاصطناعي
- برامج تشغيل وإعدادات نظام مهيأة مسبقًا لأجهزة NVIDIA
- تحديثات الأمان وقدرات صيانة النظام
- التوافق مع النظام البيئي الأوسع لبرامج NVIDIA
يتبع نظام التشغيل DGX جدول إصدار منتظم مع تحديثات تُقدم عادة مرتين في السنة (حوالي فبراير وأغسطس)، مع توفير تصحيحات أمان إضافية بين الإصدارات الرئيسية.
لوحة تحكم DGX
يأتي DGX Spark مزودًا بـ لوحة تحكم DGX مدمجة توفر:
- مراقبة النظام في الوقت الفعلي: نظرة عامة على مقاييس التشغيل الحالية للنظام
- تحديثات النظام: القدرة على تطبيق التحديثات مباشرة من لوحة التحكم
- إعدادات النظام: تغيير اسم الجهاز والتكوينات الأخرى
- JupyterLab مدمج: الوصول إلى دفاتر Jupyter المحلية للتطوير

الوصول إلى لوحة التحكم
انقر على زر "إظهار التطبيقات" في الزاوية السفلية اليسرى من سطح مكتب Ubuntu، ثم حدد "DGX Dashboard" لفتحه في متصفحك.
# Open an SSH tunnel
ssh -L 11000:localhost:11000 username@spark-abcd.local
# Then open in browser
# http://localhost:11000
بعد الاتصال بـ NVIDIA Sync، انقر على زر "DGX Dashboard" لفتح لوحة التحكم على http://localhost:11000.
JupyterLab مدمج
تتضمن لوحة التحكم مثيل JupyterLab مدمجًا يقوم تلقائيًا بإنشاء بيئة افتراضية وتثبيت الحزم الموصى بها عند بدء التشغيل. يتم تخصيص منفذ مخصص لكل حساب مستخدم للوصول إلى JupyterLab.
بداية سريعة مع Docker
أسرع طريقة للبدء باستخدام Ultralytics YOLO26 على NVIDIA DGX Spark هي التشغيل باستخدام صور Docker المُعدة مسبقًا. تعمل نفس صورة Docker التي تدعم Jetson AGX Thor (JetPack 7.0) على DGX Spark مع DGX OS.
t=ultralytics/ultralytics:latest-nvidia-arm64
sudo docker pull $t && sudo docker run -it --ipc=host --runtime=nvidia --gpus all $t
بعد الانتهاء من ذلك، انتقل إلى قسم استخدام TensorRT على NVIDIA DGX Spark.
ابدأ بالتثبيت الأصلي
للتثبيت الأصلي بدون Docker، اتبع هذه الخطوات.
تثبيت حزمة Ultralytics
هنا سنقوم بتثبيت حزمة Ultralytics على DGX Spark مع التبعيات الاختيارية حتى نتمكن من تصدير نماذج PyTorch إلى تنسيقات مختلفة أخرى. سنركز بشكل أساسي على تصديرات NVIDIA TensorRT لأن TensorRT سيضمن حصولنا على أقصى أداء من DGX Spark.
تحديث قائمة الحزم وتثبيت pip والترقية إلى الأحدث
sudo apt update sudo apt install python3-pip -y pip install -U pipتثبيت
ultralyticsحزمة pip مع تبعيات اختياريةpip install ultralytics[export]أعد تشغيل الجهاز
sudo reboot
تثبيت PyTorch و Torchvision
سيقوم تثبيت Ultralytics المذكور أعلاه بتثبيت Torch وTorchvision. ومع ذلك، قد لا تكون هذه الحزم المثبتة عبر pip محسّنة بالكامل لبنية ARM64 الخاصة بـ DGX Spark مع CUDA 13. لذلك، نوصي بتثبيت الإصدارات المتوافقة مع CUDA 13:
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu130
معلومات
عند تشغيل PyTorch 2.9.1 على NVIDIA DGX Spark، قد تواجه ما يلي UserWarning عند تهيئة CUDA (على سبيل المثال، عند تشغيل yolo checks, yolo predict، إلخ):
UserWarning: Found GPU0 NVIDIA GB10 which is of cuda capability 12.1.
Minimum and Maximum cuda capability supported by this version of PyTorch is (8.0) - (12.0)
يمكن تجاهل هذا التحذير بأمان. لمعالجة هذا بشكل دائم، تم تقديم إصلاح في طلب سحب PyTorch #164590 والذي سيتم تضمينه في إصدار PyTorch 2.10.
تثبيت onnxruntime-gpu
في onnxruntime-gpu الحزمة المستضافة في PyPI غير متوفرة aarch64 الثنائيات لأنظمة ARM64. لذلك نحتاج إلى تثبيت هذه الحزمة يدويًا. هذه الحزمة مطلوبة لبعض عمليات التصدير.
هنا سنقوم بتنزيل وتثبيت onnxruntime-gpu 1.24.0 مع Python3.12 الدعم.
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/onnxruntime_gpu-1.24.0-cp312-cp312-linux_aarch64.whl
استخدام TensorRT على NVIDIA DGX Spark
من بين جميع تنسيقات تصدير النماذج التي تدعمها Ultralytics، يقدم TensorRT أعلى أداء استدلال على NVIDIA DGX Spark، مما يجعله توصيتنا الأولى لعمليات النشر. للحصول على تعليمات الإعداد والاستخدام المتقدم، راجع دليل تكامل TensorRT المخصص.
تحويل النموذج إلى TensorRT وتشغيل الاستدلال
يتم تحويل نموذج YOLO26n بتنسيق PyTorch إلى TensorRT لتشغيل الاستدلال باستخدام النموذج المصدر.
مثال
from ultralytics import YOLO
# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")
# Export the model to TensorRT
model.export(format="engine") # creates 'yolo26n.engine'
# Load the exported TensorRT model
trt_model = YOLO("yolo26n.engine")
# Run inference
results = trt_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO26n PyTorch model to TensorRT format
yolo export model=yolo26n.pt format=engine # creates 'yolo26n.engine'
# Run inference with the exported model
yolo predict model=yolo26n.engine source='https://ultralytics.com/images/bus.jpg'
ملاحظة
تفضل بزيارة صفحة التصدير للوصول إلى المزيد من الوسائط عند تصدير النماذج إلى تنسيقات نماذج مختلفة
معايير أداء YOLO11 على NVIDIA DGX Spark
تم تشغيل اختبارات أداء YOLO11 بواسطة فريق Ultralytics على تنسيقات نماذج متعددة لقياس السرعة والدقة: PyTorch، TorchScript، ONNX، OpenVINO، TensorRT، TF SavedModel، TF GraphDef، TF Lite، MNN، NCNN، ExecuTorch. تم تشغيل الاختبارات المعيارية على NVIDIA DGX Spark بدقة FP32 الدقة بحجم صورة الإدخال الافتراضي 640.
جدول مقارنة تفصيلي
يمثل الجدول أدناه نتائج الاختبارات المعيارية لخمسة نماذج مختلفة (YOLO11n، YOLO11s، YOLO11m، YOLO11l، YOLO11x) عبر تنسيقات متعددة، مما يوفر لنا الحالة والحجم ومقياس mAP50-95(B) ووقت الاستدلال لكل تركيبة.
الأداء
| التنسيق | الحالة | الحجم على القرص (ميجابايت) | mAP50-95(B) | وقت الاستدلال (مللي ثانية / صورة) |
|---|---|---|---|---|
| PyTorch | ✅ | 5.4 | 0.5071 | 2.67 |
| TorchScript | ✅ | 10.5 | 0.5083 | 2.62 |
| ONNX | ✅ | 10.2 | 0.5074 | 5.92 |
| OpenVINO | ✅ | 10.4 | 0.5058 | 14.95 |
| TensorRT (FP32) | ✅ | 12.8 | 0.5085 | 1.95 |
| TensorRT (FP16) | ✅ | 7.0 | 0.5068 | 1.01 |
| TensorRT (INT8) | ✅ | 18.6 | 0.4880 | 1.62 |
| TF SavedModel | ✅ | 25.7 | 0.5076 | 36.39 |
| TF GraphDef | ✅ | 10.3 | 0.5076 | 41.06 |
| TF Lite | ✅ | 10.3 | 0.5075 | 64.36 |
| MNN | ✅ | 10.1 | 0.5075 | 12.14 |
| NCNN | ✅ | 10.2 | 0.5041 | 12.31 |
| ExecuTorch | ✅ | 10.2 | 0.5075 | 27.61 |
| التنسيق | الحالة | الحجم على القرص (ميجابايت) | mAP50-95(B) | وقت الاستدلال (مللي ثانية / صورة) |
|---|---|---|---|---|
| PyTorch | ✅ | 18.4 | 0.5767 | 5.38 |
| TorchScript | ✅ | 36.5 | 0.5781 | 5.48 |
| ONNX | ✅ | 36.3 | 0.5784 | 8.17 |
| OpenVINO | ✅ | 36.4 | 0.5809 | 27.12 |
| TensorRT (FP32) | ✅ | 39.8 | 0.5783 | 3.59 |
| TensorRT (FP16) | ✅ | 20.1 | 0.5800 | 1.85 |
| TensorRT (INT8) | ✅ | 17.5 | 0.5664 | 1.88 |
| TF SavedModel | ✅ | 90.8 | 0.5782 | 66.63 |
| TF GraphDef | ✅ | 36.3 | 0.5782 | 71.67 |
| TF Lite | ✅ | 36.3 | 0.5782 | 187.36 |
| MNN | ✅ | 36.2 | 0.5775 | 27.05 |
| NCNN | ✅ | 36.2 | 0.5806 | 26.26 |
| ExecuTorch | ✅ | 36.2 | 0.5782 | 54.73 |
| التنسيق | الحالة | الحجم على القرص (ميجابايت) | mAP50-95(B) | وقت الاستدلال (مللي ثانية / صورة) |
|---|---|---|---|---|
| PyTorch | ✅ | 38.8 | 0.6254 | 11.14 |
| TorchScript | ✅ | 77.3 | 0.6304 | 12.00 |
| ONNX | ✅ | 76.9 | 0.6304 | 13.83 |
| OpenVINO | ✅ | 77.1 | 0.6284 | 62.44 |
| TensorRT (FP32) | ✅ | 79.9 | 0.6305 | 6.96 |
| TensorRT (FP16) | ✅ | 40.6 | 0.6313 | 3.14 |
| TensorRT (INT8) | ✅ | 26.6 | 0.6204 | 3.30 |
| TF SavedModel | ✅ | 192.4 | 0.6306 | 139.85 |
| TF GraphDef | ✅ | 76.9 | 0.6306 | 146.76 |
| TF Lite | ✅ | 76.9 | 0.6306 | 568.18 |
| MNN | ✅ | 76.8 | 0.6306 | 67.67 |
| NCNN | ✅ | 76.8 | 0.6308 | 60.49 |
| ExecuTorch | ✅ | 76.9 | 0.6306 | 120.37 |
| التنسيق | الحالة | الحجم على القرص (ميجابايت) | mAP50-95(B) | وقت الاستدلال (مللي ثانية / صورة) |
|---|---|---|---|---|
| PyTorch | ✅ | 49.0 | 0.6366 | 13.95 |
| TorchScript | ✅ | 97.6 | 0.6399 | 15.67 |
| ONNX | ✅ | 97.0 | 0.6399 | 16.62 |
| OpenVINO | ✅ | 97.3 | 0.6377 | 78.80 |
| TensorRT (FP32) | ✅ | 99.2 | 0.6407 | 8.86 |
| TensorRT (FP16) | ✅ | 50.8 | 0.6350 | 3.85 |
| TensorRT (INT8) | ✅ | 32.5 | 0.6224 | 4.52 |
| TF SavedModel | ✅ | 242.7 | 0.6409 | 187.45 |
| TF GraphDef | ✅ | 97.0 | 0.6409 | 193.92 |
| TF Lite | ✅ | 97.0 | 0.6409 | 728.61 |
| MNN | ✅ | 96.9 | 0.6369 | 85.21 |
| NCNN | ✅ | 96.9 | 0.6373 | 77.62 |
| ExecuTorch | ✅ | 97.0 | 0.6409 | 153.56 |
| التنسيق | الحالة | الحجم على القرص (ميجابايت) | mAP50-95(B) | وقت الاستدلال (مللي ثانية / صورة) |
|---|---|---|---|---|
| PyTorch | ✅ | 109.3 | 0.6992 | 23.19 |
| TorchScript | ✅ | 218.1 | 0.6900 | 25.75 |
| ONNX | ✅ | 217.5 | 0.6900 | 27.43 |
| OpenVINO | ✅ | 217.8 | 0.6872 | 149.44 |
| TensorRT (FP32) | ✅ | 222.7 | 0.6902 | 13.87 |
| TensorRT (FP16) | ✅ | 111.1 | 0.6883 | 6.19 |
| TensorRT (INT8) | ✅ | 62.9 | 0.6793 | 6.62 |
| TF SavedModel | ✅ | 543.9 | 0.6900 | 335.10 |
| TF GraphDef | ✅ | 217.5 | 0.6900 | 348.86 |
| TF Lite | ✅ | 217.5 | 0.6900 | 1578.66 |
| MNN | ✅ | 217.3 | 0.6874 | 168.95 |
| NCNN | ✅ | 217.4 | 0.6901 | 132.13 |
| ExecuTorch | ✅ | 217.4 | 0.6900 | 297.17 |
تم إجراء الاختبارات المعيارية باستخدام Ultralytics 8.3.249
إعادة إنتاج نتائجنا
لإعادة إنتاج معايير Ultralytics المذكورة أعلاه على جميع صيغ التصدير، قم بتشغيل هذا الكود:
مثال
from ultralytics import YOLO
# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")
# Benchmark YOLO26n speed and accuracy on the COCO128 dataset for all export formats
results = model.benchmark(data="coco128.yaml", imgsz=640)
# Benchmark YOLO26n speed and accuracy on the COCO128 dataset for all export formats
yolo benchmark model=yolo26n.pt data=coco128.yaml imgsz=640
لاحظ أن نتائج الاختبارات المعيارية قد تختلف بناءً على التكوين الدقيق للأجهزة والبرامج للنظام، بالإضافة إلى عبء العمل الحالي للنظام وقت تشغيل الاختبارات المعيارية. للحصول على النتائج الأكثر موثوقية، استخدم مجموعة بيانات تحتوي على عدد كبير من الصور، على سبيل المثال، data='coco.yaml' (5000 صورة تحقق).
أفضل الممارسات لـ NVIDIA DGX Spark
عند استخدام NVIDIA DGX Spark، هناك بعض أفضل الممارسات التي يجب اتباعها لتمكين أقصى أداء عند تشغيل YOLO26.
مراقبة أداء النظام
استخدم أدوات مراقبة NVIDIA لتتبع استخدام GPU و CPU:
nvidia-smiتحسين استخدام الذاكرة
بفضل ذاكرة موحدة بسعة 128 جيجابايت، يمكن لـ DGX Spark التعامل مع أحجام دفعات ونماذج كبيرة. فكر في زيادة حجم الدفعة لتحسين الإنتاجية:
from ultralytics import YOLO model = YOLO("yolo26n.engine") results = model.predict(source="path/to/images", batch=16)استخدم TensorRT مع FP16 أو INT8
للحصول على أفضل أداء، قم بتصدير النماذج بدقة FP16 أو INT8:
yolo export model=yolo26n.pt format=engine half=True # FP16 yolo export model=yolo26n.pt format=engine int8=True # INT8
تحديثات النظام (إصدار المؤسسين)
يعد تحديث إصدار DGX Spark Founders Edition الخاص بك أمرًا بالغ الأهمية للأداء والأمان. توفر NVIDIA طريقتين أساسيتين لتحديث نظام التشغيل وبرامج التشغيل والبرامج الثابتة للنظام.
استخدام لوحة تحكم DGX (موصى به)
تعد لوحة تحكم DGX Dashboard هي الطريقة الموصى بها لإجراء تحديثات النظام مع ضمان التوافق. تتيح لك:
- عرض تحديثات النظام المتاحة
- تثبيت تصحيحات الأمان وتحديثات النظام
- إدارة تحديثات برامج تشغيل NVIDIA والبرامج الثابتة
تحديثات النظام اليدوية
للمستخدمين المتقدمين، يمكن إجراء التحديثات يدويًا عبر الطرفية:
sudo apt update
sudo apt dist-upgrade
sudo fwupdmgr refresh
sudo fwupdmgr upgrade
sudo reboot
تحذير
تأكد من أن نظامك متصل بمصدر طاقة مستقر وأنك قمت بعمل نسخة احتياطية من البيانات الهامة قبل إجراء التحديثات.
كيف يمكنني تدريب YOLOv5 على مجموعة البيانات المخصصة الخاصة بي؟
للمزيد من التعلم والدعم، راجع وثائق Ultralytics YOLO26.
الأسئلة الشائعة
كيف أقوم بنشر Ultralytics YOLO26 على NVIDIA DGX Spark؟
يُعد نشر Ultralytics YOLO26 على NVIDIA DGX Spark أمرًا مباشرًا. يمكنك استخدام صورة Docker المُعدة مسبقًا للإعداد السريع أو تثبيت الحزم المطلوبة يدويًا. يمكن العثور على الخطوات التفصيلية لكل نهج في قسمي البدء السريع باستخدام Docker و البدء بالتثبيت الأصلي.
ما هو الأداء الذي يمكنني توقعه من YOLO26 على NVIDIA DGX Spark؟
تقدم نماذج YOLO26 أداءً ممتازًا على DGX Spark بفضل شريحة GB10 Grace Blackwell الفائقة. يوفر تنسيق TensorRT أفضل أداء للاستدلال. تحقق من قسم جدول المقارنة التفصيلي للحصول على نتائج معيارية محددة عبر أحجام وتنسيقات النماذج المختلفة.
لماذا يجب أن أستخدم TensorRT لـ YOLO26 على DGX Spark؟
يوصى بشدة باستخدام TensorRT لنشر نماذج YOLO26 على DGX Spark نظرًا لأدائه الأمثل. فهو يسرع الاستدلال من خلال الاستفادة من قدرات Blackwell GPU، مما يضمن أقصى قدر من الكفاءة والسرعة. تعرف على المزيد في قسم استخدام TensorRT على NVIDIA DGX Spark.
كيف تقارن DGX Spark بأجهزة Jetson لـ YOLO26؟
يوفر DGX Spark قوة حوسبة أكبر بكثير من أجهزة Jetson، تصل إلى 1 بيتا فلوب من أداء الذكاء الاصطناعي وذاكرة موحدة بسعة 128 جيجابايت، مقارنةً بـ 2070 تيرافلوب و128 جيجابايت من الذاكرة في Jetson AGX Thor. تم تصميم DGX Spark كحاسوب فائق للذكاء الاصطناعي مكتبي، بينما أجهزة Jetson هي أنظمة مدمجة محسّنة للنشر على الحافة.
هل يمكنني استخدام صورة Docker نفسها لـ DGX Spark و Jetson AGX Thor؟
نعم! الـ ultralytics/ultralytics:latest-nvidia-arm64 تدعم صورة Docker كلاً من NVIDIA DGX Spark (مع DGX OS) و Jetson AGX Thor (مع JetPack 7.0)، حيث يستخدم كلاهما بنية ARM64 مع CUDA 13 ومجموعات برامج مماثلة.