Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ПРИМЕНЯЕТСЯ К:
Расширение Azure CLI ML версии 2 (текущий)
Из этой статьи вы узнаете, как создавать рабочие области Машинное обучение Azure и управлять ими с помощью Azure CLI. Интерфейс командной строки Azure предоставляет команды для управления ресурсами Azure и призван помочь вам быстро приступить к работе с Azure, используя возможности автоматизации. Расширение машинного обучения Azure CLI предоставляет команды для работы с Машинное обучение Azure ресурсами.
Вы также можете использовать следующие методы для создания рабочих областей Машинное обучение Azure и управления ими.
- Студия машинного обучения Azure
- Портал Azure
- Пакет SDK для Python
- Azure PowerShell
- Visual Studio Code с расширением Машинного обучения Azure
Необходимые компоненты
Подписка Azure с бесплатной или платной версией Машинное обучение Azure. Если у вас нет подписки Azure, создайте бесплатную учетную запись перед началом работы.
Установлен Azure CLI , если вы хотите выполнить команды Azure CLI в этой статье локально.
Если вы запускаете команды Azure CLI в Azure Cloud Shell, вам не нужно ничего устанавливать. Браузер обращается к последней облачной версии Azure CLI и расширению Машинное обучение Azure.
Ограничения
При создании новой рабочей области можно автоматически создавать службы, необходимые рабочей области, или использовать существующие службы. Если вы хотите использовать существующие службы из другой подписки Azure, отличной от рабочей области, необходимо зарегистрировать пространство имен Машинного обучения Azure в подписке, содержащей эти службы. Например, если вы создаете рабочую область в подписке A, использующую учетную запись хранения в подписке B, пространство имен Машинное обучение Azure необходимо зарегистрировать в подписке B, прежде чем рабочая область сможет использовать учетную запись хранения.
Поставщик ресурсов для Машинного обучения Azure — Microsoft.MachineLearningServices. Для получения информации о том, зарегистрирован ли он или требуется его регистрация, см. раздел Поставщики ресурсов и типы Azure.
Внимание
Эта информация применяется только к ресурсам, предоставляемым во время создания рабочей области: учетные записи служба хранилища Azure, Реестр контейнеров Azure, Azure Key Vault и Application Insights.
Подключение к подписке Azure
Если вы используете Azure Cloud Shell из портал Azure, можно пропустить этот раздел. Cloud Shell автоматически проходит проверку подлинности с помощью подписки Azure, с помощью которую вы вошли.
Существует несколько способов локальной проверки подлинности в подписке Azure из Azure CLI. Самый простой способ — использовать браузер.
Чтобы выполнить интерактивную проверку подлинности, откройте командную строку или терминал и запустите az login. Если интерфейс командной строки может открыть браузер по умолчанию, он делает это и загружает страницу входа. В противном случае следуйте инструкциям командной строки, чтобы открыть браузер https://aka.ms/devicelogin и ввести код авторизации устройства.
Совет
После входа вы увидите список подписок, связанных с вашей учетной записью Azure. В сведениях о подписке с isDefault: true указана текущая активная подписка для команд Azure CLI. Эта подписка должна быть той же, которая содержит рабочую область Машинного обучения Azure. Сведения о подписке можно найти на странице обзора рабочей области на портале Azure.
Чтобы выбрать другую подписку для команд Azure CLI, выполните az account set -s <subscription> команду и укажите имя подписки или идентификатор для переключения. Дополнительные сведения о выборе подписки см. в статье "Использование нескольких подписок Azure".
Сведения о других методах проверки подлинности см. в статье "Вход с помощью Azure CLI".
Создание или изменение группы ресурсов
Рабочая область Машинное обучение Azure должна быть создана в существующей или новой группе ресурсов. Чтобы создать новую группу ресурсов, выполните следующую команду. Замените <resource-group-name> именем и <location> регионом Azure, который вы хотите использовать для этой группы ресурсов.
Примечание.
Выберите регион, в котором доступна Машинное обучение Azure. Дополнительные сведения см. в разделе "Продукты", доступные по регионам.
az group create --name <resource-group-name> --location <azure-region>
Ответ на эту команду похож на следующий код JSON. Выходные значения можно использовать для поиска созданных ресурсов или передачи их в качестве входных данных другим командам Или автоматизации Azure CLI.
{
"id": "/subscriptions/<subscription-GUID>/resourceGroups/<resourcegroupname>",
"location": "<location>",
"managedBy": null,
"name": "<resource-group-name>",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null,
"type": null
}
Дополнительные сведения о работе с группами ресурсов см. в az group.
Создание рабочей области
Развернутая рабочая область машинного обучения Azure требует различных других служб в качестве зависимых ресурсов. При использовании Azure CLI для создания рабочей области интерфейс командной строки может создавать новые связанные ресурсы или присоединять существующие ресурсы.
Чтобы создать новую рабочую область с новыми автоматически созданными зависимыми службами, выполните следующую команду:
az ml workspace create -n <workspace-name> -g <resource-group-name>
Чтобы создать новую рабочую область, которая использует существующие ресурсы, сначала определите ресурсы в файле конфигурации YAML, как описано в следующем разделе. Затем вы ссылаетесь на ФАЙЛ YAML в команде создания рабочей области Azure CLI следующим образом:
az ml workspace create -g <resource-group-name> --file <configuration-file>.yml
Выходные данные команды для создания рабочей области подобны приведенному ниже коду JSON. Выходные значения можно использовать для поиска созданных ресурсов или передачи их в качестве входных данных другим командам Azure CLI.
{
"applicationInsights": "/subscriptions/<subscription-GUID>/resourcegroups/<resource-group-name>/providers/microsoft.insights/components/<application-insight-name>",
"containerRegistry": "/subscriptions/<subscription-GUID>/resourcegroups/<resource-group-name>/providers/microsoft.containerregistry/registries/<container-registry-name>",
"creationTime": "2019-08-30T20:24:19.6984254+00:00",
"description": "",
"friendlyName": "<workspace-name>",
"id": "/subscriptions/<subscription-GUID>/resourceGroups/<resource-group-name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-id>",
"identityPrincipalId": "<GUID>",
"identityTenantId": "<GUID>",
"identityType": "SystemAssigned",
"keyVault": "/subscriptions/<subscription-GUID>/resourcegroups/<resource-group-name>/providers/microsoft.keyvault/vaults/<key-vault-name>",
"location": "<location>",
"name": "<workspace-name>",
"resourceGroup": "<resource-group-name>",
"storageAccount": "/subscriptions/<subscription-GUID>/resourcegroups/<resource-group-name>/providers/microsoft.storage/storageaccounts/<storage-account-name>",
"type": "Microsoft.MachineLearningServices/workspaces",
"workspaceid": "<GUID>"
}
Файл конфигурации YAML
Чтобы использовать существующие ресурсы для новой рабочей области, необходимо определить ресурсы в файле конфигурации YAML. В следующем примере показан файл конфигурации рабочей области YAML:
$schema: https://azuremlschemas.azureedge.net/latest/workspace.schema.json
name: mlw-basicex-prod
location: eastus
display_name: Bring your own dependent resources-example
description: This configuration specifies a workspace configuration with existing dependent resources
storage_account: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT>
container_registry: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.ContainerRegistry/registries/<CONTAINER_REGISTRY>
key_vault: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.KeyVault/vaults/<KEY_VAULT>
application_insights: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.insights/components/<APP_INSIGHTS>
tags:
purpose: demonstration
Вам не нужно указывать все связанные зависимые ресурсы в файле конфигурации. Можно указать один или несколько ресурсов и позволить другим автоматически создаваться.
Идентификаторы существующих ресурсов в YAML-файле необходимо указать. Эти идентификаторы можно получить, просмотрев свойства ресурса на портале Azure или выполнив следующие команды Azure CLI:
-
Azure Application Insights:
az monitor app-insights component show --app <application-insight-name> -g <resource-group-name> --query "id" -
Реестр контейнеров Azure:
az acr show --name <container-registry-name> -g <resource-group-name> --query "id" -
Azure Key Vault:
az keyvault show --name <key-vault-name> --query "id" -
Учетная запись хранения Azure:
az storage account show --name <storage-account-name> --query "id"
Результаты запроса выглядят следующим образом:
"/subscriptions/<subscription-GUID>/resourceGroups/<resource-group-name>/providers/<provider>/<subresource>/<id>".
Связанные зависимые ресурсы
Следующие рекомендации и ограничения применяются к зависимым ресурсам, связанным с рабочими областями.
Application Insights
Совет
Экземпляр Azure Application Insights создается при создании рабочей области. При необходимости экземпляр Application Insights можно удалить после создания кластера. Удаление ограничивает сведения, собранные из рабочей области, и может оказаться более сложным для устранения неполадок. При удалении экземпляра Application Insights, созданного рабочей областью, единственным способом ее повторного создания является удаление и повторное создание рабочей области.
Дополнительные сведения об использовании экземпляра Application Insights см. в статье "Мониторинг и сбор данных из конечных точек веб-службы машинного обучения".
Реестр контейнеров
Рабочая область Машинное обучение Azure использует Реестр контейнеров Azure для некоторых операций и автоматически создает экземпляр реестра контейнеров при первом необходимости.
Предупреждение
После создания Реестр контейнеров Azure для рабочей области не удаляйте его. Это нарушает рабочую область Машинное обучение Azure.
Чтобы использовать существующий реестр контейнеров Azure с рабочей областью Машинного обучения Azure, необходимо включить учетную запись администратора в реестре контейнеров.
Учетная запись хранения
Если для рабочей области используется существующая учетная запись хранения, она должна соответствовать следующим критериям. Эти требования применяются только к учетной записи хранения по умолчанию.
- Учетная запись не может быть Premium_LRS или Premium_GRS.
- Возможности BLOB-объектов Azure и файлов Azure должны быть включены.
- Иерархическое пространство имен должно быть отключено для Azure Data Lake Storage.
Защита обмена данными Azure CLI
Все команды Машинное обучение Azure версии 2 az ml передают операционные данные, такие как параметры YAML и метаданные, в Azure Resource Manager. Некоторые команды Azure CLI взаимодействуют с Azure Resource Manager через Интернет.
Если ваша Машинное обучение Azure рабочая область является общедоступной и не находится за виртуальной сетью, обмен данными защищен с помощью ПРОТОКОЛА HTTPS/TLS 1.2. Дополнительная конфигурация не требуется.
Если в рабочей области Машинное обучение Azure используется частная конечная точка и виртуальная сеть, необходимо выбрать одну из следующих конфигураций, чтобы использовать Azure CLI:
Чтобы обмениваться данными через общедоступный Интернет, задайте
--public-network-accessдля параметраEnabledзначение .Чтобы избежать обмена данными через общедоступный Интернет по соображениям безопасности, настройте Машинное обучение Azure использовать подключение к частной сети с конечной точкой Приватный канал Azure, как описано в следующем разделе.
Подключение к частной сети
В зависимости от вариантов использования и требований организации можно настроить Машинное обучение Azure для использования подключения к частной сети. Azure CLI можно использовать для развертывания рабочей области и конечной точки Приватный канал для ресурса рабочей области.
Если для Реестр контейнеров Azure и Машинное обучение Azure используются конечные точки приватного канала, задачи реестра контейнеров нельзя использовать для создания образов среды Docker. Вместо этого необходимо создать образы с помощью Машинное обучение Azure вычислительного кластера.
В файле конфигурации рабочей области YAML необходимо задать image_build_compute для свойства имя вычислительного кластера, используемое для создания среды образа Docker. Вы также можете указать, что рабочая область приватного канала недоступна через Интернет, задав public_network_access для свойства значение Disabled.
В следующем коде показан пример файла конфигурации рабочей области для подключения к частной сети.
$schema: https://azuremlschemas.azureedge.net/latest/workspace.schema.json
name: mlw-privatelink-prod
location: eastus
display_name: Private Link endpoint workspace-example
description: When using private link, you must set the image_build_compute property to a cluster name to use for Docker image environment building. You can also specify whether the workspace should be accessible over the internet.
image_build_compute: cpu-compute
public_network_access: Disabled
tags:
purpose: demonstration
После создания рабочей области используйте команды Интерфейса командной строки сети Azure, чтобы создать конечную точку частного подключения для рабочей области.
az network private-endpoint create \
--name <private-endpoint-name> \
--vnet-name <virtual-network-name> \
--subnet <subnet-name> \
--private-connection-resource-id "/subscriptions/<subscription>/resourceGroups/<resource-group-name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-name>" \
--group-id amlworkspace \
--connection-name workspace -l <location>
Чтобы создать записи частной зоны доменных имен (DNS) для рабочей области, используйте следующие команды:
# Add privatelink.api.azureml.ms
az network private-dns zone create \
-g <resource-group-name> \
--name 'privatelink.api.azureml.ms'
az network private-dns link vnet create \
-g <resource-group-name> \
--zone-name 'privatelink.api.azureml.ms' \
--name <link-name> \
--virtual-network <virtual-network-name> \
--registration-enabled false
az network private-endpoint dns-zone-group create \
-g <resource-group-name> \
--endpoint-name <private-endpoint-name> \
--name <zone-group-name> \
--private-dns-zone 'privatelink.api.azureml.ms' \
--zone-name 'privatelink.api.azureml.ms'
# Add privatelink.notebooks.azure.net
az network private-dns zone create \
-g <resource-group-name> \
--name 'privatelink.notebooks.azure.net'
az network private-dns link vnet create \
-g <resource-group-name> \
--zone-name 'privatelink.notebooks.azure.net' \
--name <link-name> \
--virtual-network <virtual-network-name> \
--registration-enabled false
az network private-endpoint dns-zone-group add \
-g <resource-group-name> \
--endpoint-name <private-endpoint-name> \
--name <zone-group-name> \
--private-dns-zone 'privatelink.notebooks.azure.net' \
--zone-name 'privatelink.notebooks.azure.net'
Дополнительные сведения об использовании частной конечной точки и виртуальной сети с рабочей областью см. в следующих статьях:
- Настройка частной конечной точки для рабочей области Машинного обучения Azure
- Общие сведения об изоляции виртуальной сети и конфиденциальности
Частные ссылки управления ресурсами
Для защиты связи со всеми ресурсами Azure Resource Manager в группе управления Azure можно использовать следующий процесс, используя Приватный канал:
- Создайте приватную ссылку для управления ресурсами Azure.
- Создайте частную конечную точку для приватного канала, созданного на предыдущем шаге.
Внимание
Чтобы настроить приватную ссылку для Azure Resource Manager, необходимо быть владельцем подписки Azure и владельцем или участником в корневой группе управления. Дополнительные сведения см. в статье "Создание приватного канала" для управления ресурсами Azure.
Расширенные конфигурации
Существует несколько других дополнительных конфигураций, которые можно применить к рабочим областям. Дополнительные сведения о сложных конфигурациях ресурсов см. в параметрах развертывания на основе шаблонов, включая Azure Resource Manager.
Ключи, управляемые клиентом
По умолчанию метаданные рабочей области хранятся в экземпляре Azure Cosmos DB, который корпорация Майкрософт поддерживает и шифруется с помощью ключей, управляемых корпорацией Майкрософт. Вместо использования ключа, управляемого корпорацией Майкрософт, можно указать собственный ключ. С помощью собственного ключа создается дополнительный набор ресурсов в подписке Azure для хранения данных.
Примечание.
Azure Cosmos DB не используется для хранения сведений о производительности модели, сведений, записанных в журнал экспериментов или данных, зарегистрированных в развертываниях модели.
Чтобы создать рабочую область, использующую собственный ключ, используйте customer_managed_key параметр в файле конфигурации рабочей области YAML и укажите идентификатор ресурса содержащего key_vault и key_uri ключа в хранилище.
$schema: https://azuremlschemas.azureedge.net/latest/workspace.schema.json
name: mlw-cmkexample-prod
location: eastus
display_name: Customer managed key encryption-example
description: This configurations shows how to create a workspace that uses customer-managed keys for encryption.
customer_managed_key:
key_vault: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.KeyVault/vaults/<KEY_VAULT>
key_uri: https://<KEY_VAULT>.vault.azure.net/keys/<KEY_NAME>/<KEY_VERSION>
tags:
purpose: demonstration
Дополнительные сведения о ресурсах, созданных при использовании собственного ключа для шифрования, см. в статье "Шифрование данных с помощью Машинного обучения Azure".
Примечание.
Чтобы управлять добавленными ресурсами шифрования данных, используйте управление удостоверениями и доступом для авторизации приложения машинного обучения с разрешениями участника в подписке.
Рабочие области с высоким уровнем влияния на бизнес
Чтобы ограничить собираемые корпорацией Майкрософт данные в рабочей области, можно указать рабочую область с высоким уровнем влияния на бизнес, задав hbi_workspace для свойства в файле конфигурации YAML значение TRUE. Вы можете задать высокий уровень влияния на бизнес только при создании рабочей области. Этот параметр нельзя изменить после создания рабочей области.
Дополнительные сведения о ключах, управляемых клиентом, и рабочей области с высоким уровнем влияния на бизнес, см. в статье "Безопасность предприятия" для Машинного обучения Azure.
Управление рабочими областями с помощью Azure CLI
Для управления рабочими областями можно использовать команды az ml workspace .
Получение сведений о рабочей области
Чтобы получить сведения о рабочей области, используйте следующую команду:
az ml workspace show -n <workspace-name> -g <resource-group-name>
Дополнительные сведения см. в az ml workspace show.
Обновление рабочей области
Обновите рабочую область с помощью следующей команды:
az ml workspace update -n <workspace-name> -g <resource-group-name>
Например, следующая команда обновляет рабочую область для включения доступа к общедоступной сети:
az ml workspace update -n <workspace-name> -g <resource-group-name> --public-network-access enabled
Дополнительные сведения см. в az ml workspace update.
Ключи синхронизации для зависимых ресурсов
Если изменить ключи доступа для одного из ресурсов, которые использует ваша рабочая область, потребуется около часа для синхронизации рабочей области с новыми ключами. Чтобы заставить рабочую область синхронизироваться с новым ключом немедленно, выполните следующую команду:
az ml workspace sync-keys -n <workspace-name> -g <resource-group-name>
- Дополнительные сведения о команде
sync-keysсм. в статье az ml workspace sync-keys. - Дополнительные сведения об изменении ключей см. в разделе "Повторное создание ключей доступа к хранилищу".
Перемещение рабочей области
Перемещение рабочей области Машинное обучение Azure в настоящее время находится в предварительной версии. Дополнительные сведения см. в статье "Перемещение рабочих областей Машинного обучения Azure" между подписками (предварительная версия).
Удаление рабочей области
Чтобы удалить рабочую область, когда она больше не нужна, используйте следующую команду:
az ml workspace delete -n <workspace-name> -g <resource-group-name>
Поведение по умолчанию для Машинного обучения Azure — мягкое удаление рабочей области. Рабочая область не сразу удаляется, но вместо этого помечается для удаления. Дополнительные сведения см. в статье «Мягкое удаление».
Предупреждение
Если обратимое удаление включено для рабочей области, его можно восстановить после удаления. Если обратимое удаление не включено или вы выбираете параметр для окончательного удаления рабочей области, его невозможно восстановить. Дополнительные сведения см. в разделе "Восстановление удаленной рабочей области".
Удаление рабочей области не удаляет application insights, учетную запись хранения, хранилище ключей или реестр контейнеров, используемый рабочей областью. Чтобы удалить рабочую область, зависимые ресурсы и все другие ресурсы Azure в группе ресурсов, можно удалить группу ресурсов. Чтобы удалить группу ресурсов, используйте следующую команду:
az group delete -g <resource-group-name>
Дополнительные сведения см. в статье az ml workspace delete.
Устранение ошибок поставщика ресурсов
При создании рабочей области машинного обучения Azure или ресурса, используемого рабочей областью, может появиться сообщение об ошибке, аналогичное приведенному ниже.
No registered resource provider found for location {location}The subscription is not registered to use namespace {resource-provider-namespace}
Многие, но не все поставщики ресурсов регистрируются автоматически. При появлении этого сообщения необходимо зарегистрировать упомянутый поставщик.
В следующей таблице содержится список поставщиков ресурсов, необходимых для Машинного обучения Azure:
| Поставщик ресурсов | Роль |
|---|---|
| Microsoft.MachineLearningServices | Создание рабочей области машинного обучения Azure. |
| Microsoft.Storage | Учетная запись службы хранилища Azure используется в качестве хранилища данных по умолчанию для рабочей области. |
| Microsoft.ContainerRegistry | Реестр контейнеров Azure используется рабочей областью для создания образов Docker. |
| Microsoft.KeyVault | Azure Key Vault используется рабочей областью для хранения секретов. |
| Microsoft.Notebooks | Интегрированные записные книжки в вычислительном экземпляре машинного обучения Azure. |
| Microsoft.ContainerService | Если вы планируете развертывать обученные модели в службах Azure Kubernetes. |
Если вы планируете использовать ключ, управляемый клиентом, для машинного обучения Azure, необходимо зарегистрировать следующих поставщиков услуг:
| Поставщик ресурсов | Роль |
|---|---|
| Microsoft.DocumentDB | Экземпляр Azure CosmosDB, который регистрирует метаданные для рабочей области. |
| Microsoft.Search | Служба "Поиск Azure" предоставляет возможности индексирования для рабочей области. |
Если вы планируете использовать управляемую виртуальную сеть с машинным обучением Azure, необходимо зарегистрировать поставщика ресурсов Microsoft.Network . Этот поставщик ресурсов используется рабочей областью при создании частных конечных точек для управляемой виртуальной сети.
Сведения о регистрации поставщиков ресурсов см. в разделе "Устранение ошибок для регистрации поставщика ресурсов".
Связанные ресурсы
- Дополнительные сведения о расширении Azure CLI для машинного обучения см. в документации az ml .
- Сведения о диагностике, которая может выявлять и устранять проблемы с рабочей областью, см. в разделе "Как использовать диагностику рабочей области".
- Сведения о том, как обновлять машинное обучение Azure с помощью последних обновлений системы безопасности, см. в статье "Управление уязвимостями".