ONNX وقابلية التشغيل البيني للنموذج
ONNX (Open Neural Network Exchange) هو تنسيق قياسي مفتوح لتمثيل نماذج التعلم الآلي حتى تتمكن من التنقل بحرية بين الأطر وأوقات التشغيل.
نظرة عامة
It lets you train a model in one tool, like PyTorch, and deploy it in another environment without rewriting it.
الغوص العميق
تقوم أطر العمل المختلفة (PyTorch، وTensorFlow، وscikit-learn) بتخزين النماذج بتنسيقات غير متوافقة، مما يجعل النشر مؤلمًا. ONNX، الذي تم إطلاقه في عام 2017 بواسطة Microsoft وفيسبوك ويخضع الآن لمؤسسة Linux، يحل هذه المشكلة عن طريق تحديد تنسيق ملف مشترك ومجموعة موحدة من عوامل التشغيل (مثل Conv وMatMul وRelu) التي تصف النموذج على أنه رسم بياني حسابي. يمكنك تصدير نموذج مدرب إلى ملف .onnx، ويمكن لأي وقت تشغيل متوافق تحميله. يقوم ONNX Runtime بعد ذلك بتنفيذ الرسم البياني بكفاءة عبر الأجهزة المتنوعة، وتطبيق التحسينات مثل دمج المشغل والتكميم، وتوجيه العمليات الحسابية إلى الواجهات الخلفية مثل وحدات المعالجة المركزية (CPUs)، ووحدات معالجة الرسومات NVIDIA (عبر TensorRT)، أو المسرعات المتخصصة. يؤدي هذا إلى فصل التدريب النموذجي عن النشر.
البصيرة الفنية
نموذج ONNX عبارة عن رسم بياني حسابي متسلسل: العقد هي عوامل مستمدة من مجموعة عوامل تشغيل (opset)، وتحمل الحواف موترات بأشكال وأنواع محددة. يتتبع المصدرون النموذج الخاص بك أو يكتبونه لالتقاط هذا الرسم البياني. عند الاستدلال، يقوم ONNX Runtime بتقسيم الرسم البياني عبر "موفري التنفيذ" (CPU، CUDA، TensorRT، وما إلى ذلك)، ويتعامل كل منهم مع المشغلين الذين يدعمهم بشكل أفضل، ويطبق تحسينات على مستوى الرسم البياني مثل الطي المستمر ودمج العقد لتسريع الأمور.
التأثير الاستراتيجي
التكلفة والميزانية
تؤدي قرارات الهندسة المعمارية إلى زيادة الأداء وتكلفة التشغيل لسنوات.
قرارات أوضح
يساعد التعليم الفني الفرق على اختيار المجموعة المناسبة، وليس فقط المجموعة الأحدث.
مراقبة الجودة
تعمل الخيارات الهندسية الأفضل على تقليل حوادث الموثوقية في الإنتاج.
مستقبل ONNX وقابلية التشغيل البيني للنماذج
تعمل ONNX على ترسيخ نفسها باعتبارها لغة مشتركة لنشر النماذج، خاصة لخدمة الحافة وعبر الأنظمة الأساسية. توقع تغطية أوسع للمشغلين لنماذج ومحولات اللغة الكبيرة، ودعمًا أكثر إحكامًا للاستدلال الكمي ومنخفض البت، وتكاملًا أعمق مع أوقات تشغيل بائعي الأجهزة. مع نمو النظام البيئي لرقائق الذكاء الاصطناعي المتخصصة، يصبح التنسيق المحايد للبائع مثل ONNX أكثر قيمة، مما يسمح للفرق بتبادل الأجهزة دون إعادة هندسة النماذج، ويستمر ONNX Runtime في التوسع ليشمل أهداف الهاتف المحمول والويب (عبر WebAssembly).
التنفيذ في العالم الحقيقي
تصدير مصنف صور PyTorch إلى ONNX وتشغيله باستخدام ONNX Runtime على خادم إنتاج C++ بدون تبعية Python.
نشر نموذج على الهاتف المحمول أو المتصفح عبر ONNX Runtime Web (WebAssembly) للاستدلال على الجهاز.
تسريع محول تم تصديره باستخدام NVIDIA TensorRT كموفر تنفيذ ONNX Runtime لتقليل زمن الوصول.
تكميم نموذج ONNX إلى int8 لتقليص حجمه وتسريع الاستدلال على وحدات المعالجة المركزية الطرفية.
المخاطر والدرابزين
يمكن أن يؤدي تحسين معيار واحد إلى إخفاء نقاط ضعف النظام الأوسع.
غالبًا ما يتم التقليل من تكاليف البنية التحتية والصيانة.
يمكن أن تنمو الفجوات الأمنية وقابلية المراقبة عندما تصبح الأنظمة أكثر تعقيدًا.
خارطة طريق التنفيذ
تحديد الكمون والجودة وأهداف التكلفة قبل التنفيذ.
المعيار في ظل ظروف التحميل والبيانات الواقعية.
مراقبة الأدوات للأخطاء والانجراف وتأثير المستخدم.
قم بإعداد مسارات التراجع والاستجابة للحوادث قبل القياس.
استمر في الاستكشاف
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the ONNX and Model Interoperability quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
الدليل التالي
دمج النموذج
الأسئلة المتداولة
What is ONNX and Model Interoperability?
ONNX (Open Neural Network Exchange) هو تنسيق قياسي مفتوح لتمثيل نماذج التعلم الآلي حتى تتمكن من التنقل بحرية بين الأطر وأوقات التشغيل. فهو يتيح لك تدريب نموذج في أداة واحدة، مثل PyTorch، ونشره في بيئة أخرى دون إعادة كتابته.
ما هي المشكلة الأساسية التي يحلها ONNX في المقام الأول؟
يحدد ONNX تنسيقًا مشتركًا بحيث يمكن نشر النموذج الذي تم تدريبه في إطار عمل واحد في بيئة أخرى دون إعادة كتابته.
كيف يمثل ملف ONNX نموذجًا؟
نموذج ONNX هو رسم بياني حسابي تكون عقده عبارة عن عوامل تشغيل موحدة (مثل Conv وMatMul وRelu) متصلة بواسطة موترات.
ما هي الشركات التي أطلقت ONNX أصلاً في عام 2017؟
تم تقديم ONNX بشكل مشترك بواسطة Microsoft وفيسبوك في عام 2017 ويتم استضافته الآن ضمن مؤسسة Linux.
في ONNX Runtime، ما هو "موفر التنفيذ"؟
موفرو التنفيذ هم واجهات خلفية قابلة للتوصيل (CPU، CUDA، TensorRT، والمزيد) يستخدمها ONNX Runtime لتشغيل المشغلين الذين يدعمهم كل منهم بشكل أفضل.
ما الذي يحدده إصدار "opset" (مجموعة المشغلين) في نموذج ONNX؟
يحدد إصدار opset المجموعة القياسية وإصدار المشغلين الذي يعتمد عليه النموذج، مما يضمن تفسير أوقات التشغيل المتوافقة لها بشكل صحيح.