Упорядочение и настройка сред Машинного обучения Azure

При планировании развертывания Машинное обучение Azure для корпоративной среды существуют некоторые распространенные точки принятия решений, влияющие на создание рабочей области:

  • Структура команды: способ организации команд для обработки и анализа данных и совместной работы над проектами, с учетом вариантов использования и разделения данных или требований к управлению затратами
  • Среды: среды, используемые в рамках рабочего процесса разработки и выпуска, для разделения разработки от рабочей среды
  • Регион: расположение данных и аудитории, которой необходимо обслуживать решение машинного обучения.

Структура команды и настройка рабочей области

Рабочая область — это ресурс верхнего уровня в службе "Машинное обучение Azure". Он хранит артефакты, созданные при работе с машинным обучением и управляемыми вычислительными ресурсами и указателями на подключенные и связанные ресурсы. С точки зрения управляемости рабочая область в качестве ресурса Azure Resource Manager поддерживает управление доступом на основе ролей Azure (Azure RBAC), управление по политике и использовать его в качестве единицы для создания отчетов о затратах.

Организации обычно выбирают один или несколько из следующих шаблонов решений для соблюдения требований к управлению.

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

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

При таком подходе каждый член команды должен иметь аналогичные разрешения на уровень доступа к данным. Подробные списки управления доступом на основе ролей (RBAC) и списки управления доступом (ACL) для источников данных и ресурсов экспериментирования ограничены в рабочей области. Вы не можете использовать требования по разделению данных варианта использования.

Рабочая область для каждого проекта: используйте одну рабочую область для каждого проекта, если требуется разделение ресурсов данных и экспериментов по проекту, а также требования к отчетам о затратах и бюджету на уровне проекта. Например, у вас может быть организация с четырьмя командами машинного обучения, которые выполняют три проекта для каждого из 12 экземпляров рабочей области.

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

Что следует учитывать при таком подходе, заключается в изоляции результатов экспериментирования и ресурсов. Обнаружение и повторное использование ресурсов может оказаться более сложным, так как ресурсы распределяются по нескольким экземплярам рабочей области.

Отдельная рабочая область: используйте одну рабочую область, не связанную с командой или не связанными с проектом, или если затраты не могут быть напрямую связаны с определенной единицей выставления счетов, например с R&D.

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

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

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

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

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

Развертывание рабочей области в одной среде: при выборе развертывания одной рабочей области среды Машинное обучение Azure развертывается в одной среде. Эта настройка распространена для сценариев, ориентированных на исследования, где нет необходимости выпускать артефакты машинного обучения на основе их этапа жизненного цикла в разных средах. Другой сценарий, в котором эта настройка имеет смысл, заключается в том, что развертываются только службы вывода, а не конвейеры машинного обучения.

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

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

Diagram of a single environment workspace deployment in Azure Machine Learning.

Развертывание нескольких рабочих областей среды. При выборе развертывания нескольких рабочих областей экземпляр рабочей области развертывается для каждой среды. Распространенный сценарий такой настройки — это контролируемое рабочее место с четким разделением обязанностей между средами и для пользователей, имеющих доступ к ресурсам в этих средах.

Преимущества такой настройки:

  • Поэтапное развертывание рабочих процессов машинного обучения и артефактов. Например, модели в разных средах с потенциалом повышения гибкости и сокращения времени на развертывание.
  • Улучшенная безопасность и контроль ресурсов, так как вы можете назначать дополнительные ограничения доступа в подчиненных средах.
  • Учебные сценарии с рабочими данными в средах, не связанных с разработкой, так как вы можете предоставить доступ выбранной группе пользователей.

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

Diagram of a multiple environment workspace deployment in Azure Machine Learning.

Одна среда с ограниченным доступом к данным, одна с рабочим доступом к данным: при выборе этой настройки Машинное обучение Azure развертывается в двух средах: один с ограниченным доступом к данным и одним с рабочим доступом к данным. Такая настройка является распространенной, если необходимо разделить среду разработки и рабочую среду. Например, вы можете работать в рамках организационных ограничений, стремясь сделать рабочие данные доступными в любой среде, или вам может потребоваться отделить действия по разработке от рабочих действий без излишнего дублирования данных из-за высокой стоимости обслуживания.

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

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

Diagram of an environment with limited data access, and an environment with production data access.

Регионы и настройка ресурсов

Расположение ресурсов, данных или пользователей может потребовать создания экземпляров рабочей области машинного обучения Azure и связанных ресурсов в нескольких регионах Azure. Например, у одного проекта ресурсы могут находиться в регионах Azure "Западная Европа" и "Восточная часть США" для повышения производительности, снижения стоимости и обеспечения соответствия. Распространены следующие сценарии.

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

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

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

Diagram of training jobs operating in the same Azure region as the data.

Региональная служба: службы машинного обучения развертываются близко к месту жизни целевой аудитории. Например, если целевые пользователи находятся в Австралии, а основной область хранения и экспериментирования — Западная Европа, разверните рабочую область машинного обучения для экспериментирования в Западной Европе. Затем вы развернете кластер AKS для развертывания конечной точки вывода в Австралии.

Преимуществом такой настройки является возможность вывода в центр обработки данных, где принимаются новые данные, минимизация задержек и перемещения данных, а также соответствие местным нормативным требованиям.

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

Diagram of Azure Machine Learning services deployed near where the target audience lives.

Региональная тонкая настройка: базовая модель обучает начальный набор данных, например общедоступные данные или данные из всех регионов, а затем настраивается с помощью регионального набора данных. Региональный набор данных может существовать только в определенном регионе из-за ограничений на соответствие или перемещение данных. Например, вам может потребоваться обучение базовой модели в рабочей области в регионе А, в то время как в рабочей области B выполняется точная настройка.

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

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

Diagram of an initial dataset deployed using public data or data from all regions, and fine-tuned later with a regional dataset.

Эталонная реализация

Чтобы проиллюстрировать развертывание Машинное обучение Azure в более крупном параметре, в этом разделе показано, как организация "Contoso" настраивает Машинное обучение Azure, учитывая их ограничения организации, отчеты и требования к бюджету:

  • Contoso создает группы ресурсов на основе решения для управления затратами и ведения отчетов.
  • ИТ-администраторы создают группы ресурсов и ресурсы только для тех решений, которые не соответствуют требованиям к бюджету.
  • Из-за исследовательского и неопределенного характера обработки и анализа данных пользователям необходимо место для экспериментов и работы в целях анализа вариантов использования и данных. Часто исследовательская работа не может быть напрямую связана с конкретным вариантом использования и может быть связана только с бюджетом R&D. Компания Contoso хочет финансировать некоторые ресурсы машинного обучения централизованно, что любой пользователь может использовать в целях изучения.
  • После того как вариант использования машинного обучения окажется успешным в исследовательской среде, команды могут запрашивать группы ресурсов. Например, компания может настроить разработку, QA и Production для работы проекта итеративного эксперимента и доступа к рабочим источникам данных.
  • Требования к соответствию и разделению данных не допускают существование в средах разработки актуальных рабочих данных.
  • Различные требования RBAC существуют для различных групп пользователей по ИТ-политике в каждой среде, например доступ является более строгим в рабочей среде.
  • Все данные, экспериментирование и вывод выполняются в одном регионе Azure.

Чтобы соответствовать приведенным выше требованиям, Компания Contoso настраивает свои ресурсы следующим образом:

  • Машинное обучение Azure рабочих областей и групп ресурсов область для каждого проекта, чтобы соответствовать требованиям к сегрегации вариантов бюджета и вариантов использования.
  • Настройка с несколькими средами для Машинного обучения Azure и связанных ресурсов для удовлетворения требований к управлению затратами, RBAC и доступу к данным.
  • Отдельная группа ресурсов и рабочая область машинного обучения, предназначенная для изучения.
  • Группы Microsoft Entra, которые отличаются для каждой роли пользователя и среды. Например, операции, которые специалист по обработке и анализу данных могут выполнять в рабочей среде, отличаются от среды разработки, а уровни доступа могут отличаться на решение.
  • Все ресурсы, созданные в одном регионе Azure.

Diagram of a sample Azure Machine Learning multiple-environment setup for the Contoso organization.

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

Узнайте о рекомендациях по машинному обучению DevOps с помощью Машинное обучение Azure.

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