انشر نماذج Ultralytics YOLO باستخدام تكامل ExecuTorch
استكشف كيفية تصدير نماذج Ultralytics YOLO، مثل Ultralytics YOLO11، إلى تنسيق ExecuTorch لنشر فعّال ومتوافق أصيلًا مع PyTorch على الأجهزة الطرفية والمحمولة.
Abirami Vina9 دقيقة قراءة
تعمل بعض تطبيقات الرؤية الحاسوبية، مثل فحص الجودة الآلي والطائرات المسيّرة ذاتية التشغيل وأنظمة الأمن الذكية، على أفضل وجه عندما تعمل نماذج Ultralytics YOLO، مثل Ultralytics YOLO11، بالقرب من المستشعر الذي يلتقط الصور. بعبارة أخرى، تحتاج هذه النماذج إلى معالجة البيانات مباشرة في موقع إنشائها، على الكاميرات أو الطائرات المسيّرة أو الأنظمة المضمنة، بدلًا من إرسالها إلى السحابة.
يتيح هذا النهج، المعروف باسم الذكاء الاصطناعي الطرفي، للنماذج إجراء الاستدلال مباشرة على الجهاز الذي تُلتقط عليه البيانات. ومن خلال معالجة المعلومات محليًا بدلًا من الاعتماد على خوادم بعيدة، تستطيع الأنظمة تحقيق زمن استجابة أقل وخصوصية أعلى للبيانات وموثوقية أكبر، حتى في البيئات التي يكون فيها الاتصال بالإنترنت محدودًا أو منعدمًا.
على سبيل المثال، لا يمكن لكاميرا تصنيع تفحص آلاف المنتجات كل دقيقة، أو لطائرة مسيّرة تتنقل في بيئات معقدة، تحمل التأخيرات الناجمة عن المعالجة السحابية. ويتيح تشغيل Ultralytics YOLO11 مباشرة على الجهاز إجراء الاستدلال الفوري عليه.
لتسهيل تشغيل نماذج Ultralytics YOLO على الأجهزة الطرفية وزيادة كفاءته، يوفر تكامل ExecuTorch الجديد، الذي تدعمه Ultralytics، طريقة مبسطة لتصدير النماذج ونشرها مباشرة على الأجهزة المحمولة والمضمنة. ويُعد ExecuTorch جزءًا من منظومة PyTorch Edge، ويوفر حلًا متكاملًا لتشغيل نماذج الذكاء الاصطناعي مباشرة على الأجهزة المحمولة والطرفية، بما في ذلك الهواتف والأجهزة القابلة للارتداء واللوحات المضمنة والمتحكمات الدقيقة.
يسهّل هذا التكامل نقل نموذج Ultralytics YOLO، مثل YOLO11، من التدريب إلى النشر على الأجهزة الطرفية. ومن خلال الجمع بين قدرات YOLO11 البصرية وبيئة تشغيل ExecuTorch خفيفة الوزن ومسار تصدير PyTorch، يمكن للمستخدمين نشر نماذج تعمل بكفاءة على الأجهزة الطرفية مع الحفاظ على دقة الاستدلال المستند إلى PyTorch وأدائه.
سنتناول في هذا المقال كيفية عمل تكامل ExecuTorch، وأسباب ملاءمته لتطبيقات الذكاء الاصطناعي الطرفي، وكيفية البدء بنشر نماذج Ultralytics YOLO باستخدام ExecuTorch.
ما هو ExecuTorch؟#
عادةً، عند تدريب نموذج باستخدام PyTorch، يعمل النموذج على خوادم قوية أو وحدات معالجة الرسومات (GPUs) في السحابة. لكن نشر النموذج نفسه على جهاز محمول أو مضمّن، مثل هاتف ذكي أو طائرة مسيّرة أو متحكم دقيق، يتطلب حلًا متخصصًا قادرًا على التعامل مع محدودية القدرة الحاسوبية والذاكرة والاتصال.
وهذا تحديدًا ما يقدمه ExecuTorch. فهو حل متكامل طُوّر ضمن منظومة PyTorch Edge، ويتيح الاستدلال الفعال على الجهاز عبر المنصات المحمولة والمضمنة والطرفية. كما يوسع إمكانات PyTorch لتتجاوز السحابة، ويتيح تشغيل نماذج الذكاء الاصطناعي مباشرة على الأجهزة المحلية.
نقل الاستدلال باستخدام PyTorch إلى الأجهزة الطرفية#
في جوهره، يوفر ExecuTorch بيئة تشغيل خفيفة الوزن بلغة C++ تتيح تنفيذ نماذج PyTorch مباشرة على الجهاز. ويستخدم ExecuTorch تنسيق نماذج PyTorch ExecuTorch (.pte)، وهو تنسيق تصدير محسّن لتسريع التحميل وتقليل استهلاك الذاكرة وتحسين قابلية النقل.
يدعم XNNPACK بوصفه الواجهة الخلفية الافتراضية للاستدلال الفعال باستخدام وحدة المعالجة المركزية (CPU)، كما يوسع التوافق ليشمل مجموعة كبيرة من الواجهات الخلفية للأجهزة، بما فيها CoreML وMetal وVulkan وQualcomm وMediaTek وArm EthosU وOpenVINO وغيرها.
تتيح هذه الواجهات الخلفية تسريعًا محسّنًا على الأجهزة المحمولة والمضمنة والطرفية المتخصصة. كما يتكامل ExecuTorch مع مسار تصدير PyTorch، ويدعم ميزات متقدمة مثل التكميم ومعالجة الأشكال الديناميكية لتحسين الأداء والقدرة على التكيف عبر بيئات النشر المختلفة.
يقلل التكميم حجم النموذج ويزيد سرعة الاستدلال من خلال تحويل القيم عالية الدقة، مثل الأعداد العشرية ذات 32 بت، إلى قيم أقل دقة، بينما تُستخدم معالجة الأشكال الديناميكية لتمكين النماذج من معالجة أحجام إدخال متغيرة بكفاءة. وتُعد الميزتان ضروريتين لتشغيل نماذج الذكاء الاصطناعي على الأجهزة الطرفية محدودة الموارد.

الشكل 1. نظرة على آلية عمل ExecuTorch (المصدر)
طبقة موحدة للأجهزة الطرفية#
إلى جانب كونه بيئة تشغيل، يعمل ExecuTorch أيضًا طبقة تجريد موحدة لعدة واجهات خلفية للأجهزة. وببساطة، يخفي التفاصيل الخاصة بكل جهاز ويدير كيفية تفاعل النماذج مع وحدات معالجة مختلفة، بما في ذلك وحدات المعالجة المركزية (CPUs) ووحدات معالجة الرسومات (GPUs) ووحدات المعالجة العصبية (NPUs).
بعد تصدير النموذج، يمكن تهيئة ExecuTorch لاستهداف الواجهة الخلفية الأنسب لجهاز معين. ويستطيع المطورون نشر النماذج بكفاءة على مجموعة متنوعة من الأجهزة دون كتابة تعليمات برمجية مخصصة لكل جهاز أو الحفاظ على مسارات تحويل منفصلة.
بفضل تصميمه المعياري والقابل للنقل وتكامله الوثيق مع PyTorch، يُعد ExecuTorch خيارًا ممتازًا لنشر نماذج الرؤية الحاسوبية، مثل Ultralytics YOLO11، على الأنظمة المحمولة والمضمّنة. فهو يسد الفجوة بين تدريب النماذج ونشرها في العالم الحقيقي، ما يجعل الذكاء الاصطناعي الطرفي أسرع وأكثر كفاءة وأسهل تطبيقًا.
الميزات الرئيسية لـ ExecuTorch#
قبل استعراض كيفية تصدير نماذج Ultralytics YOLO إلى تنسيق ExecuTorch، لنتعرف إلى أسباب موثوقية ExecuTorch كخيار لنشر الذكاء الاصطناعي على الأجهزة الطرفية.
إليك لمحة عن بعض ميزاته الرئيسية:
- دعم التكميم: يدعم ExecuTorch تكميم النماذج، وهي تقنية تحوّل القيم عالية الدقة إلى قيم أقل دقة لتقليل حجم النموذج وتسريع الاستدلال. ويساعد ذلك النماذج على العمل بسرعة أكبر واستخدام ذاكرة أقل على الأجهزة الطرفية مع الحفاظ على مستوى دقة شبه مماثل. وينتج تصدير Ultralytics حاليًا نماذج FP32 لواجهة XNNPACK الخلفية.
- الاستخدام الفعال للذاكرة: من أبرز مزايا ExecuTorch طريقة تعامله مع الذاكرة. فبدلًا من الاعتماد على تخصيص الذاكرة الديناميكي، الذي قد يؤدي إلى زيادة زمن الاستجابة واستهلاك الطاقة، يستخدم ExecuTorch تخطيط الذاكرة مسبقًا (AOT). أثناء التصدير، يحلل مخطط النموذج ويحسب مسبقًا مقدار الذاكرة اللازمة لكل عملية. ويتيح ذلك لبيئة التشغيل تنفيذ النماذج وفق خطة ذاكرة ثابتة، بما يضمن أداءً متوقعًا ويمنع التباطؤ أو الأعطال على الأجهزة ذات ذاكرة RAM أو القدرة الحاسوبية المحدودة.
- بيانات وصفية مدمجة للنموذج: عند التصدير باستخدام التكامل الذي تدعمه Ultralytics، يتضمن كل نموذج ملف YAML يحتوي على بيانات وصفية مهمة، مثل حجم صورة الإدخال وأسماء الفئات ومعلمات التهيئة. ويسهّل هذا الملف الإضافي دمج النماذج في تطبيقات متنوعة ويضمن اتساق سلوكها عبر منصات طرفية مختلفة.
كيفية تصدير نماذج Ultralytics YOLO إلى تنسيق ExecuTorch#
بعد أن تعرفنا على ما يقدمه ExecuTorch، فلنستعرض خطوات تصدير نماذج Ultralytics YOLO إلى تنسيق ExecuTorch.
الخطوة 1: تثبيت حزمة Ultralytics Python#
للبدء، ستحتاج إلى تثبيت حزمة Ultralytics Python باستخدام pip، وهو مثبت للحزم. ويمكنك ذلك بتشغيل “pip install ultralytics” في الطرفية أو موجه الأوامر.
إذا كنت تعمل في بيئة Jupyter Notebook أو Google Colab، فما عليك سوى إضافة علامة تعجب قبل الأمر، مثل "!pip install ultralytics". بعد التثبيت، توفر حزمة Ultralytics جميع الأدوات اللازمة لتدريب نماذج الرؤية الحاسوبية واختبارها وتصديرها، بما فيها Ultralytics YOLO11.
إذا واجهت أي مشكلات أثناء التثبيت أو تصدير النموذج، فتتضمن وثائق Ultralytics الرسمية ودليل المشكلات الشائعة خطوات مفصلة لاستكشاف الأخطاء وإصلاحها وأفضل الممارسات لمساعدتك على البدء بسلاسة.
الخطوة 2: تصدير Ultralytics YOLO11#
بعد تثبيت حزمة Ultralytics، يمكنك تحميل أحد إصدارات نموذج YOLO11 وتصديره إلى تنسيق ExecuTorch. فعلى سبيل المثال، يمكنك استخدام نموذج مدرّب مسبقًا مثل “yolo11n.pt” وتصديره باستدعاء دالة التصدير مع ضبط التنسيق على “executorch”.
ينشئ ذلك مجلدًا باسم “yolo11n_executorch_model”، يتضمن ملف النموذج المحسّن (.pte) وملف YAML منفصلًا للبيانات الوصفية يحتوي على تفاصيل مهمة، مثل حجم الصورة وأسماء الفئات.
إليك الشيفرة اللازمة لتصدير النموذج:
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="executorch")الخطوة 3: تشغيل عمليات الاستدلال بعد تصدير النموذج#
بعد تصديره، يصبح النموذج جاهزًا للنشر على الأجهزة الطرفية والمحمولة باستخدام بيئة تشغيل ExecuTorch. ويمكن تحميل ملف النموذج المُصدّر .pte في تطبيقك لإجراء الاستدلال على الجهاز في الوقت الفعلي دون الحاجة إلى اتصال سحابي.
على سبيل المثال، يوضح مقطع الشيفرة أدناه كيفية تحميل النموذج المُصدّر وإجراء الاستدلال. ويعني الاستدلال ببساطة استخدام نموذج مدرّب لإجراء تنبؤات على بيانات جديدة. في هذا المثال، يُختبر النموذج على صورة حافلة مأخوذة من عنوان URL عام.
executorch_model = YOLO("yolo11n_executorch_model")
results = executorch_model.predict("https://ultralytics.com/images/bus.jpg", save=True)بعد تشغيل الشيفرة، ستجد صورة الإخراج التي تتضمن الأجسام المكتشفة محفوظة في المجلد “runs/detect/predict”.

الشكل 2. اكتشاف الأجسام باستخدام نموذج Ultralytics YOLO11 مُصدّر بتنسيق ExecuTorch.
فوائد استخدام تكامل ExecuTorch#
أثناء استكشاف خيارات التصدير المختلفة التي تدعمها Ultralytics، قد تتساءل عما يميز تكامل ExecuTorch. يكمن الفرق الأساسي في مدى نجاحه في الجمع بين الأداء والبساطة والمرونة، مما يسهّل نشر نماذج الذكاء الاصطناعي القوية مباشرة على الأجهزة المحمولة والطرفية.
إليك بعض المزايا الرئيسية لاستخدام تكامل ExecuTorch:
- خيارات نشر مرنة: يمكن نشر نماذج ExecuTorch عبر تطبيقات الأجهزة المحمولة والأنظمة المضمنة وأجهزة إنترنت الأشياء (IoT) وأجهزة الذكاء الاصطناعي الطرفي المتخصصة. وتمكّن هذه المرونة المطورين من إنشاء حلول ذكاء اصطناعي قابلة للتوسع تعمل باتساق عبر منصات وبيئات متنوعة.
- أداء مثبت بالاختبارات المعيارية: تُظهر الاختبارات على أجهزة مثل Raspberry Pi 5 أن نماذج Ultralytics YOLO11 المُصدّرة بتنسيق ExecuTorch تعمل بسرعة تفوق نظيراتها في PyTorch بنحو الضعف، مع دقة تكاد تكون مطابقة.
- واجهات برمجة تطبيقات تكامل مرنة: يوفر ExecuTorch واجهات برمجة تطبيقات لـ C++ وKotlin وObjective-C لأنظمة iOS وAndroid وLinux المضمن، مما يتيح للمطورين دمج نماذج YOLO مباشرة في التطبيقات الأصلية.
- دعم تسريع الأجهزة: يدعم ExecuTorch واجهات خلفية متعددة لتسريع الأجهزة، بما فيها Vulkan وMetal لوحدات معالجة الرسومات المحمولة، مع إمكانية التكامل اختياريًا مع OpenCL وواجهات برمجة تطبيقات أخرى خاصة بالمورّدين. ويمكنه أيضًا الاستفادة من المسرّعات المخصصة، مثل وحدات المعالجة العصبية (NPUs) ومعالجات الإشارات الرقمية (DSPs)، لتحقيق زيادات كبيرة في السرعة مقارنة بالاستدلال المعتمد على وحدة المعالجة المركزية وحدها.
تطبيقات Ultralytics YOLO11 وتصدير ExecuTorch في العالم الحقيقي#
حظيت Ultralytics مؤخرًا بالتقدير بوصفها قصة نجاح لـ PyTorch ExecuTorch، تقديرًا لدعمنا المبكر للاستدلال على الجهاز ومساهماتنا المستمرة في منظومة PyTorch. ويعكس هذا التقدير هدفًا مشتركًا يتمثل في إتاحة الذكاء الاصطناعي عالي الأداء على نطاق أوسع عبر المنصات المحمولة والطرفية.
من السحابة إلى الأجهزة الطرفية: كيف يجسد ExecuTorch وUltralytics YOLO11 الذكاء الاصطناعي البصري#
عمليًا، يعني ذلك حلولًا واقعية للذكاء الاصطناعي البصري تعمل بكفاءة على كل شيء، من الهواتف الذكية إلى الأنظمة المضمنة. ففي التصنيع مثلًا، تؤدي الأجهزة الطرفية دورًا حاسمًا في مراقبة خطوط الإنتاج واكتشاف العيوب في الوقت الفعلي.

الشكل 3. مثال على استخدام Ultralytics YOLO11 لتحليل خط تجميع في مصنع. (المصدر)
بدلًا من إرسال الصور أو بيانات المستشعرات إلى السحابة لمعالجتها، وهو ما قد يسبب تأخيرات ويتطلب اتصالًا بالإنترنت، يتيح تكامل ExecuTorch تشغيل نماذج Ultralytics YOLO11 مباشرة على الأجهزة المحلية. وهذا يعني أن المصانع تستطيع اكتشاف مشكلات الجودة فورًا وتقليل فترات التوقف والحفاظ على خصوصية البيانات، مع العمل بموارد حاسوبية محدودة.
إليك بعض الأمثلة الأخرى على كيفية تطبيق تكامل ExecuTorch ونماذج Ultralytics YOLO:
- المدن الذكية: من خلال تشغيل نماذج Ultralytics YOLO11 محليًا باستخدام ExecuTorch، تستطيع المدن اتخاذ قرارات أسرع تستند إلى البيانات، بدءًا من اكتشاف الاختناقات المرورية وصولًا إلى تحديد المخاطر، مما يحسن التنقل والسلامة عمومًا.
- البيع بالتجزئة والتخزين: بفضل الاستدلال على الجهاز، يستطيع تجار التجزئة أتمتة مراقبة الأرفف وتتبع المخزون وفحص الطرود بسرعة وأمان، دون الاعتماد على الاتصالات السحابية.
- الروبوتات والطائرات المسيّرة: تمكّن نماذج Ultralytics YOLO11 المحسّنة للأجهزة الطرفية الروبوتات والطائرات المسيّرة من التعرف على الأجسام والتنقل في البيئات واتخاذ قرارات فورية، حتى من دون اتصال بالإنترنت.

الشكل 4. اكتشاف السيارات في حركة المرور وعدّها باستخدام YOLO11 (المصدر)
أبرز النقاط#
يسهّل تصدير نماذج Ultralytics YOLO إلى تنسيق ExecuTorch نشر نماذج الرؤية الحاسوبية على أجهزة كثيرة، بما فيها الهواتف الذكية والأجهزة اللوحية والأنظمة المضمنة مثل Raspberry Pi. وهذا يجعل تشغيل الاستدلال المحسّن على الجهاز ممكنًا دون الاعتماد على الاتصال السحابي، مما يحسن السرعة والخصوصية والموثوقية.
إلى جانب ExecuTorch، تدعم Ultralytics مجموعة واسعة من عمليات التكامل، بما في ذلك TensorRT وOpenVINO وCoreML وغيرها، ما يمنح المطورين مرونة تشغيل نماذجهم على منصات مختلفة. ومع تزايد اعتماد الذكاء الاصطناعي للرؤية الحاسوبية، تبسّط عمليات التكامل هذه نشر الأنظمة الذكية المصممة للعمل بكفاءة في ظروف العالم الحقيقي.
هل أنت مهتم بالذكاء الاصطناعي؟ اطلع على مستودع GitHub، وانضم إلى مجتمعنا، واستكشف خيارات الترخيص لبدء مشروعك في الذكاء الاصطناعي البصري. تعرّف على المزيد عن ابتكارات مثل الذكاء الاصطناعي في تجارة التجزئة والرؤية الحاسوبية في الخدمات اللوجستية بزيارة صفحات حلولنا.
بقلم
التعليقات
اطرح سؤالًا، أو شارك نتائجك، أو ساعد شخصًا آخر.










