تشغيل أحمال عمل Azure Machine Learning باستخدام التعلم الآلي على Apache Spark في HDInsight

يعمل Azure Machine Learning على تبسيط وتسريع بناء نماذج التعلم الآلي والتدريب عليها توزيعها. في التعلم الآلي التلقائي (AutoML)، تبدأ ببيانات التدريب التي تحتوي على ميزة هدف محددة. التكرار من خلال مجموعات من الخوارزميات وتحديدات الميزات حدد تلقائيا أفضل نموذج لبياناتك استنادا إلى درجات التدريب. يسمح HDInsight للعملاء بتوفير مجموعات بمئات العقد. يسمح AutoML الذي يعمل على Spark في مجموعة HDInsight للمستخدمين باستخدام سعة الحوسبة عبر هذه العقد لتشغيل مهام التدريب بطريقة توسيع النطاق، وتشغيل مهام تدريب متعددة بالتوازي. يسمح للمستخدمين بتشغيل تجارب AutoML أثناء مشاركة الحساب مع أحمال عمل البيانات الضخمة الأخرى الخاصة بهم.

تثبيت Azure التعلم الآلي على مجموعة HDInsight

للحصول على البرامج التعليمية العامة للتعلم الآلي راجع البرنامج التعليمي: استخدام التعلم الآلي لبناء نموذج التراجع الخاص بك. تأتي جميع مجموعات HDInsight-Spark الجديدة مثبتة مسبقا مع AzureML-AutoML SDK.

إشعار

حزم Azure Machine Learning مثبتة في بيئة Python3 conda. يجب تشغيل Jupyter Notebook المثبت باستخدام نواة PySpark3.

يمكنك استخدام دفاتر Zeppelin لاستخدام AutoML أيضاً.

المصادقة لمساحة العمل

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

ينشئ مقتطف التعليمات البرمجية التالي رمزا مميزا للمصادقة باستخدام تطبيق Microsoft Entra.

from azureml.core.authentication import ServicePrincipalAuthentication
auth_sp = ServicePrincipalAuthentication(
    tenant_id='<Azure Tenant ID>',
    service_principal_id='<Azure AD Application ID>',
    service_principal_password='<Azure AD Application Key>'
)

تنشئ القصاصة البرمجية التالية رمزا مميزا للمصادقة باستخدام مستخدم Microsoft Entra.

from azure.common.credentials import UserPassCredentials
credentials = UserPassCredentials('user@domain.com', 'my_smart_password')

تحميل مجموعة البيانات

يستخدم التعلم الآلي على Spark تدفقات البيانات، والتي يتم تقييمها ببطء، وعمليات ثابتة على البيانات. يمكن لـ Dataflow تحميل مجموعة بيانات من blob مع وصول عام للقراءة، أو من عنوان URL للكائن الثنائي كبير الحجم مع رمز SAS المميز.

import azureml.dataprep as dprep

dataflow_public = dprep.read_csv(
    path='https://commonartifacts.blob.core.windows.net/automl/UCI_Adult_train.csv')

dataflow_with_token = dprep.read_csv(
    path='https://dpreptestfiles.blob.core.windows.net/testfiles/read_csv_duplicate_headers.csv?st=2018-06-15T23%3A01%3A42Z&se=2019-06-16T23%3A01%3A00Z&sp=r&sv=2017-04-17&sr=b&sig=ugQQCmeC2eBamm6ynM7wnI%2BI3TTDTM6z9RPKj4a%2FU6g%3D')

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

إرسال التجربة

في تكوين التعلم الآلي، يجب تعيين الخاصية spark_context لتشغيل الحزمة في الوضع الموزع. يجب تعيين الخاصية concurrent_iterations، وهي الحد الأقصى لعدد التكرارات التي يتم تنفيذها بالتوازي، على عدد أقل من نوى المنفذ لتطبيق Spark.

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