كيفية عمل التعلم الآلي من Azure: الهيكل والمفاهيم (v1)

ينطبق على:ملحق Azure CLI ml v1Python SDK azureml v1

تنطبق هذه المقالة على الإصدار الأول (v1) من & SDK واجهة سطر أوامر التعلم الآلي من Azure. للحصول على الإصدار الثاني (v2)، راجع كيفية عمل التعلم الآلي من Azure (v2).

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

مساحة العمل

مساحة عمل التعلم الآلي هي مورد المستوى الأعلى للتعلم الآلي من Azure.

رسم تخطيطي: بنية التعلم الآلي من Microsoft Azure لمساحة العمل ومكوناتها

مساحة العمل هي المكان المركزي لـ:

تتضمن مساحة العمل موارد Azure الأخرى التي تستخدمها مساحة العمل:

  • Azure Container Registry (ACR): يسجل حاويات Docker التي تستخدمها أثناء التدريب وعند توزيع نموذج. لتقليل التكاليف، يتم إنشاء ACR فقط عند إنشاء صور التوزيع.
  • حساب تخزين Azure: يُستخدم كمخزن بيانات افتراضي لمساحة العمل. تُخزن دفاتر Jupyter Notebooks المُستخدمة مع مثيلات حساب التعلم الآلي من Azure هنا أيضاً.
  • Azure Application Insights: يُخزن معلومات المراقبة حول نماذجك.
  • Azure Key Vault: يُخزن البيانات السرية التي تستخدمها أهداف الحسابات والمعلومات الحساسة الأخرى التي تحتاجها مساحة العمل.

يمكنك مشاركة مساحة عمل مع الآخرين.

الحسابات

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

يقدم التعلم الآلي من Azure جهازين ظاهريين مُدارين بالكامل مستندين إلى السحابة (VM) تم تكوينهما لمهام التعلم الآلي:

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

  • نظام مجموعات الحساب: نظام مجموعات الحساب هو نظام مجموعة من الأجهزة الظاهرية ذات إمكانيات تحجيم متعددة العقد. نظام مجموعات الحساب هو الأنسب للحسابات الهدف للوظائف الكبيرة والإنتاج. يتغير حجم نطاق نظام المجموعة تلقائياً عند إرسال مهمة. استخدمه كهدف حساب للتدريب أو لنشر الاختبار/التطوير.

لمزيد من المعلومات حول أهداف حساب التدريب، راجع أهداف حساب التدريب. لمزيد من المعلومات حول أهداف حساب التوزيع، راجع أهداف التوزيع.

مجموعات البيانات ومخازن البيانات

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

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

تستخدم مجموعات البيانات مخزن البيانات للاتصال بأمان بخدمات تخزين Azure. تخزن مخازن البيانات معلومات الاتصال دون تعريض بيانات اعتماد المصادقة وتكامل مصدر البيانات الأصلي للخطر. يقومون بتخزين معلومات الاتصال، مثل معرّف الاشتراك وتخويل الرمز المميز في Key Vault المقترن بمساحة العمل، حتى تتمكن من الوصول بأمان إلى التخزين دون الحاجة إلى تعليمة برمجية مُضمنة في البرامج النصية.

البيئات

مساحة عمل>البيئات

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

للحصول على عينة التعليمة البرمجية، راجع قسم "إدارة البيئات" في كيفية استخدام البيئات.

التجارب

مساحة عمل>التجارب

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

للحصول على مثال لاستخدام تجربة، راجع البرنامج التعليمي: تدريب النموذج الأول.

عمليات التشغيل

مساحة عمل>التجارب>تشغيل

التشغيل هو تنفيذ برنامج نصي للتدريب. عادة ما تحتوي التجربة على عمليات تشغيل متعددة.

يسجل التعلم الآلي من Azure جميع عمليات التشغيل ويُخزن المعلومات التالية في التجربة:

  • بيانات التعريف حول التشغيل (الطابع الزمني والمدة وما إلى ذلك)
  • القياسات التي سُجلت بواسطة البرنامج النصي
  • ملفات الإخراج التي تُحدد تلقائياً بواسطة التجربة أو التي حمّلتها بشكل صريح
  • لقطة من الدليل الذي يحتوي على البرامج النصية، قبل التشغيل

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

تشغيل التكوينات

مساحة عمل>التجارب>تشغيل>تشغيل التكوين

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

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

على سبيل المثال، لتكوينات التشغيل، راجع تكوين تشغيل تدريب.

لقطات

مساحة عمل>التجارب>تشغيل>لقطة

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

تسجيل الدخول

يُسجل التعلم الآلي من Azure تلقائياً قياسات التشغيل القياسية لك. ومع ذلك، يمكنك أيضاً استخدام Python SDK لتسجيل القياسات التحكّمية.

هناك طرق متعددة لعرض سجلاتك: مراقبة حالة التشغيل في الوقت الحقيقي، أو عرض النتائج بعد الانتهاء. لمزيد من المعلومات، راجع مراقبة سجلات تشغيل التعلم الآلي وعرضها.

ملاحظة

لمنع تضمين الملفات غير الضرورية في اللقطة، أنشئ ملف تجاهل (.gitignore أو .amlignore) في الدليل. أضف الملفات والدلائل لاستبعادها إلى هذا الملف. لمزيد من المعلومات حول بناء الجملة لاستخدامه داخل هذا الملف، راجع بناء الجملة والأنماط لـ .gitignore. يستخدم الملف .amlignore نفس بناء الجملة. إذا كان الملفان موجودين، فيُستخدم الملف .amlignore، والملف .gitignore غير مستخدم.

تعقب وتكامل Git

عند بدء تشغيل تدريب حيث يكون الدليل المصدر هو مستودع Git محلي، تُخزن معلومات عن المستودع في محفوظات التشغيل. يعمل هذا مع عمليات التشغيل المرسلة باستخدام تكوين تشغيل البرنامج النصي أو مسار التعلم الآلي. كما أنه يعمل مع عمليات التشغيل المرسلة من SDK أو واجهة سطر أوامر التعلم الآلي من Azure.

لمزيد من المعلومات، راجع تكامل Git للتعلم الآلي من Azure.

سير عمل التدريب

عند تشغيل تجربة لتدريب نموذج، تحدُث الخطوات التالية. ويتضح ذلك في الرسم التخطيطي لسير عمل التدريب أدناه:

  • يُستدعى التعلم الآلي من Azure مع معرّف اللقطة للقطة التعليمة البرمجية المحفوظة في القسم السابق.

  • يُنشئ التعلم الآلي من Azure معرّف تشغيل (اختياري) ورمز مميز لخدمة التعلم الآلي، والذي يُستخدم لاحقاً بواسطة أهداف الحساب مثل حساب التعلم الآلي /الأجهزة الظاهرية للاتصال بخدمة التعلم الآلي من Azure.

  • يمكنك اختيار إما هدف حساب مُدار (مثل حساب التعلم الآلي) أو هدف حساب غير مُدار (مثل الأجهزة الظاهرية) لتشغيل مهام التدريب. فيما يلي تدفق البيانات لكلا السيناريوهين:

    • الأجهزة الظاهرية / HDInsight، التي تصل إليها بيانات اعتماد SSH في مخزن المفاتيح في اشتراك. يُشغّل التعلم الآلي من Azure التعليمة البرمجية للإدارة على هدف الحساب الذي:
    1. يُعد البيئة. (Docker هو خيار للأجهزة الظاهرية وأجهزة الكمبيوتر المحلية. راجع الخطوات التالية لحساب التعلم الآلي لفهم كيفية عمل التجاربقيد التشغيلعلى حاويات Docker.)
    2. ينزّل التعليمة البرمجية.
    3. يُعد متغيرات البيئة والتكوينات.
    4. يشغّل البرامج النصية للمستخدم (لقطة التعليمة البرمجية المذكورة في القسم السابق).
    • الوصول إلى حساب التعلم الآلي من خلال الهوية المُدارة بواسطة مساحة العمل. نظراً لأن حساب التعلم الآلي هو هدف حساب مُدار (أي يُدار بواسطة Microsoft) فإنه يعمل ضمن اشتراك Microsoft الخاص بك.
    1. بدء مهمة إنشاء Docker بعيد، إذا لزم الأمر.
    2. تُكتب التعليمة البرمجية للإدارة إلى مشاركة ملفات Azure الخاصة بالمستخدم.
    3. تبدأ الحاوية بأمر أولي. هذه هي التعليمة البرمجية للإدارة كما هو موضح في الخطوة السابقة.
  • بعد اكتمال التشغيل، يمكنك الاستعلام عن عمليات التشغيل والقياسات. في الرسم التخطيطي للتدفق أدناه، تحدث هذه الخطوة عندما يكتب هدف حساب التدريب مقاييس التشغيل مرة أخرى إلى التعلم الآلي من Azure من التخزين في قاعدة بيانات Azure Cosmos DB. يمكن للعملاء الاتصال بالتعلم الآلي من Azure. سيقوم التعلم الآلي بدوره بسحب المقاييس من قاعدة بيانات Azure Cosmos DB وإعادتها مرة أخرى إلى العميل.

Training workflow

نماذج

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

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

التعلم الآلي من Azure هو إطار عمل غير محدد. عند إنشاء نموذج، يمكنك استخدام أي إطار عمل شائع للتعلم الآلي، مثل Scikit-learn وXGBoost وPyTorch وTensorFlow وChainer.

للحصول على مثال لتدريب نموذج باستخدام Scikit-learn، راجع البرنامج التعليمي: تدريب نموذج تصنيف الصور باستخدام التعلم الآلي من Azure.

سجل النموذج

مساحة عمل>نماذج

يتيح لك سجل النموذج تعقب جميع النماذج في مساحة عمل التعلم الآلي من Azure.

تُعرّف النماذج حسب الاسم والإصدار. في كل مرة تُسجل نموذجاً بنفس اسم نموذج موجود، يفترض السجل أنه إصدار جديد. يزداد الإصدار، ويُسجل النموذج الجديد تحت نفس الاسم.

عند تسجيل النموذج، يمكنك توفير علامات بيانات تعريف إضافية ثم استخدام العلامات عند البحث عن النماذج.

تلميح

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

لا يمكنك حذف نموذج مسجل استخدمته عملية توزيع نشطة.

للحصول على مثال لتسجيل نموذج، راجع تدريب نموذج تصنيف الصور باستخدام التعلم الآلي من Azure.

توزيع

يمكنك نشر نموذج مسجل كنقطة نهاية خدمة. تحتاج إلى المكونات التالية:

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

لمزيد من المعلومات حول هذه المكونات، راجع توزيع النماذج باستخدام التعلم الآلي من Azure.

نقاط النهاية

مساحة عمل>نقاط النهاية

نقطة النهاية هي إنشاء مثيل للنموذج في خدمة ويب يمكن استضافتها في السحابة.

نقطة نهاية خدمة ويب

عند توزيع نموذج كخدمة ويب، يمكن توزيع نقطة النهاية على Azure Container Instances أو Azure Kubernetes Service أو FPGAs. يمكنك إنشاء الخدمة من النموذج والبرنامج النصي والملفات المقترنة. تُوضع في صورة حاوية أساسية، والتي تحتوي على بيئة التنفيذ للنموذج. تحتوي الصورة على نقطة نهاية HTTP متوازنة التحميل تتلقى طلبات تسجيل النقاط التي تُرسل إلى خدمة الويب.

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

يوضح الرسم التخطيطي التالي سير عمل الاستدلال لنموذج مُوزع كنقطة نهاية خدمة ويب:

وفيما يلي التفاصيل:

  • يسجل المستخدم نموذجاً باستخدام عميل مثل SDK أو التعلم الآلي من Azure.
  • ينشئ المستخدم صورة باستخدام نموذج وملف نقاط وتبعيات نموذج أخرى.
  • إنشاء صورة Docker وتُخزن في Azure Container Registry.
  • تُوزع خدمة الويب إلى هدف الحساب (مثيلات الحاوية / AKS) باستخدام الصورة المُنشأة في الخطوة السابقة.
  • تُخزن تفاصيل طلب التسجيل في Application Insights، وهو في اشتراك المستخدم.
  • يتم أيضاً دفع بيانات تتبع الاستخدام إلى اشتراك Azure.

سير عمل الاستدلال

للحصول على مثال لتوزيع نموذج كخدمة ويب، راجع البرنامج التعليمي: تدريب نموذج وتوزيعه.

نقاط النهاية في الوقت الحقيقي

عند توزيع نموذج مُدرّب في المصمم، يمكنك توزيع النموذج كنقطة نهاية في الوقت الحقيقي. عادة تتلقى نقطة النهاية في الوقت الحقيقي طلباً واحداً عبر نقطة نهاية REST وتُعيد توقعاً في الوقت الحقيقي. هذا على عكس معالجة دفعة من الملفات، التي تعالج قيماً متعددة في وقت واحد وتحفظ النتائج بعد الانتهاء إلى مخزن البيانات.

نقاط نهاية Pipeline

تتيح لك نقاط نهاية المسار استدعاء مسارات التعلم الآلي الخاصة بك برمجياً عبر نقطة نهاية REST. تتيح لك نقاط نهاية المسار تشغيل مهام سير عمل المسار تلقائياً.

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

Automation

واجهة سطر أوامر التعلم الآلي من Azure

يعد Azure Machine Learning CLI v1 ملحقا ل Azure CLI، وهي واجهة سطر أوامر عبر النظام الأساسي للنظام الأساسي Azure. يوفر هذا الملحق أوامر للتشغيل التلقائي لأنشطة التعلم الآلي.

مسارات التعلم الآلي

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

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

المراقبة والتسجيل

يوفر التعلم الآلي من Azure إمكانيات المراقبة والتسجيل التالية:

التفاعل مع مساحة العمل

استوديو

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

الأستوديو هو أيضاً المكان الذي يمكنك فيه الوصول إلى الأدوات التفاعلية التي تعد جزءاً من التعلم الآلي من Azure:

أدوات البرمجة

هام

الأدوات التي وُضعَ عليها علامة (إصدار أولي) أدناه موجودة حالياً في الإصدار الأولي العام. تتوفر نسخة الإصدار الأولي دون اتفاقية مستوى الخدمة، ولا يوصى بها لأحمال عمل الإنتاج. بعض الميزات ربما لا تكون مدعمة أو بها بعض القدرات المقيدة لمزيد من المعلومات، راجع ⁧⁩شروط الاستخدام التكميلية لمعاينات Microsoft Azure⁧⁩.

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

لبدء استخدام التعلم الآلي من Azure، راجع: