اكتشف كيف يعزز ONNX إمكانية نقل نماذج الذكاء الاصطناعي وقابلية التشغيل البيني مما يتيح النشر السلس لنماذج Ultralytics YOLO عبر منصات متنوعة.
ONNX (التبادل المفتوح للشبكات العصبية) هو تنسيق مفتوح المصدر لتمثيل نماذج التعلم الآلي (ML). تم تطويره بالاشتراك مع شركات مثل Microsoft وFacebook، ويعمل ONNX كمترجم عالمي، مما يتيح للمطورين نقل النماذج بين أطر وأدوات التعلم الآلي المختلفة. تُعد قابلية التشغيل البيني هذه ضرورية لتبسيط الرحلة من تطوير النموذج إلى الإنتاج. فبدلاً من الانغلاق في نظام بيئي واحد، يمكن للفرق تدريب نموذج في إطار عمل واحد، مثل PyTorch، ونشره للاستدلال باستخدام إطار عمل آخر، مثل TensorFlow أو محرك استدلال متخصص. يمكن تصدير نماذج Ultralytics YOLO، على سبيل المثال، بسهولة إلى تنسيق ONNX، مما يوفر أقصى قدر من المرونة للنشر عبر منصات مختلفة.
يوفر ONNX تعريفًا قياسيًا للرسم البياني الحسابي، إلى جانب قائمة من المشغلات المدمجة. عندما تقوم بتحويل نموذج إلى صيغة ONNX، يتم تعيين بنيته - المكونة من طبقات وعمليات رياضية - إلى هذا المعيار العالمي. ينتج عن ذلك .onnx
يحتوي الملف على كلٍ من بنية الشبكة والملف المدرَّب أوزان الطراز.
يمكن بعد ذلك تحميل هذا الملف الموحد بواسطة أي أداة تدعم مواصفات ONNX. وهذا يشمل:
مرونة ONNX تجعله لا يقدر بثمن في العديد من سيناريوهات الرؤية الحاسوبية وتعلم الآلة.
نشر الذكاء الاصطناعي على الأجهزة المتطورة: قد يقوم أحد المطورين بتدريب نموذج معقد لاكتشاف الكائنات مثل Ultralytics YOLO11 على سطح مكتب قوي مزود بوحدات معالجة رسومات NVIDIA. ولتشغيل التطبيق على جهاز حافة منخفض الطاقة مثل Raspberry Pi أو كاميرا ذكية مستخدمة في تحليلات البيع بالتجزئة، يتم تصدير النموذج إلى ONNX. يمكن بعد ذلك تحسينه من خلال وقت تشغيل مثل ONNX Runtime أو OpenVINO للحصول على أداء فعال على الأجهزة المستهدفة دون الحاجة إلى بيئة PyTorch الأصلية.
دمج النماذج في تطبيقات متنوعة: لنفترض أن شركة رعاية صحية تبني نموذجًا لتحليل الصور الطبية باستخدام Python و TensorFlow. تم بناء البنية التحتية البرمجية الحالية للمستشفى باستخدام C# و .NET. وبدلاً من إعادة كتابة النموذج، يقوم الفريق بتصديره إلى ONNX. يمكن لتطبيق C# بعد ذلك استخدام وقت تشغيل ONNX لـ .NET لدمج قدرات النموذج مباشرة، مما يقلل بشكل كبير من وقت التطوير والتعقيد.
من المهم التمييز بين ONNX والمصطلحات ذات الصلة:
.pt
أو نموذج TensorFlow المحفوظ في TensorFlow أصلية لأطر العمل الخاصة بكل منها. تعمل ONNX كوسيط، مما يسمح بالتحويل بين هذه التنسيقات أو النشر عبر وقت تشغيل مشترك. تورش سكريبت هو تنسيق آخر لتسلسل نماذج PyTorch، ويُستخدم أحيانًا كبديل أو مقدمة لتصدير ONNX.وباختصار، يُعد ONNX معيارًا حيويًا لضمان المرونة وقابلية التشغيل البيني في خط أنابيب عمليات التعلم الآلي (MLOps )، مما يتيح للمطورين اختيار أفضل الأدوات للتدريب والنشر دون التقيد بقيود إطار العمل. تستفيد المنصات مثل Ultralytics HUB من هذه التنسيقات لتبسيط الرحلة من تطوير النموذج إلى التطبيق في العالم الحقيقي. لمعرفة المزيد، قم بزيارة الموقع الرسمي لـ ONNX واستكشف المشروع على GitHub.