Обновление моделей Студии машинного обучения (классической) с помощью действия Update Resource
ОБЛАСТЬ ПРИМЕНЕНИЯ: Фабрика данных Azure Azure Synapse Analytics
Совет
Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !
Внимание
Поддержка Машинное обучение Azure Studio (классическая) завершится 31 августа 2024 г. Мы рекомендуем перейти на Машинное обучение Azure по этой дате.
По состоянию на 1 декабря 2021 г. нельзя создавать новые ресурсы Машинное обучение Studio (классический) (рабочая область и план веб-службы). До 31 августа 2024 г. вы можете продолжать использовать существующие эксперименты Машинное обучение Studio (классические) и веб-службы. Дополнительные сведения см. в разделе:
- Миграция на Машинное обучение Azure из студии Машинное обучение (классическая версия)
- Что такое Машинное обучение Azure?
Машинное обучение Studio (классическая) документация не обновляется и может не обновляться в будущем.
Примечание.
Так как создавать ресурсы Студии машинного обучения (классической) после 1 декабря 2021 года невозможно, для обновления моделей Студии машинного обучения (классической) пользователям рекомендуется использовать Машинное обучение Azure с действием Execute Pipeline Машинного обучения, а не использовать действие Update Resource.
Эта статья дополняет основную статью, посвященную интеграции Фабрики данных Azure и Студии машинного обучения Azure: Создание прогнозных конвейеров с помощью Студии машинного обучения Azure (классической) и Фабрики данных Azure. Перед прочтением этой статьи ознакомьтесь с основной статьей, если вы еще этого не сделали.
Обзор
В рамках процесса ввода в эксплуатацию моделей для Студии машинного обучения ваша модель будет обучена и сохранена. После этого она используется для создания прогнозной веб-службы. Созданная веб-служба может впоследствии использоваться на веб-сайтах, панелях мониторинга и в мобильных приложениях.
Модели, создаваемые с помощью Студии машинного обучения, обычно не являются статическими. Если появляются новые данные или у пользователя API есть свои данные, модель нужно переобучить.
Переобучение может требоваться достаточно часто. С помощью действия Batch Execution и действия Update Resource можно переобучить модель для Студии машинного обучения Azure и обновить прогнозную веб-службу.
На следующем рисунке показа связь между обучением и прогнозными веб-службами.
Действие Update Resource в Студии машинного обучения (классическая версия)
В приведенном ниже фрагменте кода JSON показано действие Batch Execution в Студии машинного обучения.
{
"name": "amlUpdateResource",
"type": "AzureMLUpdateResource",
"description": "description",
"linkedServiceName": {
"type": "LinkedServiceReference",
"referenceName": "updatableScoringEndpoint2"
},
"typeProperties": {
"trainedModelName": "ModelName",
"trainedModelLinkedServiceName": {
"type": "LinkedServiceReference",
"referenceName": "StorageLinkedService"
},
"trainedModelFilePath": "ilearner file path"
}
}
Свойство | Описание: | Обязательное поле |
---|---|---|
name | Имя действия в конвейере. | Да |
описание | Описание действия. | No |
type | Для действия Update Resource в Студии машинного обучения применяется тип действия AzureMLUpdateResource. | Да |
linkedServiceName | Связанная служба Студии машинного обучения, которая содержит свойство updateResourceEndpoint. | Да |
trainedModelName | Имя модуля модели обучения для обновления в эксперименте веб-службы. | Да |
trainedModelLinkedServiceName | Имя связанной службы хранилища Azure, содержащей файл iLearner, который был отправлен действием обновления. | Да |
trainedModelFilePath | Относительный путь к файлу в trainedModelLinkedService для представления файла iLearner, который отправлен действием обновления. | Да |
Комплексный рабочий процесс
Процесс переобучения модели и обновления прогнозных веб-служб включает в себя такие шаги:
- Вызов веб-службы обучения с помощью действия выполнения пакета. Вызов веб-службы обучения выполняется так же, как вызов прогнозной веб-службы, описанный в статье Create predictive pipelines using Machine Learning Studio (classic) and the Batch Execution activity (Создание прогнозных конвейеров с помощью Студии машинного обучения (классической) и действия Batch Execution). На выходе веб-служба обучения выдает файл iLearner, который можно использовать для обновления прогнозной веб-службы.
- Вызов обновления конечной точки ресурсапрогнозной веб-службы с помощью действия обновления ресурса, чтобы обновить веб-службу и добавить новую обученную модель.
Связанная служба Студии машинного обучения (классической)
Для выполнения вышеупомянутых комплексных рабочих процессов, необходимо создать две связанные службы Студии машинного обучения.
- Связанная служба Студии машинного обучения Azure для веб-службы обучения, которая используется действием Batch Execution так же, как описано в статье Create predictive pipelines using Machine Learning Studio (classic) and the Batch Execution activity (Создание прогнозных конвейеров с помощью Студии машинного обучения (классической) и действия Batch Execution). Разница заключается в том, что выходные данные веб-службы обучения являются файлом iLearner, который используется действием Update Resource для обновления прогнозной веб-службы.
- Связанная служба Студии машинного обучения для обновления конечной точки ресурса прогнозной веб-службы. Эта связанная служба используется действием обновления ресурса для обновления прогнозной веб-службы с помощью файла iLearner, возвращенного на предыдущем шаге.
Конфигурация второй связанной службы Студии машинного обучения отличается, если ваша веб-служба Студии машинного обучения является классической веб-службой или новой веб-службой. Различия отдельно рассматриваются в следующих разделах.
Веб-служба — новая веб-служба 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-адресе при запросе веб-службы в Машинное обучение Azure Studio.
Новому типу конечной точки ресурса для обновления необходима проверка подлинности субъекта-службы. Чтобы использовать проверку подлинности субъекта-службы, зарегистрируйте сущность приложения в идентификаторе Microsoft Entra и предоставьте ей роль участника или владельца подписки или группы ресурсов, к которой принадлежит веб-служба. Ознакомьтесь со статьей Создание приложения Active Directory и субъекта-службы с доступом к ресурсам с помощью портала. Запишите следующие значения, которые используются для определения связанной службы:
- Application ID
- ключ приложения.
- Идентификатор клиента
Ниже приведен пример определения связанной службы:
{
"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"
}
}
}
Ниже приведен сценарий с более подробными сведениями. Это пример переобучения и обновления моделей Студии машинного обучения (классической) из конвейера.
Пример. Переобучение и обновление модели Студии машинного обучения (классической)
В этом разделе показан пример конвейера, который использует действие Batch Execution Студии машинного обучения Azure для повторного обучения модели, а также действие Update Resource Студии машинного обучения Azure для обновления модели в веб-службе оценки. Здесь также приведены фрагменты JSON для всех связанных служб, наборов данных и конвейера, которые используются в примере.
Связанная служба хранилища BLOB-объектов Azure
Служба хранилища Azure содержит следующие данные:
- Данные для обучения. Это входные данные для веб-службы Студии машинного обучения (классической).
- Файл iLearner. Это выходные данные из веб-службы Студии машинного обучения (классической). Этот файл также служит в качестве входных данных для действия "Обновить ресурс".
Вот пример определения JSON для связанной службы:
{
"name": "StorageLinkedService",
"properties": {
"type": "AzureStorage",
"typeProperties": {
"connectionString": "DefaultEndpointsProtocol=https;AccountName=name;AccountKey=key"
}
}
}
Связанная служба для конечной точки обучения Студии машинного обучения (классической)
В следующем фрагменте кода JSON показана связанная служба Студии машинного обучения (классической), которая указывает на конечную точку по умолчанию веб-службы обучения.
{
"name": "trainingEndpoint",
"properties": {
"type": "AzureML",
"typeProperties": {
"mlEndpoint": "https://ussouthcentral.services.azureml.net/workspaces/xxx/services/--training experiment--/jobs",
"apiKey": "myKey"
}
}
}
Чтобы получить значения mlEndpoint и apiKey, выполните указанные ниже действия в Студии машинного обучения Azure.
- В меню слева щелкните ВЕБ-СЛУЖБЫ .
- В списке веб-служб выберите веб-службу обучения .
- Рядом с полем Ключ API нажмите кнопку копирования. Вставьте ключ из буфера обмена в редактор JSON фабрики данных.
- В Студии машинного обучения Azure щелкните ссылку Выполнение пакета.
- Скопируйте URI запроса из раздела Запрос и вставьте его в редактор JSON.
Связанная служба для конечной точки оценки Студии машинного обучения Azure с возможностью обновления
В приведенном ниже фрагменте кода JSON показана связанная служба Студии машинного обучения Azure, которая указывает на обновляемую конечную точку по умолчанию веб-службы оценки.
{
"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/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/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"
}
}
}
Pipeline
Конвейер содержит два действия: 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" ]
}
]
}
]
}
}
Связанный контент
Ознакомьтесь со следующими ссылками, в которых описаны способы преобразования данных другими способами: