إنشاء نظام مجموعة لحساب التعلم الآلي من Microsoft Azure

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

تشرح هذه المقالة كيفية إنشاء مجموعة حساب وإدارتها في مساحة عمل Azure التعلم الآلي.

يمكنك استخدام نظام مجموعة حساب التعلم الآلي من Microsoft Azure لتوزيع عملية تدريب أو استدلال دُفعة عبر نظام مجموعة من عُقد حساب CPU أو GPU في السحابة. لمزيد من المعلومات حول أحجام الأجهزة الظاهرية التي تتضمن وحدات GPU، راجع أحجام الأجهزة الظاهرية المحسنة لـ GPU.

تعلم كيف:

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

إشعار

بدلا من إنشاء مجموعة حساب، استخدم الحوسبة بلا خادم لإلغاء تحميل إدارة دورة حياة الحساب إلى Azure التعلم الآلي.

المتطلبات الأساسية

  • مساحة عمل للتعلم الآلي من Microsoft Azure. لمزيد من المعلومات، راجع إدارة مساحات عمل Azure التعلم الآلي.

حدد علامة التبويب المناسبة لبقية المتطلبات الأساسية استنادا إلى الأسلوب المفضل لديك لإنشاء نظام مجموعة الحوسبة.

  • إذا كنت لا تقوم بتشغيل التعليمات البرمجية الخاصة بك على مثيل حساب، فقم بتثبيت Azure التعلم الآلي Python SDK. تم تثبيت SDK بالفعل لك على مثيل حساب.

  • إرفاق بمساحة العمل في البرنامج النصي Python الخاص بك:

    قم بتشغيل هذه التعليمة البرمجية للاتصال بمساحة عمل Azure التعلم الآلي.

    استبدل معرف الاشتراك واسم مجموعة الموارد واسم مساحة العمل في التعليمات البرمجية التالية. للعثور على هذه القيم:

    1. سجل الدخول إلى Azure Machine Learning Studio.
    2. افتح مساحة العمل التي ترغب في استخدامها.
    3. حدد اسم مساحة العمل في شريط أدوات Azure التعلم الآلي studio العلوي الأيسر.
    4. انسخ قيمة مساحة العمل ومجموعة الموارد ومعرف الاشتراك في التعليمات البرمجية.
    5. انسخ قيمة واحدة، وأغلق المنطقة والصقها، ثم عد إلى القيمة التالية عند اللصق في دفتر ملاحظات داخل الاستوديو.

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

    # Enter details of your AML workspace
    subscription_id = "<SUBSCRIPTION_ID>"
    resource_group = "<RESOURCE_GROUP>"
    workspace = "<AML_WORKSPACE_NAME>"
    # get a handle to the workspace
    from azure.ai.ml import MLClient
    from azure.identity import DefaultAzureCredential
    
    ml_client = MLClient(
        DefaultAzureCredential(), subscription_id, resource_group, workspace
    )

    ml_client هو معالج لمساحة العمل التي تستخدمها لإدارة الموارد والوظائف الأخرى.

ما هو نظام مجموعة الحساب؟

نظام مجموعة حساب التعلم الآلي من Microsoft Azure هو بنية أساسية مدارة للحساب تسمح لك بإنشاء حساب واحد أو متعدد العُقد بسهولة. نظام مجموعة الحساب هو مورد يمكن مشاركته مع مستخدمين آخرين في مساحة عملك. يتم توسيع نطاق الحساب تلقائياً عند إرسال مهمة، ويمكن وضعها في شبكة Azure الظاهرية. لا يدعم نظام مجموعة الحوسبة أي نشر IP عام أيضا في الشبكة الظاهرية. يُنفذ الحساب في بيئة حاوية ويجمع تبعيات نموذجك في حاوية Docker.

يمكن لمجموعة الحوسبة تشغيل المهام بأمان إما في شبكة ظاهرية مدارة أو شبكة Azure ظاهرية، دون مطالبة المؤسسات بفتح منافذ SSH. تنفذ المهمة في بيئة حاويات وتعبأ تبعيات النموذج الخاص بك في حاوية Docker.

القيود

  • يمكن إنشاء مجموعات الحساب في منطقة مختلفة عن مساحة عملك. تتوفر هذه الوظيفة فقط لمجموعات الحوسبة، وليس مثيلات الحوسبة.

    تحذير

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

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

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

إنشاء

تقدير الوقت: حوالي خمس دقائق.

إشعار

إذا كنت تستخدم حساب بلا خادم، فلن تحتاج إلى إنشاء نظام مجموعة حساب.

يمكن إعادة استخدام حساب التعلم الآلي من Microsoft Azure عبر عمليات التشغيل. يمكن مشاركة الحساب مع مستخدمين آخرين في مساحة العمل ويتم الاحتفاظ به بين عمليات التشغيل، وتحجيم العقد تلقائيا لأعلى أو لأسفل استنادا إلى عدد عمليات التشغيل المرسلة، والمجموعة max_nodes على نظام المجموعة الخاص بك. min_nodes يتحكم الإعداد في الحد الأدنى من العقد المتوفرة.

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

هام

لتجنب الرسوم عند عدم تشغيل أي مهام، قم بتعيين الحد الأدنى للعقد إلى 0. يسمح هذا الإعداد للتعلم الآلي من Microsoft Azure بإلغاء تخصيص العقد عندما لا تكون قيد الاستخدام. أي قيمة أكبر من 0 ستبقي هذا العدد من العُقد قيد التشغيل، حتى لو لم تكن قيد الاستخدام.

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

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

لإنشاء مورد حساب azure التعلم الآلي ثابت في Python، حدد الخاصيتين size وmax_instances. ثم يستخدم التعلم الآلي من Microsoft Azure الإعدادات الافتراضية الذكية للخصائص الأخرى.

  • size: عائلة الجهاز الظاهري للعقد التي تم إنشاؤها بواسطة Azure التعلم الآلي Compute.
  • max_instances: الحد الأقصى لعدد العقد التي يجب التحجيم التلقائي لها عند تشغيل مهمة على حساب Azure التعلم الآلي.

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

from azure.ai.ml.entities import AmlCompute

cluster_basic = AmlCompute(
    name="basic-example",
    type="amlcompute",
    size="STANDARD_DS3_v2",
    location="westus",
    min_instances=0,
    max_instances=2,
    idle_time_before_scale_down=120,
)
ml_client.begin_create_or_update(cluster_basic).result()

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

تحذير

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

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

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

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

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

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

from azure.ai.ml.entities import AmlCompute

cluster_low_pri = AmlCompute(
    name="low-pri-example",
    size="STANDARD_DS3_v2",
    min_instances=0,
    max_instances=2,
    idle_time_before_scale_down=120,
    tier="low_priority",
)
ml_client.begin_create_or_update(cluster_low_pri).result()

حذف

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

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

يؤدي هذا إلى حذف مجموعة الحوسبة الأساسية، التي تم إنشاؤها create_basic من الكائن سابقا في هذه المقالة.

from azure.ai.ml.entities import AmlCompute

ml_client.compute.begin_delete(cluster_basic.name).wait()

إعداد الهويات المُدارة

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

استكشاف الأخطاء وإصلاحها

هناك فرصة أن بعض المستخدمين الذين أنشؤون مساحة عمل Azure Machine Learning الخاصة بهم من مدخل Azure قبل إصدار التوفر العام قد لا يتمكنوا من إنشاء AmlCompute في مساحة العمل هذه. يمكنك إما تقديم طلب دعم مقابل الخدمة أو إنشاء مساحة عمل جديدة من خلال المدخل أو SDK لإلغاء حظر نفسك على الفور.

هام

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

ستتوقف هذه السلسلة في 31 أغسطس 2023:

ستتوقف هذه السلسلة في 31 أغسطس 2024:

عالق عند تغيير الحجم

إذا ظهر نظام مجموعة حساب Azure التعلم الآلي عالقا عند تغيير الحجم (0 -> 0) لحالة العقدة، فقد يكون تأمين موارد Azure هو السبب.

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

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

هام

لا تطبق التأمين على الموارد التالية:

اسم المورد نوع المورد
<GUID>-azurebatch-cloudservicenetworksecurityggroup مجموعة أمان الشبكة
<GUID>-azurebatch-cloudservicepublicip عنوان IP العام
<GUID>-azurebatch-cloudserviceloadbalancer موازن التحميل

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

للتعرف على تأمين الموارد، راجع تأمين الموارد لمنع التغييرات غير المتوقعة.

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

استخدم نظام مجموعة الحساب من أجل: