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

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

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

الحدس

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

A diagram showing the concept of an endpoint.

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

A diagram showing the concept of a deployment.

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

A diagram showing the concept of an endpoint with multiple deployments.

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

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

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

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

للعمل بشكل صحيح، يجب أن يكون لكل نقطة نهاية نشر واحد على الأقل. نقاط النهاية والتوزيع هي موارد Azure Resource Manager مستقلة تظهر في مدخل Microsoft Azure.

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

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

متى تستخدم عبر الإنترنت مقابل نقطة نهاية الدفعة لحالة الاستخدام الخاصة بك

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

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

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

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

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

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

نقاط النهاية

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

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

عمليات النشر

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

ميزة نقاط النهاية عبر الإنترنت نقاط النهاية الدفعية
أنواع النشر النماذج النماذج ومكونات البنية الأساسية لبرنامج ربط العمليات التجارية
نشر نموذج MLflow ‏‏نعم‬ ‏‏نعم‬
توزيع نموذج مخصص نعم، مع البرنامج النصي لتسجيل النقاط نعم، مع البرنامج النصي لتسجيل النقاط
توزيع حزمة النموذج 1 نعم (معاينة) لا
خادم الاستدلال 2 - 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

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