نقاط النهاية للاستدلال في الإنتاج

ينطبق على:ملحق ML Azure CLI v2 (الحالي)Python SDK azure-ai-ml v2 (الحالي)

بعد تدريب نماذج التعلم الآلي أو البنية الأساسية لبرنامج ربط العمليات التجارية، أو العثور على نماذج من كتالوج النماذج لدينا تناسب احتياجاتك، تحتاج إلى نشرها في الإنتاج حتى يتمكن الآخرون من استخدامها للاستدلال. الاستدلال هو عملية تطبيق بيانات إدخال جديدة على نموذج التعلم الآلي أو البنية الأساسية لبرنامج ربط العمليات التجارية لإنشاء المخرجات. بينما يشار إلى هذه المخرجات عادة باسم "التنبؤات"، يمكن استخدام الاستدلال لإنشاء مخرجات لمهام التعلم الآلي الأخرى، مثل التصنيف والتكوين المجمع. في Azure التعلم الآلي، يمكنك إجراء الاستدلال باستخدام نقاط النهاية.

نقاط النهاية والنشر

نقطة النهاية هي عنوان URL ثابت ودائم يمكن استخدامه لطلب نموذج أو استدعاؤه. يمكنك توفير المدخلات المطلوبة إلى نقطة النهاية والحصول على المخرجات مرة أخرى. توفر نقطة النهاية ما يلي:

  • عنوان URL ثابت ودائم (مثل endpoint-name.region.inference.ml.azure.com
  • آلية مصادقة، و
  • آلية التخويل.

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

تستهلك بعض أنواع نقاط النهاية في Azure التعلم الآلي موارد مخصصة في عمليات التوزيع الخاصة بها. لتشغيل نقاط النهاية هذه، يجب أن يكون لديك حصة حسابية على اشتراكك. ومع ذلك، تدعم بعض النماذج التوزيع بلا خادم - لا تستهلك أي حصة نسبية من اشتراكك - بدلا من ذلك، تتم محاسبتك بناء على الاستخدام.

الحدس

لنفترض أنك تعمل على تطبيق يتنبأ بنوع السيارة ولونها، نظرا لصورتها. بالنسبة لهذا التطبيق، يقدم المستخدم الذي لديه بيانات اعتماد معينة طلب HTTP إلى عنوان URL ويوفر صورة لسيارة كجزء من الطلب. في المقابل، يحصل المستخدم على استجابة تتضمن نوع السيارة ولونها كقيم سلسلة. في هذا السيناريو، يعمل عنوان URL كنقطة نهاية.

رسم تخطيطي يوضح مفهوم نقطة النهاية.

علاوة على ذلك، لنفترض أن عالم البيانات، أليس، يعمل على تنفيذ التطبيق. تعرف Alice الكثير عن TensorFlow وتقرر تنفيذ النموذج باستخدام مصنف Keras تسلسلي مع بنية RestNet من TensorFlow Hub. بعد اختبار النموذج، تسعد Alice بنتائجه وتقرر استخدام النموذج لحل مشكلة توقع السيارة. النموذج كبير الحجم ويتطلب 8 غيغابايت من الذاكرة مع 4 ذاكرات أساسية للتشغيل. في هذا السيناريو، يشكل نموذج Alice والموارد، مثل التعليمات البرمجية والحوسبة، المطلوبة لتشغيل النموذج عملية نشر ضمن نقطة النهاية.

رسم تخطيطي يوضح مفهوم التوزيع.

دعونا نتخيل أنه بعد شهرين، تكتشف المؤسسة أن التطبيق يعمل بشكل سيئ على الصور ذات ظروف الإضاءة الأقل من المثالية. يعرف بوب، وهو عالم بيانات آخر، الكثير عن تقنيات زيادة البيانات التي تساعد النموذج على بناء قوة على هذا العامل. ومع ذلك، يشعر بوب براحة أكبر باستخدام Torch لتنفيذ النموذج وتدريب نموذج جديد مع Torch. يريد Bob تجربة هذا النموذج في الإنتاج تدريجيا حتى تصبح المؤسسة جاهزة لتقاعد النموذج القديم. يظهر النموذج الجديد أيضا أداء أفضل عند توزيعه على وحدة معالجة الرسومات، لذلك يجب أن يتضمن التوزيع وحدة معالجة الرسومات. في هذا السيناريو، نموذج Bob والموارد، مثل التعليمات البرمجية والحوسبة، المطلوبة لتشغيل النموذج تشكل توزيعا آخر تحت نفس نقطة النهاية.

رسم تخطيطي يوضح مفهوم نقطة النهاية مع عمليات نشر متعددة.

نقاط النهاية: واجهة برمجة التطبيقات بلا خادم، عبر الإنترنت، والدفعة

يسمح لك Azure التعلم الآلي بتنفيذ نقاط نهاية واجهة برمجة التطبيقات بلا خادم ونقاط النهاية عبر الإنترنت ونقاط النهاية الدفعية. تم تصميم نقاط نهاية واجهة برمجة التطبيقات بلا خادم ونقاط النهاية عبر الإنترنت للاستدلال في الوقت الحقيقي - عند استدعاء نقطة النهاية، يتم إرجاع النتائج في استجابة نقطة النهاية. لا تستهلك نقاط نهاية واجهة برمجة التطبيقات بلا خادم الحصة النسبية من اشتراكك؛ بدلا من ذلك تتم فوترتها بفواتير الدفع أولا بأول.

من ناحية أخرى، تم تصميم نقاط النهاية الدفعية للاستدلال الدفعي طويل الأمد. في كل مرة تقوم فيها باستدعاء نقطة نهاية دفعية تقوم بإنشاء مهمة دفعية تقوم بتنفيذ العمل الفعلي.

متى تستخدم واجهة برمجة التطبيقات بلا خادم، عبر الإنترنت، ونقاط النهاية الدفعية

نقاط نهاية واجهة برمجة التطبيقات بلا خادم:

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

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

نقاط النهاية عبر الإنترنت:

استخدم نقاط النهاية عبر الإنترنت لتشغيل النماذج للاستدلال في الوقت الفعلي في طلبات زمن انتقال منخفض متزامنة. نوصي باستخدامها عندما:

  • نموذجك هو نموذج أساسي أو إصدار دقيق منه، ولكنه غير مدعوم في نقاط نهاية واجهة برمجة التطبيقات بلا خادم.
  • لديك متطلبات زمن انتقال منخفض.
  • يمكن لنموذجك الرد على الطلب في فترة زمنية قصيرة نسبيا.
  • تتناسب مدخلات النموذج الخاص بك مع حمولة HTTP للطلب.
  • تحتاج إلى التوسع من حيث عدد الطلبات.

نقاط النهاية الدفعية:

استخدم نقاط النهاية الدفعية لتشغيل النماذج أو المسارات للاستدلال غير المتزامن طويل الأمد. نوصي باستخدامها عندما:

  • لديك نماذج أو مسارات مكلفة تتطلب وقتا أطول للتشغيل.
  • تريد تشغيل مسارات التعلم الآلي وإعادة استخدام المكونات.
  • تحتاج إلى إجراء الاستدلال على كميات كبيرة من البيانات التي يتم توزيعها في ملفات متعددة.
  • ليس لديك متطلبات زمن انتقال منخفضة.
  • يتم تخزين مدخلات النموذج الخاص بك في حساب تخزين أو في أصل بيانات Azure التعلم الآلي.
  • يمكنك الاستفادة من التوازي.

مقارنة بين واجهة برمجة التطبيقات بلا خادم، عبر الإنترنت، ونقاط النهاية الدفعية

تستند جميع نقاط نهاية API بلا خادم، عبر الإنترنت، والدفعة إلى فكرة نقاط النهاية، والتي تساعدك على الانتقال بسهولة من واحدة إلى أخرى. تقدم نقاط النهاية عبر الإنترنت والدفعة أيضا إمكانية إدارة عمليات نشر متعددة لنفس نقطة النهاية. يشرح القسم التالي الميزات المختلفة لكل خيار نشر:

نقاط النهاية

يعرض الجدول التالي ملخصا للميزات المختلفة المتوفرة لنقاط نهاية API بلا خادم، عبر الإنترنت، والدفعة.

ميزة نقاط نهاية واجهة برمجة التطبيقات بلا خادم نقاط النهاية عبر الإنترنت نقاط النهاية الدفعية
عنوان URL مستقر للادعاء ‏‏نعم‬ نعم ‏‏نعم‬
دعم عمليات نشر متعددة لا نعم ‏‏نعم‬
توجيه التوزيع بلا تقسيم نسبة استخدام الشبكة التبديل إلى الافتراضي
حركة مرور معكوسة للإصدار الآمن لا نعم لا
دعم Swagger ‏‏نعم‬ نعم لا
المصادقة المفتاح مفتاح ومعرف Microsoft Entra (معاينة) Microsoft Entra ID
دعم الشبكة الخاصة (قديم) لا نعم ‏‏نعم‬
عزل الشبكة المدارة ‏‏نعم‬ ‏‏نعم‬ نعم (راجع التكوين الإضافي المطلوب)
المفاتيح التي يديرها العميل غير متوفر ‏‏نعم‬ ‏‏نعم‬
أساس التكلفة لكل نقطة نهاية، في الدقيقة1 بلا بلا

1يتم فرض رسوم على كسر صغير مقابل نقاط نهاية واجهة برمجة التطبيقات بلا خادم في الدقيقة. راجع قسم عمليات التوزيع للمصاريف المتعلقة بالاستهلاك، والتي تتم فوترتها لكل رمز مميز.

عمليات النشر

يعرض الجدول التالي ملخصا للميزات المختلفة المتوفرة لنقاط نهاية API بلا خادم، عبر الإنترنت، والدفعة على مستوى النشر. تنطبق هذه المفاهيم على كل عملية نشر ضمن نقطة النهاية (لنقاط النهاية عبر الإنترنت والدفعة)، وتنطبق على نقاط نهاية واجهة برمجة التطبيقات بلا خادم (حيث يتم تضمين مفهوم النشر في نقطة النهاية).

ميزة نقاط نهاية واجهة برمجة التطبيقات بلا خادم نقاط النهاية عبر الإنترنت نقاط النهاية الدفعية
أنواع التوزيع النماذج النماذج النماذج ومكونات البنية الأساسية لبرنامج ربط العمليات التجارية
نشر نموذج MLflow لا، نماذج محددة فقط في الكتالوج ‏‏نعم‬ ‏‏نعم‬
توزيع نموذج مخصص لا، نماذج محددة فقط في الكتالوج نعم، مع البرنامج النصي لتسجيل النقاط نعم، مع البرنامج النصي لتسجيل النقاط
توزيع حزمة النموذج 1 مضمّن نعم (معاينة) لا
خادم الاستدلال 2 واجهة برمجة تطبيقات استدلال نموذج Azure الذكاء الاصطناعي - Azure التعلم الآلي خادم الاستدلال
-تريتون
- مخصص (باستخدام BYOC)
استدلال الدفعة
حساب المورد المستهلك بلا (بلا خادم) المثيلات أو الموارد الدقيقة مثيلات نظام المجموعة
نوع الحساب بلا (بلا خادم) الحوسبة المدارة وKubernetes الحوسبة المدارة وKubernetes
حساب ذي أولوية منخفضة غير متوفرة لا ‏‏نعم‬
تحجيم الحساب إلى الصفر مضمّن لا ‏‏نعم‬
حساب التحجيمالتلقائي 3 مضمّن نعم، استنادا إلى تحميل الموارد نعم، استنادا إلى عدد الوظائف
إدارة القدرة الزائدة التحكم بالنطاق الترددي* التحكم بالنطاق الترددي* قائمه انتظار
أساسالتكلفة 4 لكل رموز مميزة لكل عملية نشر: حساب المثيلات قيد التشغيل لكل مهمة: حساب مثيل مستهلك في الوظيفة (يتم تعيينه إلى الحد الأقصى لعدد مثيلات نظام المجموعة).
الاختبار المحلي للتوزيعات لا نعم لا

1 يتطلب نشر نماذج MLflow إلى نقاط النهاية دون اتصال إنترنت صادر أو شبكات خاصة تعبئة النموذج أولا.

2يشير خادم الاستدلال إلى تقنية الخدمة التي تأخذ الطلبات وتعالجها وتنشئ استجابات. يملي خادم الاستدلال أيضا تنسيق الإدخال والمخرجات المتوقعة.

3التحجيم التلقائي هو القدرة على توسيع نطاق الموارد المخصصة للتوزيع أو تقليصها ديناميكيا استنادا إلى تحميله. تستخدم عمليات النشر عبر الإنترنت والدفعات استراتيجيات مختلفة للتحجيم التلقائي. بينما يتم توسيع نطاق عمليات النشر عبر الإنترنت صعودا وهبوطا استنادا إلى استخدام الموارد (مثل وحدة المعالجة المركزية والذاكرة والطلبات وما إلى ذلك)، يتم توسيع نطاق نقاط النهاية الدفعية أو خفضها استنادا إلى عدد المهام التي تم إنشاؤها.

4 كل من عمليات النشر عبر الإنترنت والدفعات تفرضها الموارد المستهلكة. في عمليات التوزيع عبر الإنترنت، يتم توفير الموارد في وقت النشر. ومع ذلك، في نشر الدفعة، لا يتم استهلاك أي موارد في وقت التوزيع ولكن عند تشغيل المهمة. ومن ثم، لا توجد تكلفة مرتبطة بالنشر نفسه. لاحظ أن المهام في قائمة الانتظار لا تستهلك الموارد أيضا.

واجهات المطور

تم تصميم نقاط النهاية لمساعدة المؤسسات على تشغيل أحمال العمل على مستوى الإنتاج في Azure التعلم الآلي. نقاط النهاية هي موارد قوية وقابلة للتطوير وتوفر أفضل القدرات لتنفيذ مهام سير عمل MLOps.

يمكنك إنشاء نقاط النهاية الدفعية والإنترنت وإدارتها باستخدام أدوات مطور متعددة:

  • Azure CLI وPython SDK
  • واجهة برمجة تطبيقات Azure Resource Manager/REST
  • مدخل ويب استوديو التعلم الآلي من Azure
  • مدخل Azure (تكنولوجيا المعلومات / المسؤول)
  • دعم مسارات CI/CD MLOps باستخدام واجهة Azure CLI وواجهات REST/ARM

الخطوات التالية