Поделиться через


Управление рабочими областями Машинное обучение Azure с помощью пакета SDK для Python (версия 1)

ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 1

В этой статье вы создаете, просматриваете и удаляете рабочие области Машинное обучение Azure для Машинное обучение Azure с помощью пакета SDK для Python.

По мере изменения ваших потребностей или увеличения требований к автоматизации вы также можете управлять рабочими областями с помощью CLI или расширения VS Code.

Необходимые компоненты

Ограничения

  • При создании новой рабочей области можно автоматически создавать службы, необходимые рабочей области, или использовать существующие службы. Если вы хотите использовать существующие службы из подписки Azure, отличной от рабочей области, необходимо зарегистрировать пространство имен Машинного обучения Azure в подписке, которая содержит эти службы. Например, если вы создаете рабочую область в подписке A, использующую учетную запись хранения в подписке B, пространство имен Машинное обучение Azure необходимо зарегистрировать в подписке B, прежде чем рабочая область сможет использовать учетную запись хранения.

    Поставщик ресурсов для Машинного обучения Azure — Microsoft.MachineLearningServices. Сведения о том, зарегистрировано ли оно или зарегистрировано, см. в разделе поставщиков ресурсов и типов Azure.

    Внимание

    Эта информация применяется только к ресурсам, предоставляемым во время создания рабочей области: учетные записи служба хранилища Azure, Реестр контейнеров Azure, Azure Key Vault и Application Insights.

  • По умолчанию при создании рабочей области также создается Реестр контейнеров Azure (ACR). Так как ACR в настоящее время не поддерживает символы юникода в именах групп ресурсов, используйте группу ресурсов, которая не содержит эти символы.

  • Машинное обучение Azure не поддерживает иерархическое пространство имен (Azure Data Lake Storage 2-го поколения функцию) для учетной записи хранения рабочей области по умолчанию.

Совет

Экземпляр Azure Application Insights создается при создании рабочей области. При необходимости экземпляр Application Insights можно удалить после создания кластера. Удаление ограничивает сведения, собранные из рабочей области, и может оказаться более сложным для устранения неполадок. При удалении экземпляра Application Insights, созданного рабочей областью, единственным способом ее повторного создания является удаление и повторное создание рабочей области.

Дополнительные сведения об использовании экземпляра Application Insights см. в статье "Мониторинг и сбор данных из Машинное обучение конечных точек веб-службы".

Создание рабочей области

Вы можете создать рабочую область непосредственно в Студии машинного обучения Azure с ограниченными возможностями. Можно также использовать один из следующих методов для расширения управления параметрами.

  • Спецификация по умолчанию. По умолчанию зависимые ресурсы, а также группа ресурсов будут созданы автоматически. Этот код создает рабочую область с именем myworkspace и группу ресурсов с именем myresourcegroup в eastus2.

    ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 1

    from azureml.core import Workspace
    
    ws = Workspace.create(name='myworkspace',
                   subscription_id='<azure-subscription-id>',
                   resource_group='myresourcegroup',
                   create_resource_group=True,
                   location='eastus2'
                   )
    

    Задайте для параметра create_resource_group значение False, если у вас уже есть группа ресурсов Azure, которую вы хотите использовать для этой рабочей области.

  • Использование нескольких клиентов. Если у вас несколько учетных записей, добавьте идентификатор клиента идентификатора Microsoft Entra, который вы хотите использовать. Найдите идентификатор клиента из портал Azure в разделе "Идентификатор Microsoft Entra", "Внешние удостоверения".

    ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 1

    from azureml.core.authentication import InteractiveLoginAuthentication
    from azureml.core import Workspace
    
    interactive_auth = InteractiveLoginAuthentication(tenant_id="my-tenant-id")
    ws = Workspace.create(name='myworkspace',
                subscription_id='<azure-subscription-id>',
                resource_group='myresourcegroup',
                create_resource_group=True,
                location='eastus2',
                auth=interactive_auth
                )
    
  • Национальное облако. Вам нужен дополнительный код для проверки подлинности в Azure, если вы работаете в суверенном облаке.

    ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 1

    from azureml.core.authentication import InteractiveLoginAuthentication
    from azureml.core import Workspace
    
    interactive_auth = InteractiveLoginAuthentication(cloud="<cloud name>") # for example, cloud="AzureUSGovernment"
    ws = Workspace.create(name='myworkspace',
                subscription_id='<azure-subscription-id>',
                resource_group='myresourcegroup',
                create_resource_group=True,
                location='eastus2',
                auth=interactive_auth
                )
    

Дополнительные сведения см. в разделе Справочник по пакету SDK для рабочей области.

Если у вас возникли проблемы с доступом к подписке, ознакомьтесь с разделом "Настройка проверки подлинности для Машинное обучение Azure ресурсов и рабочих процессов" и "Проверка подлинности" в записной книжке Машинное обучение Azure.

Сеть

Внимание

Дополнительные сведения об использовании частной конечной точки и виртуальной сети с рабочей областью см. в разделе Сетевая изоляция и конфиденциальность.

Пакет SDK для Python для службы Машинного обучения Azure предоставляет класс PrivateEndpointConfig, который можно использовать с Workspace.create() для создания рабочей области с частной конечной точкой. Для этого класса требуется существующая виртуальная сеть.

Расширенные

По умолчанию метаданные для рабочей области хранятся в экземпляре Azure Cosmos DB, который обслуживается Майкрософт. Эти данные шифруются с помощью ключей, управляемых Майкрософт.

Чтобы ограничить данные, собираемые Майкрософт в вашей рабочей области, выберите на портале параметр High business impact workspace (Рабочая область с сильным влиянием на организацию) или установите hbi_workspace=true в Python. Дополнительные сведения об этом параметре см. в разделе Шифрование данных при хранении.

Внимание

Выбрать параметр сильного влияния на организацию можно только при создании рабочей области. После создания рабочей области изменить этот параметр нельзя.

Использование собственного ключа шифрования данных

Вы можете предоставить собственный ключ для шифрования данных. При этом создается экземпляр Azure Cosmos DB, в котором хранятся метаданные в вашей подписке Azure. Дополнительные сведения см. в разделе "Ключи, управляемые клиентом" для Машинное обучение Azure.

Чтобы предоставить собственный ключ, выполните следующие действия.

Внимание

Перед выполнением этих действий необходимо сначала выполнить следующие действия.

Выполните действия, описанные в разделе Настройка ключей, управляемых клиентом, чтобы:

  • зарегистрировать поставщик ресурсов Azure Cosmos DB;
  • Создание и настройка Azure Key Vault
  • создать ключ.

Чтобы указать ключ, управляемый клиентом, используйте cmk_keyvault и resource_cmk_uri.

from azureml.core import Workspace
   ws = Workspace.create(name='myworkspace',
               subscription_id='<azure-subscription-id>',
               resource_group='myresourcegroup',
               create_resource_group=True,
               location='eastus2'
               cmk_keyvault='subscriptions/<azure-subscription-id>/resourcegroups/myresourcegroup/providers/microsoft.keyvault/vaults/<keyvault-name>', 
               resource_cmk_uri='<key-identifier>'
               )

Скачивание файла конфигурации.

Если для выполнения кода используется вычислительный экземпляр в рабочей области, пропустите этот шаг. Вычислительный экземпляр создаст и сохранит копию этого файла.

Если вы планируете использовать код в локальной среде, которая ссылается на эту рабочую область (ws), напишите файл конфигурации:

ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 1

ws.write_config()

Поместите файл в структуру каталогов со скриптами Python или приложениями Jupyter Notebook. Он может находиться в том же каталоге, подкаталоге с именем .azureml или родительском каталоге. При создании вычислительного экземпляра этот файл автоматически добавляется в нужный каталог на виртуальной машине.

Подключение к рабочей области

В коде Python создайте объект рабочей области для подключения к рабочей области. Этот код считывает содержимое файла конфигурации, чтобы найти рабочую область. Вы получите запрос на вход, если вы еще не прошли проверку подлинности.

ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 1

from azureml.core import Workspace

ws = Workspace.from_config()
  • Использование нескольких клиентов. Если у вас несколько учетных записей, добавьте идентификатор клиента идентификатора Microsoft Entra, который вы хотите использовать. Найдите идентификатор клиента из портал Azure в разделе "Идентификатор Microsoft Entra", "Внешние удостоверения".

    ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 1

    from azureml.core.authentication import InteractiveLoginAuthentication
    from azureml.core import Workspace
    
    interactive_auth = InteractiveLoginAuthentication(tenant_id="my-tenant-id")
    ws = Workspace.from_config(auth=interactive_auth)
    
  • Национальное облако. Вам нужен дополнительный код для проверки подлинности в Azure, если вы работаете в суверенном облаке.

    ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 1

    from azureml.core.authentication import InteractiveLoginAuthentication
    from azureml.core import Workspace
    
    interactive_auth = InteractiveLoginAuthentication(cloud="<cloud name>") # for example, cloud="AzureUSGovernment"
    ws = Workspace.from_config(auth=interactive_auth)
    

Если у вас возникли проблемы с доступом к подписке, ознакомьтесь с разделом "Настройка проверки подлинности для Машинное обучение Azure ресурсов и рабочих процессов" и "Проверка подлинности" в записной книжке Машинное обучение Azure.

Поиск рабочей области

Просмотрите список всех рабочих областей, которые можно использовать.

Найдите свою подписку на странице подписок на портале Azure. Скопируйте идентификатор и используйте его в приведенном ниже коде, чтобы просмотреть все рабочие области, доступные для этой подписки.

ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 1

from azureml.core import Workspace

Workspace.list('<subscription-id>')

Метод Workspace.list(.) не возвращает полный объект рабочей области. Он возвращает только основные сведения о существующих рабочих областях в подписке. Чтобы получить полный объект определенной рабочей области, используйте метод Workspace.get(..).

Удаление рабочей области

Если эта рабочая область больше не нужна, удалите ее.

Предупреждение

Если обратимое удаление включено для рабочей области, его можно восстановить после удаления. Если обратимое удаление не включено или вы выбираете параметр для окончательного удаления рабочей области, его невозможно восстановить. Дополнительные сведения см. в разделе "Восстановление удаленной рабочей области".

Совет

Поведение по умолчанию для Машинное обучение Azure заключается в обратимом удалении рабочей области. Это означает, что рабочая область не сразу удаляется, но вместо этого помечается для удаления. Дополнительные сведения см. в статье "Обратимое удаление".

Удалите рабочую область ws:

ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 1

ws.delete(delete_dependent_resources=False, no_wait=False)

Действие по умолчанию не требуется удалять ресурсы, связанные с рабочей областью, то есть реестр контейнеров, учетную запись хранения, хранилище ключей и аналитику приложений. Задайте для delete_dependent_resources значение true, чтобы удалить также и эти ресурсы.

Очистка ресурсов

Внимание

Созданные вами ресурсы могут использоваться в качестве необходимых компонентов при работе с другими руководствами по Машинному обучению Azure.

Если вы не планируете использовать созданные вами ресурсы, удалите их, чтобы с вас не взималась плата:

  1. В портал Azure в поле поиска введите группы ресурсов и выберите его из результатов.

  2. Выберите созданную группу ресурсов из списка.

  3. На странице "Обзор" выберите "Удалить группу ресурсов".

    Снимок экрана с выбранными параметрами для удаления группы ресурсов на портале Azure.

  4. Введите имя группы ресурсов. Затем выберите Удалить.

Устранение неполадок

  • Поддерживаемые браузеры в Машинном обучении 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.

Следующие шаги

После создания рабочей области узнайте, как обучать и развертывать модель.

Дополнительные сведения о планировании рабочей области в соответствии с требованиями организации см. в статье об упорядочении и настройке Машинного обучения Azure.

Сведения о том, как поддерживать Машинное обучение Azure актуальности последних обновлений системы безопасности, см. в разделе "Управление уязвимостями".