تحديث نماذج Machine Learning Studio (الكلاسيكي) باستخدام نشاط Update Resource

ينطبق على:Azure Data Factory Azure Synapse Analytics

تلميح

جرب Data Factory في Microsoft Fabric، وهو حل تحليلي متكامل للمؤسسات. يغطي Microsoft Fabric كل شيء بدءا من حركة البيانات إلى علم البيانات والتحليلات في الوقت الحقيقي والمعلومات المهنية وإعداد التقارير. تعرف على كيفية بدء إصدار تجريبي جديد مجانا!

هام

سينتهي دعم Azure التعلم الآلي Studio (الكلاسيكي) في 31 أغسطس 2024. نوصي بالانتقال إلى Azure التعلم الآلي بحلول ذلك التاريخ.

اعتبارا من 1 ديسمبر 2021، لا يمكنك إنشاء موارد جديدة التعلم الآلي Studio (كلاسيكي) (مساحة العمل وخطة خدمة الويب). حتى 31 أغسطس 2024، يمكنك الاستمرار في استخدام تجارب التعلم الآلي Studio (الكلاسيكية) وخدمات الويب الحالية. لمزيد من المعلومات، راجع:

يتم إيقاف وثائق التعلم الآلي Studio (الكلاسيكي) وقد لا يتم تحديثها في المستقبل.

إشعار

نظراً لأنه لم يعد من الممكن إنشاء موارد Machine Learning Studio (الكلاسيكي) بعد 1 ديسمبر 2021، فإننا نشجع المستخدمين على استخدام التعلم الآلي من Azure مع نشاط خط تنفيذ التعلم الآلي بدلاً من الاستخدام قم بتحديث نشاط المورد لتحديث نماذج Machine Learning Studio (الكلاسيكية).

هذه المقالة مُكمّلة للمقالة الرئيسية تكامل Machine Learning Studio (الكلاسيكي): إنشاء مسارات تنبؤية باستخدام Machine Learning Studio (الكلاسيكي). إذا لم تكن قد فعلت ذلك بالفعل، فراجع المقالة الرئيسية قبل قراءة هذه المقالة.

نظرة عامة

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

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

قد تحدث إعادة التدريب بشكل متكرر. مع نشاط تنفيذ الدُفعة ونشاط تحديث الموارد، يمكنك تشغيل نموذج Machine Learning Studio (الكلاسيكي) لإعادة التدريب وتحديث خدمة الويب التنبؤية.

تصور الصورة التالية العلاقة بين التدريب وخدمات الويب التنبؤية.

Web services

نشاط مورد التحديث لـ Machine Learning Studio (كلاسيكي)

تُعرّف القصاصة البرمجية JSON التالية نشاط تنفيذ دُفعة Machine Learning Studio (كلاسيكي).

{
    "name": "amlUpdateResource",
    "type": "AzureMLUpdateResource",
    "description": "description",
    "linkedServiceName": {
        "type": "LinkedServiceReference",
        "referenceName": "updatableScoringEndpoint2"
    },
    "typeProperties": {
        "trainedModelName": "ModelName",
        "trainedModelLinkedServiceName": {
                    "type": "LinkedServiceReference",
                    "referenceName": "StorageLinkedService"
                },
        "trainedModelFilePath": "ilearner file path"
    }
}
الخاصية الوصف مطلوب
الاسم اسم النشاط في المسار ‏‏نعم‬
الوصف نص يصف ما يفعله النشاط. لا
النوع بالنسبة لنشاط Machine Learning Studio Update Resource (الكلاسيكي)، يكون نوع النشاط هو AzureMLUpdateResource. ‏‏نعم‬
linkedServiceName تحتوي الخدمة المرتبطة بـ Machine Learning Studio (الكلاسيكي) على خاصية updateResourceEndpoint. ‏‏نعم‬
trainedModelName سيُحدّث اسم الوحدة النمطية للنموذج المدرب في تجربة خدمة ويب ‏‏نعم‬
trainedModelLinkedServiceName اسم الخدمة المرتبطة بتخزين Azure التي تحمل ملف ilearner الذي حملّته عملية التحديث ‏‏نعم‬
trainedModelFilePath مسار الملف النسبي في trainedModelLinkedService لتمثيل ملف ilearner المُحمّل بواسطة عملية التحديث ‏‏نعم‬

سير العمل من البداية إلى النهاية

تتضمن العملية الكاملة لتشغيل إعادة تدريب نموذج وتحديث خدمات الويب التنبؤية الخطوات التالية:

  • استدعاء تدريب خدمة ويب باستخدام نشاط تنفيذ الدُفعة. استدعاء خدمة ويب التدريب هو نفس استدعاء خدمة ويب التنبؤية الموضحة في إنشاء مسارات تنبؤية باستخدام Machine Learning Studio (الكلاسيكي) ونشاط تنفيذ الدُفعة. إخراج تدريب خدمة الويب هو ملف iLearner الذي يمكنك استخدامه لتحديث خدمة الويب التنبؤية.
  • استدعاء نقطة نهاية مورد تحديثخدمة ويب التنبؤية باستخدام نشاط تحديث الموارد لتحديث خدمة الويب مع النموذج المُدرّب حديثاً.

خدمة مرتبطة بـ Machine Learning Studio (الكلاسيكي)

بالنسبة لسير العمل من طرف إلى طرف المذكور أعلاه للعمل، تحتاج إلى إنشاء خدمتين مرتبطتين بـ Machine Learning Studio (كلاسيكي):

  1. الخدمة المرتبطة بـ Machine Learning Studio (الكلاسيكي) لخدمة ويب التدريب، ويستخدم نشاط تنفيذ الدُفعة هذه الخدمة المرتبطة بنفس الطريقة المذكورة في إنشاء مسارات تنبؤية باستخدام Machine Learning Studio (كلاسيكي) ونشاط تنفيذ الدُفعة. الفرق هو إخراج خدمة ويب التدريب هو ملف iLearner، والذي يستخدمه نشاط تحديث الموارد لتحديث خدمة الويب التنبؤية.
  2. خدمة مرتبطة بـ Machine Learning Studio (الكلاسيكي) لنقطة نهاية مورد تحديث خدمة الويب التنبؤية. يستخدم نشاط مورد التحديث هذه الخدمة المرتبطة لتحديث خدمة الويب التنبؤية باستخدام ملف iLearner الذي تم إرجاعه من الخطوة أعلاه.

بالنسبة للخدمة الثانية المرتبطة بـ Machine Learning Studio (الكلاسيكي)، يختلف التكوين عندما تكون خدمة ويب Machine Learning Studio (الكلاسيكي) خدمة ويب كلاسيكية أو خدمة ويب جديدة. تُناقش هذه الاختلافات بشكل منفصل في المقاطع التالية.

خدمة ويب هي خدمة ويب Azure Resource Manager جديدة

إذا كانت خدمة الويب هي النوع الجديد من خدمة ويب الذي يكشف نقطة نهاية Azure Resource Manager، فلا تحتاج إلى إضافة نقطة النهاية غير الافتراضية الثانية. updateResourceEndpoint في الخدمة المرتبطة هو من التنسيق:

https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resource-group-name}/providers/Microsoft.MachineLearning/webServices/{web-service-name}?api-version=2016-05-01-preview

يمكنك الحصول على قيم لأصحاب المناصب في عنوان ويب URL عند الاستعلام عن خدمة الويب في مدخل خدمات ويب Machine Learning Studio (الكلاسيكي).

يَتطلّب النوع الجديد من نقطة نهاية مورد التحديث مصادقة كيان الخدمة. لاستخدام المصادقة الأساسية للخدمة، سجل كيان تطبيق في معرف Microsoft Entra وامنحه دور المساهم أو المالك للاشتراك أو مجموعة الموارد التي تنتمي إليها خدمة الويب. راجع كيفية إنشاء كيان الخدمة وتعيين أذونات لإدارة مورد Azure. دون القيم التالية التي تستخدمها لتعريف الخدمة المرتبطة:

  • مُعرّف التطبيق
  • مفتاح التطبيق
  • معرف المستأجر

فيما يلي عينة تعريف الخدمة المرتبطة:

{
    "name": "AzureMLLinkedService",
    "properties": {
        "type": "AzureML",
        "description": "The linked service for AML web service.",
        "typeProperties": {
            "mlEndpoint": "https://ussouthcentral.services.azureml.net/workspaces/0000000000000000	000000000000000000000/services/0000000000000000000000000000000000000/jobs?api-version=2.0",
            "apiKey": {
                "type": "SecureString",
                "value": "APIKeyOfEndpoint1"
            },
            "updateResourceEndpoint": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resource-group-name}/providers/Microsoft.MachineLearning/webServices/{web-service-name}?api-version=2016-05-01-preview",
            "servicePrincipalId": "000000000-0000-0000-0000-0000000000000",
            "servicePrincipalKey": {
                "type": "SecureString",
                "value": "servicePrincipalKey"
            },
            "tenant": "mycompany.com"
        }
    }
}

يوفر السيناريو التالي المزيد من التفاصيل. به مثال لإعادة تدريب وتحديث نماذج Machine Learning Studio (الكلاسيكي) من المسار.

عينة: إعادة تدريب وتحديث نموذج Machine Learning Studio (الكلاسيكي)

يوفر هذا المقطع عينة مسار يستخدم نشاط تنفيذ الدُفعة في Azure Machine Learning Studio (الكلاسيكي) لإعادة تدريب النموذج. مسار يستخدم أيضاً تحديث نشاط مورد Azure Machine Learning Studio (الكلاسيكي) لتحديث النموذج في خدمة ويب التسجيل. يوفر القسم أيضاً قصاصات برمجية JSON لجميع الخدمات المرتبطة ومجموعات البيانات والمسارات في المثال.

خدمة تخزين الكائن الثنائي كبير الحجم المرتبطة لـ Azure:

يحتفظ Azure Storage بالبيانات التالية:

  • بيانات التدريب. بيانات الإدخال لخدمة ويب Machine Learning Studio (الكلاسيكي).
  • ملف iLearner. الإخراج من خدمة ويب تدريب Machine Learning Studio (الكلاسيكي). هذا الملف هو أيضاً إدخال لنشاط تحديث الموارد.

فيما يلي عينة تعريف JSON من الخدمة المرتبطة:

{
    "name": "StorageLinkedService",
    "properties": {
        "type": "AzureStorage",
        "typeProperties": {
            "connectionString": "DefaultEndpointsProtocol=https;AccountName=name;AccountKey=key"
        }
    }
}

خدمة مرتبطة لنقطة نهاية تدريب Machine Learning Studio (الكلاسيكي)

تُعرّف القصاصة البرمجية JSON التالية الخدمة المرتبطة بـ Machine Learning Studio (الكلاسيكي) التي تشير إلى نقطة النهاية الافتراضية لخدمة ويب التدريب.

{
    "name": "trainingEndpoint",
    "properties": {
        "type": "AzureML",
        "typeProperties": {
            "mlEndpoint": "https://ussouthcentral.services.azureml.net/workspaces/xxx/services/--training experiment--/jobs",
            "apiKey": "myKey"
        }
    }
}

في Azure Machine Learning Studio (الكلاسيكي)، نفذ ما يلي للحصول على قيم لـmlEndpoint وapiKey:

  1. انقر فوق "WEB SERVICES" في القائمة اليسرى.
  2. انقر فوق "training web service" في قائمة "web services".
  3. انقر فوق "copy" بجوار مربع نص API key. الصق المفتاح في الحافظة في محرر مصنع بيانات JSON.
  4. في "Azure Machine Learning Studio (classic)"، انقر فوق ارتباط "BATCH EXECUTION".
  5. انسخ "Request URI" من المقطع "Request" والصقه في محرر JSON.

خدمة مرتبطة لنقطة نهاية تسجيل Azure Machine Learning Studio (الكلاسيكي) القابلة للتحديث:

تُعرّف القصاصة البرمجية JSON التالية الخدمة المرتبطة بـ Azure Machine Learning Studio (الكلاسيكي) التي تشير إلى نقطة النهاية الافتراضية لخدمة ويب التسجيل القابلة للتحديث.

{
    "name": "updatableScoringEndpoint2",
    "properties": {
        "type": "AzureML",
        "typeProperties": {
            "mlEndpoint": "https://ussouthcentral.services.azureml.net/workspaces/00000000eb0abe4d6bbb1d7886062747d7/services/00000000026734a5889e02fbb1f65cefd/jobs?api-version=2.0",
            "apiKey": "sooooooooooh3WvG1hBfKS2BNNcfwSO7hhY6dY98noLfOdqQydYDIXyf2KoIaN3JpALu/AKtflHWMOCuicm/Q==",
            "updateResourceEndpoint": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Default-MachineLearning-SouthCentralUS/providers/Microsoft.MachineLearning/webServices/myWebService?api-version=2016-05-01-preview",
            "servicePrincipalId": "fe200044-c008-4008-a005-94000000731",
            "servicePrincipalKey": "zWa0000000000Tp6FjtZOspK/WMA2tQ08c8U+gZRBlw=",
            "tenant": "mycompany.com"
        }
    }
}

‏‫‏‫‏‫المسار‬

مسار له نشاطين: AzureMLBatchExecution وAzureMLUpdateResource. يأخذ نشاط تنفيذ الدُفعة بيانات التدريب كإدخال وينتج ملف iLearner كإخراج. ثم يأخذ نشاط تحديث الموارد ملف iLearner هذا ويستخدمه لتحديث خدمة الويب التنبؤية.

{
    "name": "LookupPipelineDemo",
    "properties": {
        "activities": [
            {
                "name": "amlBEGetilearner",
                "description": "Use AML BES to get the ileaner file from training web service",
                "type": "AzureMLBatchExecution",
                "linkedServiceName": {
                    "referenceName": "trainingEndpoint",
                    "type": "LinkedServiceReference"
                },
                "typeProperties": {
                    "webServiceInputs": {
                        "input1": {
                            "LinkedServiceName":{
                                "referenceName": "StorageLinkedService",
                                "type": "LinkedServiceReference"
                            },
                            "FilePath":"azuremltesting/input"
                        },
                        "input2": {
                            "LinkedServiceName":{
                                "referenceName": "StorageLinkedService",
                                "type": "LinkedServiceReference"
                            },
                            "FilePath":"azuremltesting/input"
                        }
                    },
                    "webServiceOutputs": {
                        "output1": {
                            "LinkedServiceName":{
                                "referenceName": "StorageLinkedService",
                                "type": "LinkedServiceReference"
                            },
                            "FilePath":"azuremltesting/output"
                        }
                    }
                }
            },
            {
                "name": "amlUpdateResource",
                "type": "AzureMLUpdateResource",
                "description": "Use AML Update Resource to update the predict web service",
                "linkedServiceName": {
                    "type": "LinkedServiceReference",
                    "referenceName": "updatableScoringEndpoint2"
                },
                "typeProperties": {
                    "trainedModelName": "ADFV2Sample Model [trained model]",
                    "trainedModelLinkedServiceName": {
                        "type": "LinkedServiceReference",
                        "referenceName": "StorageLinkedService"
                    },
                    "trainedModelFilePath": "azuremltesting/output/newModelForArm.ilearner"
                },
                "dependsOn": [
                    {
                        "activity": "amlbeGetilearner",
                        "dependencyConditions": [ "Succeeded" ]
                    }
                ]
            }
        ]
    }
}

راجع المقالات التالية التي تشرح كيفية تحويل البيانات بطرق أخرى: