Управление рабочими областями Машинное обучение Azure на портале или с помощью пакета SDK для Python (версия 2)
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python azure-ai-ml версии 2 (current)
В этой статье вы создаете, просматриваете и удаляете рабочие области Машинное обучение Azure для Машинное обучение Azure с помощью портал Azure или пакета SDK для Python.
По мере изменения или увеличения требований к автоматизации вы можете управлять рабочими областями с помощью интерфейса командной строки, Azure PowerShell или с помощью расширения Visual Studio Code.
Необходимые компоненты
- Подписка Azure. Если у вас еще нет подписки Azure, создайте бесплатную учетную запись, прежде чем начинать работу. Опробуйте бесплатную или платную версию Машинного обучения Azure уже сегодня.
- С помощью пакета SDK для Python:
Установите azure-identity:
pip install azure-identity
. Если в ячейке записной книжки, используйте%pip install azure-identity
.Укажите сведения о подписке:
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python azure-ai-ml версии 2 (current)
# Enter details of your subscription subscription_id = "<SUBSCRIPTION_ID>" resource_group = "<RESOURCE_GROUP>"
Получите дескриптор подписки. Весь код Python в этой статье использует
ml_client
:# get a handle to the subscription from azure.ai.ml import MLClient from azure.identity import DefaultAzureCredential ml_client = MLClient(DefaultAzureCredential(), subscription_id, resource_group)
(Необязательно) Если у вас несколько учетных записей, добавьте идентификатор клиента идентификатора Microsoft Entra, который вы хотите использовать в
DefaultAzureCredential
. Найдите идентификатор клиента из портал Azure в разделе "Идентификатор Microsoft Entra", "Внешние удостоверения".DefaultAzureCredential(interactive_browser_tenant_id="<TENANT_ID>")
(Необязательно) Если вы работаете в регионах Azure для государственных организаций — США или Azure China 21Vianet, необходимо указать облако, в которое требуется пройти проверку подлинности. Эти регионы можно указать в
DefaultAzureCredential
.from azure.identity import AzureAuthorityHosts DefaultAzureCredential(authority=AzureAuthorityHosts.AZURE_GOVERNMENT))
Ограничения
При создании новой рабочей области можно автоматически создавать службы, необходимые рабочей области, или использовать существующие службы. Если вы хотите использовать существующие службы из подписки Azure, отличной от рабочей области, необходимо зарегистрировать пространство имен Машинного обучения Azure в подписке, которая содержит эти службы. Например, если вы создаете рабочую область в подписке A, использующую учетную запись хранения в подписке B, пространство имен Машинное обучение Azure необходимо зарегистрировать в подписке B, прежде чем рабочая область сможет использовать учетную запись хранения.
Поставщик ресурсов для Машинного обучения Azure — Microsoft.MachineLearningServices. Сведения о том, зарегистрировано ли оно или зарегистрировано, см. в разделе поставщиков ресурсов и типов Azure.
Внимание
Эта информация применяется только к ресурсам, предоставляемым во время создания рабочей области: учетные записи служба хранилища Azure, Реестр контейнеров Azure, Azure Key Vault и Application Insights.
Для сетевой изоляции с сетевыми конечными точками можно использовать связанные с рабочей областью ресурсы (Реестр контейнеров Azure (ACR), учетную запись хранения, Key Vault и Application Insights) из группы ресурсов, отличной от рабочей области. Однако эти ресурсы должны принадлежать той же подписке и клиенту, что и ваша рабочая область. Сведения об ограничениях, применяемых к защите управляемых сетевых конечных точек с помощью управляемой виртуальной сети рабочей области, см. в статье "Сетевая изоляция с управляемыми сетевыми конечными точками".
Создание рабочей области также создает Реестр контейнеров Azure (ACR) по умолчанию. Так как ACR в настоящее время не поддерживает символы юникода в именах групп ресурсов, используйте группу ресурсов, которая избегает этих символов.
Машинное обучение Azure не поддерживает иерархическое пространство имен (Azure Data Lake Storage 2-го поколения функцию) для учетной записи хранения по умолчанию рабочей области.
Совет
Экземпляр Azure Application Insights создается при создании рабочей области. При необходимости экземпляр Application Insights можно удалить после создания кластера. Удаление ограничивает сведения, собранные из рабочей области, и может оказаться более сложным для устранения неполадок. При удалении экземпляра Application Insights, созданного рабочей областью, единственным способом ее повторного создания является удаление и повторное создание рабочей области.
Дополнительные сведения об использовании экземпляра Application Insights см. в статье "Мониторинг и сбор данных из Машинное обучение конечных точек веб-службы".
Создание рабочей области
Вы можете создать рабочую область непосредственно в Студии машинного обучения Azure с ограниченными возможностями. Вы также можете использовать один из этих методов для дополнительного управления параметрами:
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python azure-ai-ml версии 2 (current)
Базовая конфигурация для начала работы без спецификации, связанные ресурсы и группа ресурсов Azure создаются автоматически. Этот код создает рабочую область с именем
myworkspace
, зависимые от ресурсов Azure (учетная запись хранения, Key Vault, Реестр контейнеров, Application Insights) и группу ресурсов с именемmyresourcegroup
eastus2
.# Creating a unique workspace name with current datetime to avoid conflicts from azure.ai.ml.entities import Workspace import datetime basic_workspace_name = "mlw-basic-prod-" + datetime.datetime.now().strftime( "%Y%m%d%H%M" ) ws_basic = Workspace( name=basic_workspace_name, location="eastus", display_name="Basic workspace-example", description="This example shows how to create a basic workspace", hbi_workspace=False, tags=dict(purpose="demo"), ) ws_basic = ml_client.workspaces.begin_create(ws_basic).result() print(ws_basic)
Использование существующих ресурсов Azure. Чтобы перенести существующие ресурсы Azure, на них можно ссылаться с помощью формата идентификатора ресурса Azure. Найдите определенные идентификаторы ресурсов Azure в портал Azure или с помощью пакета SDK. В этом примере предполагается, что группа ресурсов, учетная запись хранения, Key Vault, Application Insights и реестр контейнеров уже существуют.
# Creating a unique workspace name with current datetime to avoid conflicts import datetime from azure.ai.ml.entities import Workspace basic_ex_workspace_name = "mlw-basicex-prod-" + datetime.datetime.now().strftime( "%Y%m%d%H%M" ) # Change the following variables to resource ids of your existing storage account, key vault, application insights # and container registry. Here we reuse the ones we just created for the basic workspace existing_storage_account = ( # e.g. "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT>" ws_basic.storage_account ) existing_container_registry = ( # e.g. "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.ContainerRegistry/registries/<CONTAINER_REGISTRY>" ws_basic.container_registry ) existing_key_vault = ( # e.g. "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.KeyVault/vaults/<KEY_VAULT>" ws_basic.key_vault ) existing_application_insights = ( # e.g. "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.insights/components/<APP_INSIGHTS>" ws_basic.application_insights ) ws_with_existing_resources = Workspace( name=basic_ex_workspace_name, location="eastus", display_name="Bring your own dependent resources-example", description="This sample specifies a workspace configuration with existing dependent resources", storage_account=existing_storage_account, container_registry=existing_container_registry, key_vault=existing_key_vault, application_insights=existing_application_insights, tags=dict(purpose="demonstration"), ) ws_with_existing_resources = ml_client.begin_create_or_update( ws_with_existing_resources ).result() print(ws_with_existing_resources)
(предварительная версия) Используйте существующую рабочую область концентратора. Вместо создания рабочей области по умолчанию с собственными параметрами безопасности и связанными ресурсами можно повторно использовать общую среду рабочей области концентратора. Новая рабочая область project получит параметры безопасности и общие конфигурации из концентратора, включая вычислительные ресурсы и подключения. В этом примере предполагается, что рабочая область концентратора уже существует.
from azure.ai.ml.entities import Project my_project_name = "myexampleproject" my_location = "East US" my_display_name = "My Example Project" my_hub = Project(name=my_hub_name, location=my_location, display_name=my_display_name, hub_id=created_hub.id) created_project_workspace = ml_client.workspaces.begin_create(workspace=my_hub).result()
Дополнительные сведения см. в разделе Справочник по пакету SDK для рабочей области.
Если у вас возникли проблемы с доступом к подписке, ознакомьтесь с разделом "Настройка проверки подлинности для Машинное обучение Azure ресурсов и рабочих процессов" и "Проверка подлинности" в записной книжке Машинное обучение Azure.
Сеть
Внимание
Дополнительные сведения об использовании частной конечной точки и виртуальной сети в рабочей области см. в разделе "Изоляция сети" и конфиденциальность.
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python azure-ai-ml версии 2 (current)
# Creating a unique workspace name with current datetime to avoid conflicts
import datetime
from azure.ai.ml.entities import Workspace
basic_private_link_workspace_name = (
"mlw-privatelink-prod-" + datetime.datetime.now().strftime("%Y%m%d%H%M")
)
ws_private = Workspace(
name=basic_private_link_workspace_name,
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=dict(purpose="demonstration"),
)
ml_client.workspaces.begin_create(ws_private).result()
Для этого класса требуется существующая виртуальная сеть.
Шифрование
По умолчанию экземпляр Azure Cosmos DB сохраняет метаданные рабочей области. Корпорация Майкрософт поддерживает этот экземпляр Cosmos DB. Управляемые корпорацией Майкрософт ключи шифруют эти данные.
Использование собственного ключа шифрования данных
Вы можете предоставить собственный ключ для шифрования данных. Предоставление собственного ключа создает экземпляр Azure Cosmos DB, который хранит метаданные в подписке Azure. Дополнительные сведения см. в разделе Ключи, управляемые клиентом.
Выполните следующие действия, чтобы предоставить собственный ключ:
Внимание
Перед выполнением следующих действий необходимо сначала выполнить следующие действия:
Выполните действия, описанные в разделе Настройка ключей, управляемых клиентом, чтобы:
- зарегистрировать поставщик ресурсов Azure Cosmos DB;
- Создание и настройка Azure Key Vault
- создать ключ.
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python azure-ai-ml версии 2 (current)
from azure.ai.ml.entities import Workspace, CustomerManagedKey
# specify the workspace details
ws = Workspace(
name="my_workspace",
location="eastus",
display_name="My workspace",
description="This example shows how to create a workspace",
customer_managed_key=CustomerManagedKey(
key_vault="/subscriptions/<SUBSCRIPTION_ID>/resourcegroups/<RESOURCE_GROUP>/providers/microsoft.keyvault/vaults/<VAULT_NAME>"
key_uri="<KEY-IDENTIFIER>"
)
tags=dict(purpose="demo")
)
ml_client.workspaces.begin_create(ws)
Идентификация
На портале используйте страницу удостоверений для настройки управляемого удостоверения, доступа к учетной записи хранения и влияния на данные. Сведения о пакете SDK для Python см. в следующих разделах.
Управляемое удостоверение
Рабочая область может быть предоставлена удостоверению, назначенному системой, или назначенному пользователем удостоверению. Это удостоверение используется для доступа к ресурсам в подписке. Дополнительные сведения см. в разделе "Настройка проверки подлинности между Машинное обучение Azure и другими службами".
Доступ к учетной записи хранения
Выберите доступ на основе учетных данных или доступ на основе удостоверений при подключении к учетной записи хранения по умолчанию. Для проверки подлинности на основе удостоверений роль участника данных BLOB-объектов хранилища должна быть предоставлена управляемому удостоверению рабочей области в учетной записи хранения.
Влияние данных
Чтобы ограничить данные, собираемые Майкрософт в вашей рабочей области, выберите на портале параметр High business impact workspace (Рабочая область с сильным влиянием на организацию) или установите hbi_workspace=true
в Python. Дополнительные сведения об этом параметре см. в разделе Шифрование данных при хранении.
Внимание
Выбор высокого влияния на бизнес может произойти только при создании рабочей области. Этот параметр нельзя изменить после создания рабочей области.
Теги
Теги — это пары "имя-значение", которые можно назначать ресурсам и группам ресурсов для их категоризации, а также консолидированного отображения данных для выставления счетов.
Назначьте теги рабочей области, введя пары "имя-значение". Дополнительные сведения см. в статье Использование тегов для организации ресурсов в Azure.
Также используйте теги для [принудительного применения политик рабочей области)(#enforce-policies).
Скачивание файла конфигурации.
Если вы запускаете код в вычислительном экземпляре, пропустите этот шаг. Вычислительный экземпляр создает и сохраняет копию этого файла.
Чтобы использовать код в локальной среде, которая ссылается на эту рабочую область, скачайте файл:
Выбор рабочей области в Студии Azure
В правом верхнем углу выберите имя рабочей области, а затем нажмите кнопку "Скачать config.json
Поместите файл в структуру каталогов, в которой хранятся скрипты Python или Jupyter Notebook. Тот же каталог, подкаталог с именем .azureml или родительский каталог может содержать этот файл. При создании вычислительного экземпляра этот файл автоматически добавляется в нужный каталог на виртуальной машине.
Принудительное применение политик
Вы можете включить или отключить эти функции рабочей области:
- Возможности обратной связи в рабочей области. К возможностям относятся случайные опросы в продукте и средство обратной связи с улыбкой в баннере рабочей области.
- Возможность пробовать предварительные версии функций в рабочей области.
Эти функции включены по умолчанию. Чтобы отключить их, выполните приведенные действия.
При создании рабочей области отключите функции из раздела "Теги ":
- Отключите отзыв, добавив пару "ADMIN_HIDE_SURVEY: TRUE"
- Отключите предварительные версии, добавив пару "AZML_DISABLE_PREVIEW_FEATURE": "TRUE"
Для существующей рабочей области отключите функции из раздела "Теги" :
- Перейдите к ресурсу рабочей области в портал Azure
- Открытие тегов на панели навигации слева
- Отключите отзыв, добавив пару "ADMIN_HIDE_SURVEY: TRUE"
- Отключите предварительные версии, добавив пару "AZML_DISABLE_PREVIEW_FEATURE: TRUE"
- Выберите Применить.
Вы можете отключить предварительные версии на уровне подписки, гарантируя, что она отключена для всех рабочих областей в подписке. В этом случае пользователи в подписке также не могут получить доступ к средству предварительного просмотра перед выбором рабочей области. Этот параметр полезен для администраторов, которые хотят убедиться, что функции предварительной версии не используются в своей организации.
Если параметр предварительной версии отключен на уровне подписки, параметр его для отдельных рабочих областей игнорируется.
Чтобы отключить предварительные версии функций на уровне подписки, выполните следующие действия.
- Перейдите к ресурсу подписки в портал Azure
- Открытие тегов на панели навигации слева
- Отключите предварительные версии для всех рабочих областей в подписке, добавив пару "AZML_DISABLE_PREVIEW_FEATURE": "TRUE"
- Выберите Применить.
Подключение к рабочей области
При выполнении задач машинного обучения с помощью пакета SDK требуется объект MLClient, указывающий подключение к рабочей области. Объект можно создать MLClient
из параметров или с помощью файла конфигурации.
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python azure-ai-ml версии 2 (current)
С помощью файла конфигурации: этот код считывает содержимое файла конфигурации, чтобы найти рабочую область. Откроется запрос на вход, если вы еще не выполнили проверку подлинности.
from azure.ai.ml import MLClient # read the config from the current directory ws_from_config = MLClient.from_config(credential=DefaultAzureCredential())
Из параметров: нет необходимости использовать файл config.json, если вы используете этот подход.
from azure.ai.ml import MLClient from azure.ai.ml.entities import Workspace from azure.identity import DefaultAzureCredential ws = MLClient( DefaultAzureCredential(), subscription_id="<SUBSCRIPTION_ID>", resource_group_name="<RESOURCE_GROUP>", workspace_name="<AML_WORKSPACE_NAME>", ) print(ws)
Если у вас возникли проблемы с доступом к подписке, ознакомьтесь с разделом "Настройка проверки подлинности для Машинное обучение Azure ресурсов и рабочих процессов" и "Проверка подлинности" в записной книжке Машинное обучение Azure.
Поиск рабочей области
Просмотрите список всех доступных рабочих областей. Вы также можете найти рабочую область в Студии. См. статью "Поиск Машинное обучение Azure ресурсов (предварительная версия)".
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python azure-ai-ml версии 2 (current)
from azure.ai.ml import MLClient
from azure.ai.ml.entities import Workspace
from azure.identity import DefaultAzureCredential
# Enter details of your subscription
subscription_id = "<SUBSCRIPTION_ID>"
resource_group = "<RESOURCE_GROUP>"
my_ml_client = MLClient(DefaultAzureCredential(), subscription_id, resource_group)
for ws in my_ml_client.workspaces.list():
print(ws.name, ":", ws.location, ":", ws.description)
Чтобы получить сведения о конкретной рабочей области, выполните следующие действия.
ws = my_ml_client.workspaces.get("<AML_WORKSPACE_NAME>")
# uncomment this line after providing a workspace name above
# print(ws.location,":", ws.resource_group)
Удаление рабочей области
Если эта рабочая область больше не нужна, удалите ее.
Предупреждение
Если обратимое удаление включено для рабочей области, его можно восстановить после удаления. Если обратимое удаление не включено или вы выбираете параметр для окончательного удаления рабочей области, его невозможно восстановить. Дополнительные сведения см. в разделе "Восстановление удаленной рабочей области".
Совет
Поведение по умолчанию для Машинное обучение Azure заключается в обратимом удалении рабочей области. Это означает, что рабочая область не сразу удаляется, но вместо этого помечается для удаления. Дополнительные сведения см. в статье "Обратимое удаление".
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python azure-ai-ml версии 2 (current)
ml_client.workspaces.begin_delete(name=ws_basic.name, delete_dependent_resources=True)
Действие по умолчанию не автоматически удаляет ресурсы, связанные с рабочей областью. Задайте для delete_dependent_resources
значение true, чтобы удалить также и эти ресурсы.
- Реестр контейнеров
- учетная запись хранения
- хранилище ключей
- Application Insights
Очистка ресурсов
Внимание
Созданные вами ресурсы могут использоваться в качестве необходимых компонентов при работе с другими руководствами по Машинному обучению Azure.
Если вы не планируете использовать созданные вами ресурсы, удалите их, чтобы с вас не взималась плата:
На портале Azure выберите Группы ресурсов в левой части окна.
Выберите созданную группу ресурсов из списка.
Выберите команду Удалить группу ресурсов.
Введите имя группы ресурсов. Затем выберите Удалить.
Устранение неполадок
Поддерживаемые браузеры в Студия машинного обучения Azure. Мы рекомендуем использовать самый актуальный браузер, совместимый с операционной системой. Поддерживаются следующие браузеры:
- Microsoft Edge (новая версия Microsoft Edge, последняя версия. Примечание. Устаревшая версия Microsoft Edge не поддерживается)
- Safari (последняя версия, только для Mac);
- Chrome (последняя версия);
- Firefox (последняя версия).
Портал Azure:
- Если вы перейдете непосредственно в рабочую область по общей ссылке из пакета SDK или на портале Azure, то не сможете увидеть стандартную страницу обзора со сведениями о подписке в расширении. Кроме того, в этом сценарии невозможно переключиться на другую рабочую область. Чтобы просмотреть другую рабочую область, перейдите непосредственно в студию машинного обучения Azure и найдите имя рабочей области.
- Все ресурсы (данные, эксперименты, вычисления и т. д.) доступны только в Студия машинного обучения Azure. Портал Azure не предлагает их.
- При попытке экспортировать шаблон для рабочей области из портал Azure может вернуться ошибка, аналогичная этому тексту:
Could not get resource of the type <type>. Resources of this type will not be exported.
в качестве обходного решения используйте один из шаблонов, предоставленных в https://github.com/Azure/azure-quickstart-templates/tree/master/quickstarts/microsoft.machinelearningservices качестве основы для шаблона.
Диагностика рабочей области
Из Студии машинного обучения Azure или пакета SDK Python можно запустить диагностику в рабочей области. После выполнения диагностики возвращается список всех обнаруженных проблем. Этот список содержит ссылки на возможные решения. Дополнительные сведения см. в статье Как использовать диагностику рабочей области.
Ошибки поставщика ресурсов
При создании рабочей области машинного обучения 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
В рабочей области Машинное обучение Azure для некоторых операций используется Реестр контейнеров Azure (ACR). Он автоматически создает экземпляр ACR при первом необходимости.
Предупреждение
После создания Реестр контейнеров Azure для рабочей области не удаляйте его. Это нарушает рабочую область Машинное обучение Azure.
Примеры
Примеры в этой статье приведены из workspace.ipynb.
Следующие шаги
После создания рабочей области узнайте, как обучать и развертывать модель.
Дополнительные сведения о планировании рабочей области для требований вашей организации см. в статье "Упорядочение" и настройка Машинное обучение Azure.
- Если вам нужно переместить рабочую область в другую подписку Azure, перейдите к разделу "Как переместить рабочую область".
Сведения о том, как поддерживать Машинное обучение Azure актуальности последних обновлений системы безопасности, посетите страницу управления уязвимостями.