مكنت واجهة مستوى الاستدعاء (الإصدار 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.