تحسين عمليات الاستدلال لنماذج YOLO26 باستخدام محرك DeepSparse من Neural Magic#
عند نشر نماذج كشف الكائنات مثل Ultralytics YOLO26 على أجهزة متنوعة، قد يشكل تحسين سرعة الاستدلال تحديًا. يعالج محرك DeepSparse من Neural Magic هذه المشكلة على وحدات CPU، باستخدام التناثر والتكميم للاقتراب من سرعات الاستدلال بمستوى GPU دون الحاجة إلى GPU.
يوضح هذا الدليل كيفية نشر YOLO26 باستخدام DeepSparse من Neural Magic، وتشغيل عمليات الاستدلال، وكذلك قياس الأداء لضمان تحسينه.
استحوذت Red Hat على Neural Magic في يناير 2025، وهي بصدد إهمال إصدارات المجتمع من مكتبات deepsparse وsparseml وsparsezoo وsparsify. لمزيد من المعلومات، راجع الإشعار المنشور في ملف Readme بمستودع GitHub sparsify.
DeepSparse من Neural Magic#
إن DeepSparse من Neural Magic بيئة تشغيل للاستدلال مصممة لتحسين تنفيذ الشبكات العصبية على وحدات CPU. وتطبّق تقنيات مثل التناثر والتقليم والتكميم لتقليل المتطلبات الحسابية مع الحفاظ على الدقة، بما يضمن تنفيذًا فعالًا وقابلًا للتوسع لـالشبكات العصبية على أجهزة متنوعة.
مزايا دمج DeepSparse من Neural Magic مع YOLO26#
تشمل المزايا الرئيسية لـDeepSparse ما يلي:
- تحسين سرعة الاستدلال: تفيد Neural Magic بإمكانية تحقيق ما يصل إلى 525 FPS على YOLOv8n، وهي سرعة أعلى بكثير من الاستدلال القياسي باستخدام CPU.
- كفاءة محسّنة للنموذج: يستخدم التقليم والتكميم لتعزيز كفاءة YOLO26، وتقليل حجم النموذج ومتطلباته الحاسوبية مع الحفاظ على الدقة.
-
أداء مرتفع على وحدات CPU القياسية: يوفر أداءً شبيهًا بـGPU على وحدات CPU، وهو خيار أيسر وأقل تكلفة للعديد من التطبيقات.
-
تبسيط التكامل والنشر: يوفر أدوات لدمج نماذج YOLO في التطبيقات، بما فيها ميزات شرح الصور ومقاطع الفيديو.
-
دعم أنواع مختلفة من النماذج: متوافق مع نماذج YOLO القياسية والنماذج المحسّنة بالتناثر، مما يضيف مرونة إلى النشر.
-
حل فعّال من حيث التكلفة وقابل للتوسع: يقلل النفقات التشغيلية ويوفر إمكانية نشر نماذج متقدمة لكشف الأجسام على نطاق واسع.
كيف تعمل تقنية DeepSparse من Neural Magic؟#
تستلهم تقنية DeepSparse من Neural Magic كفاءة الدماغ البشري في حوسبة الشبكات العصبية. وتعتمد مبدأين أساسيين من الدماغ على النحو التالي:
-
التناثر: تنطوي عملية إضفاء التناثر على تقليم المعلومات الزائدة من شبكات التعلّم العميق، ما ينتج نماذج أصغر وأسرع مع الحد الأدنى من فقدان الدقة. وتقلل هذه التقنية حجم الشبكة ومتطلباتها الحسابية بدرجة كبيرة.
-
محلية المرجع: يستخدم DeepSparse أسلوب تنفيذ فريدًا يقسّم الشبكة إلى أعمدة Tensor. وتُنفّذ هذه الأعمدة بترتيب العمق، بحيث تلائم ذاكرة التخزين المؤقت لوحدة CPU بالكامل. ويحاكي هذا النهج كفاءة الدماغ، إذ يقلل نقل البيانات إلى أدنى حد ويزيد الاستفادة من ذاكرة التخزين المؤقت لوحدة CPU.
إنشاء إصدار متناثر من YOLOv8 المدرّب على مجموعة بيانات مخصصة#
يوفر SparseZoo، وهو مستودع نماذج مفتوح المصدر من Neural Magic، مجموعة من نقاط التحقق لنماذج YOLOv8 التي أُضفي عليها التناثر مسبقًا. وباستخدام SparseML، المتكامل مع Ultralytics، يمكن للمستخدمين ضبط نقاط التحقق المتناثرة هذه على مجموعات بياناتهم باستخدام سطر الأوامر.
راجع وثائق SparseML YOLOv8 من Neural Magic لمزيد من التفاصيل.
الاستخدام: نشر YOLO26 باستخدام DeepSparse#
يتطلب نشر YOLO26 باستخدام DeepSparse من Neural Magic بضع خطوات.
الخطوة 1: التثبيت#
لتثبيت الحزم المطلوبة، شغّل:
# Install the required packages
pip install deepsparse[yolov8]الخطوة 2: تصدير YOLO26 إلى تنسيق ONNX#
يتطلب محرك DeepSparse نماذج YOLO26 بتنسيق ONNX. استخدم الأمر التالي لتصدير نماذج YOLO26:
# Export YOLO26 model to ONNX format
yolo detect export model=yolo26n.pt format=onnx opset=13سيحفظ هذا الأمر النموذج yolo26n.onnx على القرص.
الخطوة 3: النشر وتشغيل الاستدلال#
بعد تجهيز نموذج YOLO26 بتنسيق ONNX، يمكنك نشره وتشغيل الاستدلالات باستخدام واجهة Python البرمجية لـDeepSparse:
from deepsparse import Pipeline
# حدّد مسار نموذج YOLO26 بتنسيق ONNX
model_path = "path/to/yolo26n.onnx"
# أعِدّ مسار DeepSparse
yolo_pipeline = Pipeline.create(task="yolov8", model_path=model_path)
# شغّل النموذج على صورك
images = ["path/to/image.jpg"]
pipeline_outputs = yolo_pipeline(images=images)الخطوة 4: قياس الأداء#
من المهم التحقق من أن نموذج YOLO26 يعمل على النحو الأمثل على DeepSparse. يمكنك قياس الأداء لنموذجك لتحليل معدل النقل وزمن الاستجابة:
# Benchmark performance
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"الخطوة 5: ميزات إضافية#
يوفر DeepSparse ميزات إضافية لدمج YOLO26 عمليًا في التطبيقات، مثل إضافة التعليقات التوضيحية إلى الصور وتقييم مجموعات البيانات.
# For image annotation
deepsparse.yolov8.annotate --source "path/to/image.jpg" --model_filepath "path/to/yolo26n.onnx"
# For evaluating model performance on a dataset
deepsparse.yolov8.eval --model_path "path/to/yolo26n.onnx"يعالج تشغيل أمر annotate الصورة المحددة، ويكشف الكائنات، ويحفظ الصورة المشروحة مع مربعات الإحاطة وتسميات الفئات. وستُحفظ الصورة المشروحة في مجلد annotation-results. ويساعد ذلك على تقديم تمثيل مرئي لقدرات النموذج على الكشف.
بعد تشغيل أمر eval، ستحصل على مقاييس تفصيلية مثل الإحكام والاستدعاء وmAP (متوسط الدقة). توضح هذه المقاييس أداء نموذجك على مجموعة البيانات وتساعد في توجيه الضبط الدقيق والتحسين لحالات استخدام محددة.
الملخص#
استكشف هذا الدليل دمج Ultralytics YOLO26 مع محرك DeepSparse من Neural Magic، وكيف تسرّع تقنيات التناثر فيه الاستدلال على منصات CPU.
للحصول على معلومات أكثر تفصيلاً واستخدام متقدم، تفضّل بزيارة مستودع DeepSparse من Neural Magic. ويمكنك أيضًا استكشاف دليل دمج YOLOv8 ومشاهدة جلسة شرح تفصيلي على YouTube.
الأسئلة الشائعة#
محرك DeepSparse من Neural Magic هو بيئة تشغيل للاستدلال مصممة لتحسين تنفيذ الشبكات العصبية على وحدات CPU باستخدام تقنيات متقدمة مثل التناثر والتقليم والتكميم. ومن خلال دمج DeepSparse مع YOLO26، يمكنك تحقيق أداء يماثل GPU على وحدات CPU عادية، ما يعزز بشكل كبير سرعة الاستدلال وكفاءة النموذج والأداء العام مع الحفاظ على الدقة. لمزيد من التفاصيل، راجع قسم DeepSparse من Neural Magic.
ثبّت الحزم المطلوبة باستخدام pip:
pip install deepsparse[yolov8]بعد التثبيت، اتبع الخطوات الواردة في قسم التثبيت لإعداد بيئتك والبدء باستخدام DeepSparse مع YOLO26.
لتحويل نماذج YOLO26 إلى تنسيق ONNX المطلوب للتوافق مع DeepSparse، يمكنك استخدام أمر CLI التالي:
yolo detect export model=yolo26n.pt format=onnx opset=13سيؤدي هذا الأمر إلى تصدير نموذج YOLO26 (
yolo26n.pt) إلى تنسيق (yolo26n.onnx) يمكن لمحرك DeepSparse استخدامه.يساعد قياس أداء YOLO26 على DeepSparse في تحليل معدل النقل وزمن الاستجابة للتأكد من تحسين نموذجك. ويمكنك استخدام أمر CLI التالي لإجراء قياس الأداء:
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"يعرض هذا الأمر مقاييس معدل النقل وزمن الاستجابة.
يوفر دمج DeepSparse من Neural Magic مع YOLO26 عدة مزايا:
- زيادة سرعة الاستدلال: يحقق ما يصل إلى 525 FPS (باستخدام YOLOv8n)، ما يبرهن على قدرات DeepSparse في التحسين.
- تحسين كفاءة النموذج: يستخدم تقنيات التناثر والتقليم والتكميم لتقليل حجم النموذج ومتطلباته الحسابية مع الحفاظ على الدقة.
- أداء عالٍ على وحدات CPU العادية: يوفر أداءً يماثل GPU على أجهزة CPU منخفضة التكلفة.
- تبسيط التكامل: أدوات للنشر والتكامل.
- المرونة: يدعم نماذج YOLO العادية والنماذج المحسّنة بالتناثر على حد سواء.
- الفعالية من حيث التكلفة: يخفض النفقات التشغيلية من خلال الاستخدام الفعال للموارد.
للاطلاع على هذه المزايا بمزيد من التفصيل، تفضّل بزيارة قسم فوائد دمج DeepSparse من Neural Magic مع YOLO26.