دليل البدء السريع: NVIDIA DGX Spark مع Ultralytics YOLO26#
يوفّر هذا الدليل الشامل شرحًا تفصيليًا خطوة بخطوة لنشر Ultralytics YOLO26 على NVIDIA DGX Spark، وهو حاسوب فائق مدمج للذكاء الاصطناعي من NVIDIA مخصص لأجهزة سطح المكتب. كما يعرض معايير أداء لتوضيح إمكانات YOLO26 على هذا النظام القوي.
اختُبر هذا الدليل باستخدام NVIDIA DGX Spark Founders Edition الذي يعمل بنظام DGX OS المستند إلى Ubuntu. ومن المتوقع أن يعمل مع أحدث إصدارات DGX OS.
ما هو NVIDIA DGX Spark؟#
NVIDIA DGX Spark هو حاسوب فائق مدمج للذكاء الاصطناعي مخصص لأجهزة سطح المكتب، ويعمل بشريحة NVIDIA GB10 Grace Blackwell Superchip. ويوفّر ما يصل إلى 1 بيتافلوب من أداء حوسبة الذكاء الاصطناعي بدقة FP4، ما يجعله مثاليًا للمطورين والباحثين وعلماء البيانات الذين يحتاجون إلى إمكانات قوية للذكاء الاصطناعي ضمن جهاز مكتبي.
Watch: How to Get up to 1000 FPS with Ultralytics YOLO26 on NVIDIA DGX Spark | TensorRT & Batch Inference
المواصفات الأساسية#
| المواصفة | التفاصيل |
|---|---|
| أداء الذكاء الاصطناعي | ما يصل إلى 1 PFLOP (FP4) |
| GPU | بنية NVIDIA Blackwell مع Tensor Cores من الجيل الخامس وRT Cores من الجيل الرابع |
| CPU | معالج Arm بـ 20 نواة (10 Cortex-X925 + 10 Cortex-A725) |
| الذاكرة | ذاكرة نظام موحّدة LPDDR5x بسعة 128 GB، وواجهة 256 بت، وتردد 4266 MHz، وعرض نطاق ترددي يبلغ 273 GB/s |
| التخزين | NVMe M.2 بسعة 1 TB أو 4 TB مع تشفير ذاتي |
| الشبكة | 1x RJ-45 (10 GbE)، وبطاقة شبكة ذكية ConnectX-7، وWi-Fi 7، وBluetooth 5.4 |
| الاتصال | 4x USB Type-C، و1x HDMI 2.1a، وصوت متعدد القنوات عبر HDMI |
| معالجة الفيديو | 1x NVENC، و1x NVDEC |
DGX OS#
NVIDIA DGX OS هو توزيعة Linux مخصصة توفّر أساسًا مستقرًا ومختبرًا ومدعومًا لنظام التشغيل، لتشغيل تطبيقات الذكاء الاصطناعي والتعلّم الآلي والتحليلات على أنظمة DGX. ويتضمن:
- أساسًا متينًا من Linux مُحسّنًا لأحمال عمل الذكاء الاصطناعي
- برامج تشغيل وإعدادات نظام مهيّأة مسبقًا لأجهزة NVIDIA
- تحديثات أمنية وإمكانات صيانة النظام
- التوافق مع منظومة برمجيات NVIDIA الأوسع
يتبع DGX OS جدولًا منتظمًا للإصدارات، إذ تُوفَّر التحديثات عادةً مرتين سنويًا (نحو فبراير وأغسطس)، مع توفير تصحيحات أمنية إضافية بين الإصدارات الرئيسية.
لوحة معلومات DGX#
يأتي DGX Spark مزودًا بـ DGX Dashboard مدمجة توفّر:
- مراقبة النظام في الوقت الفعلي: عرض لمقاييس التشغيل الحالية للنظام
- تحديثات النظام: إمكانية تطبيق التحديثات مباشرةً من لوحة المعلومات
- إعدادات النظام: تغيير اسم الجهاز وغيره من الإعدادات
- JupyterLab مدمج: الوصول إلى دفاتر Jupyter المحلية لأغراض التطوير
الوصول إلى لوحة المعلومات#
انقر على زر "Show Apps" في الزاوية السفلية اليسرى من سطح مكتب Ubuntu، ثم اختر "DGX Dashboard" لفتحه في متصفحك.
تتضمن لوحة المعلومات مثيلًا مدمجًا من JupyterLab ينشئ تلقائيًا بيئة افتراضية ويثبّت الحزم الموصى بها عند بدء تشغيله. ويُخصَّص لكل حساب مستخدم منفذ مخصص للوصول إلى JupyterLab.
البدء السريع باستخدام Docker#
أسرع طريقة للبدء باستخدام Ultralytics YOLO26 على NVIDIA DGX Spark هي التشغيل باستخدام صور docker الجاهزة مسبقاً. تدعم صورة NVIDIA ARM64 نظام DGX Spark مع DGX OS.
t=ultralytics/ultralytics:latest-nvidia-arm64
sudo docker pull $t && sudo docker run -it --ipc=host --device nvidia.com/gpu=all $tينطبق طلب جهاز CDI أعلاه على DGX Spark الذي يشغل DGX OS. بالنسبة لأحمال عمل PyTorch على Jetson AGX Thor، راجع متطلبات المضيف المنفصلة وتقييد TensorRT في دليل NVIDIA Jetson.
تستخدم هذه الصورة NVIDIA PyTorch 26.08 وCUDA 13.4 وTensorRT 11. قم بتحديث برنامج تشغيل مضيف DGX OS إلى إصدار مدعوم بواسطة NVIDIA PyTorch 26.08، وأعد بناء محركات TensorRT بعد تغيير الصورة أو وحدة معالجة الرسوميات المستهدفة.
بعد إتمام ذلك، انتقل إلى قسم استخدام TensorRT على NVIDIA DGX Spark.
البدء بالتثبيت الأصلي#
لإجراء تثبيت أصلي دون Docker، اتبع الخطوات التالية.
تثبيت حزمة Ultralytics#
سنثبّت هنا حزمة Ultralytics على DGX Spark. وتُثبَّت تبعيات التصدير تلقائيًا في المرة الأولى التي تصدّر فيها نموذجًا، لذا لا نحتاج هنا إلا إلى الحزمة الأساسية. وسنركّز بشكل أساسي على عمليات التصدير إلى NVIDIA TensorRT، لأن TensorRT سيضمن لنا الحصول على أقصى أداء من DGX Spark.
-
تحديث قائمة الحزم وتثبيت pip والترقية إلى أحدث إصدار
sudo apt update sudo apt install python3-pip -y pip install -U pip -
تثبيت حزمة pip
ultralyticspip install ultralytics -
إعادة تشغيل الجهاز
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)يمكن تجاهل هذا التحذير بأمان. ولمعالجة المشكلة نهائيًا، أُرسل إصلاح في طلب PR #164590 ضمن PyTorch، وسيُدرج في إصدار PyTorch 2.10.
تثبيت onnxruntime-gpu#
توفر إصدارات ONNX Runtime GPU الحالية حزم ثنائية لأنظمة Linux ARM64، بما في ذلك Python 3.12. تقوم صورة NVIDIA ARM64 Docker بتثبيت الحزمة الرسمية؛ بالنسبة لعمليات تثبيت CUDA 13 الأصلية، استخدم:
pip install onnxruntime-gpuاستخدام 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")زُر صفحة التصدير للوصول إلى وسيطات إضافية عند تصدير النماذج إلى تنسيقات نماذج مختلفة
معايير YOLO11 على NVIDIA DGX Spark#
أجرى فريق Ultralytics معايير YOLO11 على NVIDIA DGX Spark باستخدام تنسيقات نماذج متعددة، مع قياس السرعة والدقة: PyTorch وTorchScript وONNX وOpenVINO وTensorRT وTF SavedModel وTF GraphDef وTF Lite وMNN وNCNN وExecuTorch. أُجريت المعايير على NVIDIA DGX Spark بدقة FP32 precision، مع حجم صورة إدخال افتراضي يبلغ 640.
جدول المقارنة التفصيلي#
يمثّل الجدول أدناه نتائج المعايير لخمسة نماذج مختلفة (YOLO11n وYOLO11s وYOLO11m وYOLO11l وYOLO11x) عبر تنسيقات متعددة، موضحًا الحالة والحجم ومقياس mAP50-95(B) وزمن الاستدلال لكل مجموعة.
| التنسيق | الحالة | الحجم على القرص (MB) | 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 |
تمت المقارنة باستخدام 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)لاحظ أن نتائج المعايير قد تختلف استنادًا إلى تكوين الأجهزة والبرامج الدقيق للنظام، بالإضافة إلى حمل النظام الحالي وقت إجراء المعايير. وللحصول على النتائج الأكثر موثوقية، استخدم مجموعة بيانات تحتوي على عدد كبير من الصور، مثل data='coco.yaml' (5000 صورة للتحقق).
أفضل الممارسات لـ NVIDIA DGX Spark#
عند استخدام NVIDIA DGX Spark، هناك بعض أفضل الممارسات التي ينبغي اتباعها لتمكين أعلى أداء عند تشغيل YOLO26.
-
مراقبة أداء النظام
استخدم أدوات المراقبة من NVIDIA لتتبّع استخدام GPU وCPU:
nvidia-smi -
تحسين استخدام الذاكرة
بفضل الذاكرة الموحّدة بسعة 128GB، يستطيع 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 quantize=16 # FP16 yolo export model=yolo26n.pt format=engine quantize=8 # INT8
تحديثات النظام (Founders Edition)#
يُعد إبقاء إصدار DGX Spark Founders Edition محدّثًا أمرًا بالغ الأهمية للأداء والأمان. توفّر NVIDIA طريقتين أساسيتين لتحديث نظام التشغيل وبرامج التشغيل والبرامج الثابتة للنظام.
استخدام DGX Dashboard (موصى به)#
تُعد DGX Dashboard الطريقة الموصى بها لإجراء تحديثات النظام مع ضمان التوافق. وتتيح لك:
- عرض تحديثات النظام المتاحة
- تثبيت التصحيحات الأمنية وتحديثات النظام
- إدارة تحديثات برامج تشغيل NVIDIA والبرامج الثابتة
تحديثات النظام اليدوية#
يمكن للمستخدمين المتقدمين إجراء التحديثات يدويًا عبر الطرفية:
sudo apt update
sudo apt dist-upgrade
sudo fwupdmgr refresh
sudo fwupdmgr upgrade
sudo rebootتأكد من اتصال نظامك بمصدر طاقة مستقر ومن إجراء نسخ احتياطي للبيانات المهمة قبل تنفيذ التحديثات.
الخطوات التالية#
لمزيد من التعلم والدعم، راجع مستندات Ultralytics YOLO26.
الأسئلة الشائعة#
يُعد نشر Ultralytics YOLO26 على NVIDIA DGX Spark أمرًا سهلًا. يمكنك استخدام صورة Docker مُنشأة مسبقًا للإعداد السريع، أو تثبيت الحزم المطلوبة يدويًا. تجد الخطوات التفصيلية لكل نهج في القسمين البدء السريع باستخدام Docker والبدء بالتثبيت الأصلي.
توفّر نماذج YOLO26 أداءً ممتازًا على DGX Spark بفضل GB10 Grace Blackwell Superchip. ويوفّر تنسيق TensorRT أفضل أداء للاستدلال. راجع قسم جدول المقارنة التفصيلي للاطلاع على نتائج المعايير المحددة عبر أحجام النماذج والتنسيقات المختلفة.
يوصى بشدة باستخدام TensorRT لنشر نماذج YOLO26 على DGX Spark نظرًا إلى أدائه الأمثل. فهو يسرّع الاستدلال بالاستفادة من إمكانات Blackwell GPU، ما يضمن أقصى كفاءة وسرعة. تعرّف على المزيد في قسم استخدام TensorRT على NVIDIA DGX Spark.
يوفّر DGX Spark ما يصل إلى 1 PFLOP من أداء الذكاء الاصطناعي وذاكرة موحّدة بسعة 128GB، مقارنةً بـ 2070 TFLOPS وذاكرة بسعة 128GB في Jetson AGX Thor. صُمّم DGX Spark بوصفه حاسوبًا فائقًا للذكاء الاصطناعي مخصصًا لأجهزة سطح المكتب، بينما تُعد أجهزة Jetson أنظمة مضمّنة محسّنة للنشر على الحافة.
بالنسبة لأحمال عمل PyTorch، يدعم
ultralytics/ultralytics:latest-nvidia-arm64نظام DGX Spark مع DGX OS وThor مع JetPack 7.1. لا يدعم TensorRT 11.2 المدمج نظام JetPack، لذا يجب أن تستخدم مهام عمل Jetson TensorRT وقت تشغيل TensorRT 10.x المدعوم لإصدار JetPack الخاص بهم. راجع متطلبات Jetson Docker.