دليل البدء السريع: 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 petaFLOP بدقة FP4، ما يجعله مثاليًا للمطورين والباحثين وعلماء البيانات الذين يحتاجون إلى قدرات قوية للذكاء الاصطناعي ضمن جهاز مكتبي.
شاهد: كيفية الوصول إلى 1000 إطار في الثانية باستخدام Ultralytics YOLO26 على NVIDIA DGX Spark | TensorRT والاستدلال على الدُفعات
المواصفات الرئيسية#
| المواصفة | التفاصيل |
|---|---|
| أداء الذكاء الاصطناعي | حتى 1 PFLOP (FP4) |
| GPU | بنية NVIDIA Blackwell مع أنوية Tensor من الجيل الخامس وأنوية RT من الجيل الرابع |
| CPU | معالج Arm ذو 20 نواة (10 Cortex-X925 + 10 Cortex-A725) |
| الذاكرة | ذاكرة نظام موحّدة LPDDR5x بسعة 128 GB، وواجهة 256-bit، وتردد 4266 MHz، وعرض نطاق 273 GB/s |
| التخزين | NVMe M.2 بسعة 1 TB أو 4 TB مع التشفير الذاتي |
| الشبكة | منفذ RJ-45 واحد (10 GbE)، وبطاقة شبكة ذكية ConnectX-7، وWi-Fi 7، وBluetooth 5.4 |
| الاتصال | 4 منافذ USB Type-C، ومنفذ HDMI 2.1a واحد، وصوت متعدد القنوات عبر HDMI |
| معالجة الفيديو | وحدة NVENC واحدة، ووحدة NVDEC واحدة |
DGX OS#
يُعد NVIDIA DGX OS توزيعة Linux مخصصة توفر أساسًا مستقرًا ومختبرًا ومدعومًا لنظام التشغيل، لتشغيل تطبيقات الذكاء الاصطناعي والتعلم الآلي والتحليلات على أنظمة DGX. وتتضمن:
- أساسًا متينًا من Linux محسّنًا لأحمال عمل الذكاء الاصطناعي
- برامج تشغيل وإعدادات نظام مُهيأة مسبقًا لأجهزة NVIDIA
- تحديثات أمنية وإمكانات صيانة النظام
- التوافق مع منظومة برامج NVIDIA الأوسع
يتبع DGX OS جدول إصدار منتظمًا، وتُوفَّر التحديثات عادةً مرتين سنويًا (نحو فبراير وأغسطس)، مع توفير تصحيحات أمنية إضافية بين الإصدارات الرئيسية.
لوحة تحكم DGX#
يأتي DGX Spark مزودًا بـلوحة تحكم DGX مدمجة توفر:
- مراقبة النظام في الوقت الفعلي: نظرة عامة على مقاييس التشغيل الحالية للنظام
- تحديثات النظام: إمكانية تطبيق التحديثات مباشرةً من لوحة التحكم
- إعدادات النظام: تغيير اسم الجهاز والإعدادات الأخرى
- JupyterLab مدمج: الوصول إلى دفاتر Jupyter المحلية لأغراض التطوير
الوصول إلى لوحة التحكم#
انقر زر "إظهار التطبيقات" في الزاوية السفلية اليسرى من سطح مكتب 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.2. حدّث برنامج تشغيل المضيف في DGX OS إلى إصدار تدعمه NVIDIA PyTorch 26.08، وأعِد إنشاء محركات TensorRT بعد تغيير الصورة أو وحدة GPU المستهدفة.
بعد إتمام ذلك، انتقل إلى قسم استخدام 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)يمكن تجاهل هذا التحذير بأمان. ولمعالجة المشكلة نهائيًا، أُرسل إصلاح في PyTorch PR #164590، وسيُضمَّن في إصدار 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
# تحميل نموذج YOLO26n بصيغة PyTorch
model = YOLO("yolo26n.pt")
# تصدير النموذج إلى TensorRT
model.export(format="engine") # ينشئ 'yolo26n.engine'
# تحميل نموذج TensorRT المُصدَّر
trt_model = YOLO("yolo26n.engine")
# تنفيذ الاستدلال
results = trt_model("https://ultralytics.com/images/bus.jpg")انتقل إلى صفحة التصدير للاطلاع على الوسائط الإضافية عند تصدير النماذج إلى تنسيقات نماذج مختلفة
معايير أداء YOLO11 على NVIDIA DGX Spark#
أجرى فريق Ultralytics اختبارات أداء YOLO11 على تنسيقات نماذج متعددة لقياس السرعة والدقة: 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) وزمن الاستدلال لكل تركيبة.
| التنسيق | الحالة | الحجم على القرص (MB) | mAP50-95(B) | وقت الاستدلال (ms/im) |
|---|---|---|---|---|
| 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
# تحميل نموذج YOLO26n بصيغة PyTorch
model = YOLO("yolo26n.pt")
# اختبر سرعة YOLO26n ودقته على مجموعة البيانات COCO128 بجميع تنسيقات التصدير
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 (موصى به)#
تُعد لوحة تحكم DGX الطريقة الموصى بها لإجراء تحديثات النظام مع ضمان التوافق. وتتيح لك:
- عرض تحديثات النظام المتاحة
- تثبيت التصحيحات الأمنية وتحديثات النظام
- إدارة تحديثات برامج تشغيل 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. ويوفر تنسيق TensorRT أفضل أداء للاستدلال. راجع قسم جدول المقارنة التفصيلي للاطلاع على نتائج معايير أداء YOLO11 على DGX Spark، بمختلف أحجام النماذج وتنسيقاتها.
يوصى بشدة باستخدام TensorRT لنشر نماذج YOLO26 على DGX Spark لما يقدمه من أداء مثالي. فهو يسرّع الاستدلال بالاستفادة من إمكانات GPU في Blackwell، ما يضمن أقصى كفاءة وسرعة. تعرّف على المزيد في قسم استخدام TensorRT على NVIDIA DGX Spark.
يوفر DGX Spark أداءً للذكاء الاصطناعي يصل إلى 1 PFLOP وذاكرة موحدة بسعة 128GB، مقارنةً بأداء Jetson AGX Thor البالغ 2070 TFLOPS وذاكرته بسعة 128GB. صُمم DGX Spark ليكون حاسوبًا فائقًا للذكاء الاصطناعي على سطح المكتب، بينما أجهزة Jetson أنظمة مدمجة محسّنة للنشر على الحافة.
بالنسبة إلى أحمال عمل PyTorch، يدعم
ultralytics/ultralytics:latest-nvidia-arm64جهاز DGX Spark مع DGX OS وجهاز Thor مع JetPack 7.1. لا يدعم JetPack الإصدار المضمّن من TensorRT 11.2، لذا يجب أن تستخدم تدفقات عمل TensorRT على Jetson إصدار التشغيل TensorRT 10.x المدعوم لإصدار JetPack لديها. راجع متطلبات Docker على Jetson.