Home
Login

ONNX (تبادل الشبكات العصبية المفتوحة) هو نظام بيئي مفتوح يمكّن نماذج الذكاء الاصطناعي من العمل بشكل متداخل عبر مجموعة متنوعة من الأطر والأدوات وأوقات التشغيل والأجهزة.

Apache-2.0Python 19.1konnx Last Updated: 2025-06-14

نظرة عامة على مشروع ONNX (تبادل الشبكات العصبية المفتوحة)

خلفية المشروع

ONNX (تبادل الشبكات العصبية المفتوحة) هو نظام بيئي مفتوح يهدف إلى تعزيز قابلية التشغيل البيني لنماذج الذكاء الاصطناعي. في مجال التعلم العميق، توجد أطر عمل متعددة، مثل PyTorch و TensorFlow و MXNet وغيرها. تتمتع هذه الأطر بمزاياها الخاصة، ولكن نقل النماذج ونشرها بين أطر العمل المختلفة غالبًا ما يواجه تحديات. يهدف ONNX إلى تحديد تمثيل نموذج عام، بحيث يمكن تحويل النماذج وتشغيلها بسهولة بين أطر العمل المختلفة، وبالتالي تبسيط عملية تطوير ونشر نماذج الذكاء الاصطناعي.

الخصائص الأساسية

  • معيار مفتوح: ONNX هو معيار مفتوح، ويمكن لأي شخص المشاركة في تطويره وتحسينه.
  • التوافق عبر الأطر: يسمح ONNX بتصدير النماذج من إطار عمل واحد واستيرادها وتشغيلها في إطار عمل آخر. هذا يحسن بشكل كبير من قابلية نقل النماذج.
  • دعم واسع النطاق للأطر: تدعم العديد من أطر التعلم العميق السائدة ONNX، بما في ذلك PyTorch و TensorFlow و MXNet و CNTK و PaddlePaddle وغيرها.
  • تسريع الأجهزة: يوفر ONNX Runtime محرك استدلال عالي الأداء يمكنه تشغيل نماذج ONNX على مجموعة متنوعة من منصات الأجهزة، والاستفادة من ميزات تسريع الأجهزة لتحسين الأداء.
  • تحسين النموذج: يتضمن ONNX Runtime أدوات لتحسين النموذج، والتي يمكنها إجراء تكميم وتقليم وتحسينات أخرى على نماذج ONNX لتقليل حجم النموذج وزيادة سرعة الاستدلال.
  • التحكم في الإصدار: يتمتع ONNX بآلية للتحكم في الإصدار، والتي يمكن أن تضمن توافق النماذج وإمكانية تتبعها.

سيناريوهات التطبيق

  • نشر النموذج: يبسط ONNX نشر النماذج على منصات وأجهزة مختلفة. على سبيل المثال، يمكن تصدير نموذج تم تدريبه في PyTorch بتنسيق ONNX، ثم تشغيله على جهاز محمول أو جهاز مضمن باستخدام ONNX Runtime.
  • مشاركة النموذج: يعزز ONNX مشاركة النماذج بين الباحثين والمطورين. يمكن نشر النماذج بتنسيق ONNX، ليستخدمها الآخرون، دون الحاجة إلى مراعاة الإطار الذي يستخدمونه.
  • الحوسبة غير المتجانسة: يسمح ONNX بتشغيل أجزاء مختلفة من النموذج على منصات أجهزة مختلفة. على سبيل المثال، يمكن تشغيل الطبقات كثيفة الحساب على وحدة معالجة الرسومات (GPU)، وتشغيل الطبقات الأخرى على وحدة المعالجة المركزية (CPU).
  • أبحاث تحسين النموذج: يوفر ONNX منصة موحدة للبحث والتطوير في تقنيات تحسين النموذج. يمكن استخدام نماذج ONNX كمعيار لتقييم أداء خوارزميات التحسين المختلفة.
  • خدمات الاستدلال السحابي: يدعم العديد من موفري الخدمات السحابية نماذج ONNX، ويمكن استخدام ONNX لنشر النماذج في السحابة وتقديم خدمات الاستدلال عبر الإنترنت.

هيكل المشروع (بناءً على مستودع GitHub)

يحتوي مستودع GitHub الخاص بمشروع ONNX على المكونات الرئيسية التالية:

  • onnx: تعريفات بروتوكول المخزن المؤقت (Protocol Buffers) لنموذج ONNX.
  • onnx/checker: أداة للتحقق مما إذا كان نموذج ONNX يتوافق مع المواصفات.
  • onnx/helper: واجهة برمجة تطبيقات Python لإنشاء نماذج ONNX ومعالجتها.
  • onnx/reference: يوفر تطبيقًا مرجعيًا لعوامل تشغيل ONNX.
  • docs: يحتوي على وثائق ONNX، بما في ذلك المواصفات والبرامج التعليمية والأمثلة.
  • operators.md: يصف عوامل التشغيل (operators) التي يدعمها ONNX.

ملخص

ONNX هو مشروع مهم يعزز قابلية التشغيل البيني وقابلية نقل نماذج الذكاء الاصطناعي من خلال توفير تمثيل نموذج عام. إن تطبيقه الواسع النطاق وتطوره المستمر يدفعان إلى انتشار وابتكار تقنيات الذكاء الاصطناعي.

للحصول على جميع التفاصيل، يرجى الرجوع إلى الموقع الرسمي (https://github.com/onnx/onnx)