مكنت واجهة مستوى الاستدعاء (الإصدار 2) مخطط YAML لتوزيع Kubernetes عبر الإنترنت

ينطبق على:ملحق CLI للتعلم الآلي من Microsoft Azure v2 (الحالي)

يمكن إيجاد مخطط المصدر JSON في https://azuremlschemas.azureedge.net/latest/kubernetesOnlineDeployment.schema.json.

إشعار

يعتمد بناء YAML المفصل في هذا المستند على مخطط JSON لأحدث إصدار من ملحق الإصدار الثاني من واجهة مستوى الاستدعاء للتعليم الآلي. إن هذا البناء مضمون للعمل فقط مع أحدث إصدار من ملحق الإصدار الثاني من واجهة مستوى الاستدعاء للتعليم الآلي. بإمكانك العثور على مخططات إصدارات الملحق الأقدم في https://azuremlschemasprod.azureedge.net/.

بناء YAML

المفتاح النوع الوصف القيم المسموح بها القيمة الافتراضية
$schema سلسلة مخطط YAML. في حال كنت تستخدم ملحق التعلم الآلي من Microsoft Azure VS Code لتأليف ملف «YAML»، بما في ذلك $schema في الجزء العلوي من الملف، يمكنك استدعاء عمليات إكمال المخطط والمورد.
name سلسلة مطلوب اسم التوزيع.

يتم تعريف قواعد التسمية هنا.
description سلسلة وصف التوزيع.
tags كائن دليل علامات التوزيع.
endpoint_name سلسلة مطلوب اسم نقطة النهاية لإنشاء التوزيع ضمن.
model سلسلة أو عنصر النموذج الذي يجب استخدامه للتوزيع. يمكن أن تكون هذه القيمة إما مرجعًا لنموذج موجود بإصدار في مساحة العمل أو لمواصفات نموذج مدمج.

للإشارة إلى نموذج موجود، استخدم البناء azureml:<model-name>:<model-version>.

لتعريف نموذج مدمج، اتبع مخطط النموذج.

يجب عليك إنشاء النموذج بشكل منفصل والإشارة إليه هنا، كأفضل ممارسة لسيناريوهات الإنتاج.

هذا الحقل اختياري لسيناريوهات توزيع الحاوية المخصصة.
model_mount_path سلسلة مسار إدخال النموذج في حاوية مخصصة. ينطبق ذلك فقط على سيناريوهات توزيع الحاوية المخصصة. إذا تم تحديد الحقل model، يتم إدخاله في هذا المسار في الحاوية.
code_configuration كائن تكوين منطق التعليمات البرمجية لتسجيل النقاط.

هذا الحقل اختياري لسيناريوهات توزيع الحاوية المخصصة.
code_configuration.code سلسلة المسار المحلي إلى دليل التعليمات البرمجية المصدري لتسجيل النموذج.
code_configuration.scoring_script سلسلة المسار النسبي لملف التسجيل في دليل التعليمات البرمجية المصدري.
environment_variables كائن دليل أزواج قيم المفاتيح متغير البيئة لتعيينها في حاوية النشر. يمكنك الوصول إلى متغيرات البيئة من البرامج النصية للتسجيل.
environment سلسلة أو عنصر مطلوب. البيئة التي يجب استخدامها للنشر. يمكن أن تكون هذه القيمة إما مرجعًا لبيئة موجودة بإصدار في مساحة العمل أو مواصفات بيئة مدمجة.

للإشارة إلى بيئة موجودة، استخدم بناء الجملة azureml:<environment-name>:<environment-version>.

لتحديد خط البيئة، اتبع مخطط البيئة.

ينبغي، كأفضل ممارسة لسيناريوهات الإنتاج، إنشاء البيئة بشكل منفصل والإشارة إليها هنا.
instance_type سلسلة نوع المثيل المُستخدم لوضع حمل عمل الاستدلال. إذا تم حذفه، فسيتم وضع حمل عمل الاستدلال على نوع المثيل الافتراضي لمجموعة Kubernetes المحددة في compute حقل نقطة النهاية. إذا تم تحديد ذلك، فسيتم وضع حمل عمل الاستدلال على نوع المثيل المحدد هذا.

يتم تكوين مجموعة أنواع المثيلات لمجموعة Kubernetes عبر تعريف المورد المخصص لنظام مجموعة Kubernetes (CRD)، وبالتالي فهي ليست جزءا من مخطط Azure التعلم الآلي YAML لإرفاق حساب Kubernetes. لمزيد من المعلومات، راجع إنشاء أنواع مثيلات Kubernetes وتحديدها.
instance_count integer عدد المثيلات التي يجب استخدامها للتوزيع. حدد القيمة بناءً على حمل العمل الذي تتوقعه. هذا الحقل مطلوب فقط إذا كنت تستخدم نوع القياس default (scale_settings.type: default).

instance_countيمكن تحديثه بعد إنشاء التوزيع باستخدام الأمرaz ml online-deployment update.
app_insights_enabled boolean إذا ما كان سيتم تمكين التكامل مع مثيل Azure Application Insights المقترن بمساحة العمل الخاصة بك. false
scale_settings كائن إعدادات المقياس للتوزيع. نوعان من إعدادات المقياس المدعومة هما defaultنوع المقياس وtarget_utilizationنوع المقياس.

باستخدام default نوع المقياس (scale_settings.type: default)، يمكنك قياس عدد المثيلات يدويًا لأعلى ولأسفل بعد إنشاء التوزيع عن طريق تحديث instance_count الخاصية.

لتكوين target_utilization نوع المقياس (scale_settings.type: target_utilization)، راجع TargetUtilizationScaleSettings لمجموعة الخصائص القابلة للتكوين.
scale_settings.type سلسلة نوع المقيَاس. default, target_utilization target_utilization
data_collector كائن إعدادات جمع البيانات للنشر. راجع DataCollector لمجموعة الخصائص القابلة للتكوين.
request_settings كائن إعدادات طلب التسجيل للتوزيع. راجع إعدادات الطلب لمجموعة الخصائص القابلة للتكوين.
liveness_probe كائن إعدادات فحص الحياة لمراقبة صحة الحاوية بصفة منتظمة. راجع إعدادات التحقيق لمجموعة الخصائص القابلة للتكوين.
readiness_probe كائن إعدادات فحص الجاهزية للتحقق إذا ما كانت الحاوية جاهزة لاستخراج نسبة استخدام الشبكة. راجع إعدادات التحقيق لمجموعة الخصائص القابلة للتكوين.
resources كائن مُتطلبات موارد الحاوية.
resources.requests كائن طلبات الموارد من أجل الحاوية. راجع طلبات موارد الحاوية لمجموعة الخصائص القابلة للتكوين.
resources.limits كائن حدود موارد الحاوية. راجع حدود موارد الحاوية لمجموعة الخصائص القابلة للتكوين.

إعدادات الطلبات

المفتاح النوع الوصف القيمة الافتراضية
request_timeout_ms integer وقت التسجيل بالمللي ثانية. 5000
max_concurrent_requests_per_instance integer الحد الأقصى لعدد الطلبات المُتزامنة لكل مثيل مسموح به للتوزيع.

لا تقم بتغيير هذا الإعداد من القيمة الافتراضية ما لم يتم إرشاده بواسطة الدعم التقني من Microsoft أو أحد أعضاء فريق التعلم الآلي Azure.
1
max_queue_wait_ms integer الحد الأقصى لمقدار الوقت بالمللي ثانية الذي سيبقى فيه الطلب في قائمة الانتظار. 500

إعدادات الفحص

المفتاح النوع الوصف القيمة الافتراضية
period integer كم عدد (الثواني) المستغرقة لإجراء الفحص. 10
initial_delay integer عدد الثواني بعد بدء الحاوية قبل بدء الفحص. الحد الأدنى للقيمة هو 1. 10
timeout integer عدد الثواني التي ينتهي بعدها وقت الفحص. القيمة الدنيا هي.1 2
success_threshold integer يعتبر الحد الأدنى من النجاحات المتتالية للفحص ناجحًا بعد الفشل. الحد الأدنى للقيمة هو 1. 1
failure_threshold integer عندما يفشل الفحص، سيحاول النظام failure_threshold عدة مرات قبل الاستسلام. يعني الاستسلام في حالة وجود فحص للتشغيل إعادة تشغيل الحاوية. سيتم وضع علامة غير مقروء على الحاوية عند فحص الجاهزية. الحد الأدنى للقيمة هو 1. 30

TargetUtilizationScaleSettings

المفتاح النوع الوصف القيمة الافتراضية
type مؤهل const نوع المِقياس target_utilization
min_instances integer الحد الأدنى لعدد المثيلات المتعين استخدامها. 1
max_instances integer الحد الأقصى لعدد المثيلات التي يُمكن التحجيم لها. 1
target_utilization_percentage integer استخدام المعالج الهدف للتحجيم التلقائي. 70
polling_interval integer كم مرة يجب أن يحاول جهاز التحجيم التلقائي توسيع نطاق التوزيع، بالثواني. 1

ContainerResourceRequests

المفتاح النوع الوصف
cpu سلسلة عدد الذاكرات الأساسية في المعالج المطلوبة للحاوية.
memory سلسلة حَجم الذاكرة المطلوب للحاوية
nvidia.com/gpu سلسلة عدد البطاقات الخاصة بمعالج Nvidia GPU المطلوبة للحاوية

حدود موارد الحاوية

المفتاح النوع الوصف
cpu سلسلة الحد الأقصى لعدد الذاكرات الأساسية في المعالج للحاوية.
memory سلسلة الحد الأقصى لحجم ذاكرة الحاوية.
nvidia.com/gpu سلسلة عدد البطاقات الخاصة بمعالج Nvidia GPU للحاوية

DataCollector

المفتاح النوع الوصف القيمة الافتراضية
sampling_rate عائم النسبة المئوية، الممثلة كمعدل عشري، للبيانات المراد جمعها. على سبيل المثال، تمثل القيمة 1.0 جمع 100٪ من البيانات. 1.0
rolling_rate سلسلة معدل تقسيم البيانات في التخزين. يمكن أن تكون القيمة: دقيقة، ساعة، يوم، شهر، سنة. Hour
collections كائن مجموعة من الإعدادات الفردية collection_nameوالإعدادات الخاصة بها لهذا النشر.
collections.<collection_name> كائن التجميع المنطقي لبيانات استدلال الإنتاج لتجميعها (مثال: model_inputs). هناك اسمان محجوزان: request و response، والتي تتوافق على التوالي مع طلب HTTP وجمع بيانات البيانات الأساسية للاستجابة. جميع الأسماء الأخرى عشوائية وقابلة للتعريف من قبل المستخدم.

ملاحظة: يجب أن يتوافق كل collection_name منها مع اسم Collector الكائن المستخدم في النشر score.py لجمع بيانات استدلال الإنتاج. لمزيد من المعلومات حول جمع البيانات الأساسية وجمع البيانات باستخدام Python SDK المتوفرة، راجع تجميع البيانات من النماذج في الإنتاج.
collections.<collection_name>.enabled boolean ما إذا كان يجب تمكين جمع البيانات للمحدد collection_name. 'False''
collections.<collection_name>.data.name سلسلة اسم أصل البيانات للتسجيل مع البيانات التي تم جمعها. <endpoint>-<deployment>-<collection_name>
collections.<collection_name>.data.path سلسلة مسار مخزن بيانات Azure التعلم الآلي الكامل حيث يجب تسجيل البيانات المجمعة كأصل بيانات. azureml://datastores/workspaceblobstore/paths/modelDataCollector/<endpoint_name>/<deployment_name>/<collection_name>
collections.<collection_name>.data.version integer إصدار أصل البيانات الذي سيتم تسجيله مع البيانات التي تم جمعها في تخزين Blob. 1

ملاحظات

يمكن az ml online-deployment استخدام الأوامر لإدارة عمليات توزيع Kubernetes عبر الإنترنت للتعلم الآلي من Microsoft Azure.

أمثلة

الأمثلة متوفرة في مستودع أمثلة GitHub.

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