استخدام الأجهزة الظاهرية ذات الأولوية المنخفضة في عمليات توزيع الدفعات

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

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

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

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

كيفية عمل توزيع الدفعات مع الأجهزة الظاهرية ذات الأولوية المنخفضة

توفر عمليات توزيع دفعة التعلم الآلي من Microsoft Azure العديد من الإمكانات التي تجعل من السهل استهلاك الأجهزة الظاهرية ذات الأولوية المنخفضة والاستفادة منها:

  • تستهلك مهام توزيع الدفعات أجهزة ظاهرية منخفضة الأولوية عن طريق التشغيل على مجموعات حساب التعلم الآلي من Microsoft Azure التي تم إنشاؤها باستخدام أجهزة ظاهرية ذات أولوية منخفضة. بمجرد إقران التوزيع بنظام مجموعة الأجهزة الظاهرية ذات الأولوية المنخفضة، ستستخدم جميع الوظائف التي ينتجها هذا التوزيع أجهزة ظاهرية ذات أولوية منخفضة. التكوين لكل وظيفة غير ممكن.
  • تسعى مهام توزيع الدفعات تلقائيا إلى العدد المستهدف من الأجهزة الظاهرية في مجموعة الحوسبة المتوفرة استنادا إلى عدد المهام التي يجب إرسالها. إذا كانت الأجهزة الظاهرية استباقية أو غير متوفرة، تحاول مهام توزيع الدفعات استبدال السعة المفقودة عن طريق وضع المهام الفاشلة في قائمة الانتظار إلى نظام المجموعة.
  • تحتوي الأجهزة الظاهرية ذات الأولوية المنخفضة على حصة منفصلة لوحدة المعالجة المركزية الظاهرية تختلف عن الحصة المخصصة للأجهزة الظاهرية المخصصة. النوى الأساسية المخصصة لكل منطقة لها حد افتراضي من 100 إلى 3,000، اعتمادا على نوع عرض اشتراكك. يمكن زيادة عدد النوى الأساسية ذات الأولوية المنخفضة لكل اشتراك وهي قيمة واحدة عبر عائلات الأجهزة الظاهرية. راجع حصص حساب التعلم الآلي من Microsoft Azure.

الاعتبارات وحالات الاستخدام

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

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

إنشاء عمليات توزيع دفعية مع أجهزة ظاهرية ذات أولوية منخفضة

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

ملاحظة

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

يمكنك إنشاء مجموعة حساب التعلم الآلي من Microsoft Azure ذات الأولوية المنخفضة كما يلي:

إنشاء تعريف YAML حساب مثل التعريف التالي:

low-pri-cluster.yml

$schema: https://azuremlschemas.azureedge.net/latest/amlCompute.schema.json 
name: low-pri-cluster
type: amlcompute
size: STANDARD_DS3_v2
min_instances: 0
max_instances: 2
idle_time_before_scale_down: 120
tier: low_priority

إنشاء الحساب باستخدام الأمر التالي:

az ml compute create -f low-pri-cluster.yml

بمجرد إنشاء الحساب الجديد، يمكنك إنشاء التوزيع أو تحديثه لاستخدام نظام المجموعة الجديد:

لإنشاء توزيع أو تحديثه ضمن مجموعة الحوسبة الجديدة، قم بإنشاء YAML تكوين كما يلي:

$schema: https://azuremlschemas.azureedge.net/latest/batchDeployment.schema.json
endpoint_name: heart-classifier-batch
name: classifier-xgboost
description: A heart condition classifier based on XGBoost
type: model
model: azureml:heart-classifier@latest
compute: azureml:low-pri-cluster
resources:
  instance_count: 2
settings:
  max_concurrency_per_instance: 2
  mini_batch_size: 2
  output_action: append_row
  output_file_name: predictions.csv
  retry_settings:
    max_retries: 3
    timeout: 300

ثم قم بإنشاء التوزيع باستخدام الأمر التالي:

az ml batch-endpoint create -f endpoint.yml

عرض ومراقبة إلغاء تخصيص العقدة

تتوفر مقاييس جديدة في مدخل Microsoft Azure للأجهزة الظاهرية ذات الأولوية المنخفضة لمراقبة الأجهزة الظاهرية ذات الأولوية المنخفضة. هذه المقاييس هي:

  • العقد المستبعدة
  • الذاكرات الأساسية التي تم استباقها

لعرض هذه المقاييس في مدخل Microsoft Azure

  1. انتقل إلى مساحة عمل التعلم الآلي من Microsoft Azure في مدخل Microsoft Azure.
  2. حدد Metrics من قسم Monitoring.
  3. حدد المقاييس التي تريدها من قائمة Metric.

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

التقييدات

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

تحذير

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