Рекомендации по архитектуре для Машинного обучения Azure

Машинное обучение Azure — это управляемая облачная служба, которую можно использовать для обучения, развертывания и управления моделями машинного обучения. Существует широкий спектр вариантов и конфигураций как для обучения, так и для развертывания моделей, включая варианты оборудования и настройки вычислительных систем. Вы можете развернуть модели машинного обучения для вычислений машинного обучения или в других службах Azure, таких как Служба Azure Kubernetes (AKS).

В этой статье приведены рекомендации по архитектуре принятия обоснованных решений при использовании машинного обучения для обучения, развертывания и управления моделями машинного обучения. Руководство основано на основных принципах Azure Well-Architected Framework.

Область технологий

В этом обзоре рассматриваются взаимосвязанные решения для этих ресурсов Azure:

  • Machine Learning
  • Вычислительные кластеры машинного обучения
  • Вычислительные инстансы машинного обучения

Проверка не касается подключенных ресурсов, таких как хранилища данных или Azure Key Vault.

Замечание

Для создания приложений ИИ и агентов ИИ рекомендуется использовать Microsoft Foundry как предпочтительную платформу разработки. Foundry специально предназначен для создания, тестирования и развертывания генеративных AI-решений, включая приложения RAG (Retrieval Augmented Generation) и мультимодальные AI-опыты.

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

Reliability

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

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

Контрольный список разработки рабочей нагрузки

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

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

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

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

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

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

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

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

Рекомендации по настройке

Recommendation Benefit
Развертывание модели с несколькими регионами. Для повышения надежности и доступности по возможности рассмотрите среду развертывания с несколькими регионами. Развертывание с несколькими регионами гарантирует, что рабочие нагрузки машинного обучения продолжают выполняться, даже если в одном регионе возникает сбой. Развертывание с несколькими регионами улучшает распределение нагрузки между регионами, что может повысить производительность пользователей, расположенных в разных географических областях. Для получения дополнительной информации см. Переключение на резервные мощности для обеспечения непрерывности бизнес-процессов и восстановления после сбоев.
Устойчивость обучения модели. Использование функций контрольных точек, поддерживаемых машинным обучением, включая контейнер Azure для PyTorch, класс TensorFlow Estimator, или объект Run и класс FileDataset, поддерживающий контрольную точку модели. Контрольная точка модели периодически сохраняет состояние модели машинного обучения во время обучения, чтобы ее можно было восстановить в случае прерывания, сбоя или завершения.
Используйте уровень выделенной виртуальной машины для вычислительных кластеров: используйте уровень выделенной виртуальной машины для вычислительных кластеров для пакетной обработки данных, чтобы убедиться, что ваше пакетное задание не будет прервано. Низкоприоритетные виртуальные машины предоставляются по сниженной цене, но являются предварительными. Кластеры, использующие уровень виртуальных машин с выделенными ресурсами, не прерываются.

Security

Цель компонента "Безопасность" — обеспечить конфиденциальности, целостности и доступности гарантии рабочей нагрузки.

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

Контрольный список разработки рабочей нагрузки

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

  • Доступность: уменьшите область атаки рабочей области Машинного обучения, ограничив доступ к рабочей области ресурсам в виртуальной сети.

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

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

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

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

  • Целостность. Регулирование доступа к утвержденным реестрам контейнеров. Убедитесь, что вычислительные ресурсы машинного обучения могут получить доступ только к утвержденным реестрам.

  • Целостность. Регулирование пакетов Python, которые могут выполняться при вычислении машинного обучения. Регулирование пакетов Python гарантирует выполнение только доверенных пакетов.

  • Целостность. Требовать подписывать код, используемый для обучения в вычислительных средах машинного обучения. Требование подписывания кода гарантирует, что выполнение кода выполняется из доверенного источника и не было изменено.

  • Конфиденциальность. Соблюдайте принцип наименьшей привилегии для управления доступом на основе ролей (RBAC) к рабочей области машинного обучения и связанным ресурсам, таким как учетная запись хранения рабочей области, чтобы обеспечить пользователям только необходимые разрешения для их роли, тем самым минимизируя потенциальные риски безопасности.

  • Целостность. Обеспечение доверия и проверенного доступа путем реализации шифрования для неактивных данных и передаваемых данных.

Рекомендации по настройке

Recommendation Benefit
Базовые показатели безопасности. Чтобы повысить безопасность и соответствие службы машинного обучения, примените базовые показатели безопасности Azure для машинного обучения. Базовые показатели безопасности предоставляют специальное руководство по важным аспектам безопасности, таким как безопасность сети, управление удостоверениями, защита данных и привилегированный доступ. Для оптимальной безопасности используйте Microsoft Defender для облака для мониторинга этих аспектов.
Управляемая изоляция виртуальной сети: настройка изоляции управляемой виртуальной сети для машинного обучения. При включении изоляции управляемой виртуальной сети для рабочей области создается управляемая виртуальная сеть. Управляемые вычислительные ресурсы, создаваемые для рабочей области, автоматически используют эту управляемую виртуальную сеть. Если вы не можете реализовать изоляцию управляемой виртуальной сети, следуйте рекомендациям по топологии сети , чтобы разделить вычисления в выделенную подсеть от остальных ресурсов в решении, включая частные конечные точки для ресурсов рабочей области. Изоляция управляемой виртуальной сети повышает безопасность, изолируя рабочую область от других сетей, уменьшая риск несанкционированного доступа. В сценарии, в котором нарушение возникает в другой сети в вашей организации, изолированная сеть рабочей области машинного обучения не влияет на защиту рабочих нагрузок машинного обучения.
Сетевая изоляция машинного обучения: настройте частную конечную точку для рабочей области Машинного обучения и подключитесь к рабочей области по этой частной конечной точке. Сетевая изоляция машинного обучения повышает безопасность, обеспечивая безопасный и контролируемый доступ к рабочей области. С помощью частной конечной точки, настроенной для рабочей области, можно ограничить доступ к рабочей области только через частные IP-адреса.
Разрешить только разрешенный исходящий доступ: Настройте режим исходящего доступа в рабочей области Машинного обучения для минимизации риска утечки данных. Настройте частные конечные точки, теги служб или полные доменные имена (FQDN) для ресурсов, к которым требуется доступ. Эта конфигурация сводит к минимуму риск кражи данных, повышая безопасность данных. При включенной этой конфигурации злоумышленник, который получает доступ к вашей системе, не может отправлять ваши данные в неутвержденное внешнее назначение.
Изоляция виртуальной сети для зависимых служб: настройка зависимых служб, таких как хранилище, Key Vault и реестр контейнеров с частными конечными точками и отключение общедоступного доступа. Сетевая изоляция повышает безопасность путем ограничения доступа к решениям платформы Azure как услуга (PaaS) только для частных IP-адресов.
Управляемое удостоверение: используйте управляемые удостоверения для проверки подлинности между машинным обучением и другими службами. Управляемые удостоверения повышают безопасность, устраняя необходимость хранения учетных данных и управления и смены субъектов-служб вручную.
Отключите локальную проверку подлинности: отключите локальную проверку подлинности для вычислительных кластеров и экземпляров машинного обучения. Отключение локальной проверки подлинности повышает безопасность вычислительных ресурсов машинного обучения и обеспечивает централизованный контроль и управление удостоверениями и учетными данными ресурсов.
Отключите общедоступный порт SSH: убедитесь, что общедоступный порт Secure Shell (SSH) закрыт в вычислительном кластере машинного обучения, задав значение remoteLoginPortPublicAccessDisabled. Примените аналогичную конфигурацию при использовании другого вычисления. Отключение доступа SSH помогает предотвратить несанкционированный доступ, избежать потенциального вреда вашей системе и защитить вас от атак грубой силы.
Не подготавливайте общедоступные IP-адреса для вычислений машинного обучения: задайте enableNodePublicIp как false при подготовке вычислительных кластеров или экземпляров для машинного обучения. Примените аналогичную конфигурацию при использовании другого вычисления. Избегайте использования общедоступных IP-адресов для повышения безопасности, ограничивая риск несанкционированного доступа к вашей вычислительной системе или кластерам.
Получите последний образ операционной системы: повторно создайте вычислительные экземпляры, чтобы получить последний образ операционной системы. Использование последних образов гарантирует, что вы поддерживаете согласованную, стабильную и безопасную среду, в том числе обеспечивая наличие последних исправлений безопасности.
Строгие элементы управления доступом к рабочей области машинного обучения: используйте группы Microsoft Entra ID для управления доступом к рабочей области и придерживайтесь принципа минимальных привилегий для RBAC. Строгие элементы управления доступом к рабочей области повышают безопасность, гарантируя, что у отдельных лиц есть только необходимые разрешения для их роли. Например, специалист по обработке и анализу данных может иметь доступ к экспериментам, но не изменять параметры безопасности, минимизируя потенциальные риски безопасности.
Ограничение развертываний каталога моделей: ограничение развертываний моделей определенным реестрам. Ограничение развертывания моделей из каталога на конкретные реестры гарантирует, что модели можно развертывать только в утвержденных реестрах. Этот подход помогает регулировать доступ к базовым моделям с открытым исходным кодом.
Шифрование неактивных данных. Рассмотрите возможность использования ключей, управляемых клиентом, с машинным обучением. Шифрование неактивных данных повышает безопасность данных, обеспечивая шифрование конфиденциальных данных с помощью ключей, управляемых вами напрямую. Если у вас есть нормативные требования к управлению собственными ключами шифрования, используйте эту функцию для соблюдения этого требования.
Свести к минимуму риск кражи данных: реализуйте защиту от кражи данных. Например, создайте политику конечной точки службы для фильтрации исходящего трафика виртуальной сети и разрешения эксфильтрации данных только на определённые учетные записи хранения Azure. Свести к минимуму риск эксфильтрации данных, ограничивая входящие и исходящие требования.

Оптимизация затрат

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

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

Контрольный список разработки рабочей нагрузки

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

  • Оптимизация использования. Выберите соответствующие ресурсы, чтобы обеспечить соответствие требованиям рабочей нагрузки. Например, выберите между ЦПУ или ГПУ, различными номерами SKU, или виртуальными машинами с низким приоритетом по сравнению с обычным приоритетом.

  • Оптимизация использования: Убедитесь, что вычислительные ресурсы, которые не используются, сокращаются или выключаются во время простоя, чтобы уменьшить потери.

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

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

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

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

Рекомендации по настройке

Recommendation Benefit
Оптимизация вычислительных ресурсов. Оптимизируйте вычислительные ресурсы на основе требований рабочей нагрузки. Выберите номер SKU, подходящий для вашей рабочей нагрузки:
  • Общее назначение — сбалансированный коэффициент ЦП к памяти, хорошо подходит для всех целей.
  • Оптимизировано для вычислений — высокий коэффициент ЦП к памяти, хорошо подходит для математических вычислений.
  • Оптимизированная для памяти — высокая память на один процессор, хорошо подходит для операций в оперативной памяти или приложений баз данных.
  • Серия M — очень большие компьютеры с огромным объемом памяти и ЦП.
  • GPU — лучше для моделей с большим количеством переменных, которые могут воспользоваться более высоким параллелизмом и специализированными основными инструкциями. Типичными приложениями являются глубокое обучение, обработка изображений или видео, научные имитации, интеллектуальный анализ данных и использование платформ разработки GPU. Проверьте несколько семейств и задокументируйте результаты в качестве базового уровня. По мере развития модели и данных наиболее подходящий вычислительный ресурс может измениться. Отслеживайте время выполнения и переоцените их по мере необходимости.
Выбор правильного вычисления критически важен, так как он напрямую влияет на затраты на выполнение рабочей нагрузки. Выбор графического процессора или модификации высокой производительности без надлежащего использования может привести к расточительным расходам, в то время как выбор недостаточных вычислительных мощностей может привести к чрезмерно длительному времени обучения и проблемам производительности.
Оптимизация масштабирования вычислений. Настройте вычислительные кластеры для автоматического масштабирования, чтобы обеспечить использование только необходимых ресурсов.

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

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

Операционное превосходство

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

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

Контрольный список разработки рабочей нагрузки

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

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

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

  • Развертывание с уверенностью: реализуйте инфраструктуру в виде кода (IaC) для рабочих областей машинного обучения, вычислительных кластеров, вычислительных экземпляров и других сред развертывания.

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

  • Наблюдаемость. Если модели развертываются в сетевых конечных точках, включите Application Insights для мониторинга конечных точек и развертываний в Сети. Отслеживайте инфраструктуру обучения, чтобы обеспечить соответствие базовым требованиям.

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

Рекомендации по настройке

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

Используйте каталоги моделей машинного обучения для реализации A/B тестирования и развертывания моделей.
Используйте реестры моделей машинного обучения для хранения и версирования моделей машинного обучения, чтобы отслеживать изменения и поддерживать историю изменений вместе с задачами и наборами данных, используемыми для обучения.

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

Хранение версий моделей в реестрах моделей машинного обучения поддерживает стратегии развертывания, такие как выпуски A/B, канаровые выпуски и откаты.
Мониторинг производительности модели: мониторинг производительности развернутых моделей и обнаружение смещения данных на наборах данных. Мониторинг развернутых моделей гарантирует соответствие моделей требованиям к производительности.

Мониторинг смещения данных помогает обнаруживать изменения входных данных, которые могут привести к снижению производительности модели. Управление смещением данных помогает гарантировать, что модель обеспечивает точные результаты с течением времени.
Мониторинг инфраструктуры. Если модели развертываются в сетевых конечных точках, включите Application Insights для мониторинга конечных точек и развертываний в Сети.

Отслеживайте инфраструктуру обучения, чтобы обеспечить соответствие базовым требованиям.

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

Аналогичным образом мониторинг учебной среды предоставляет информацию для внесения изменений в среду обучения. Используйте эту информацию, чтобы решить, масштабировать вширь или вглубь, повышать или понижать масштаб с различными SKU с разной производительностью или выбирать между центральными процессорами (ЦП) или графическими процессорами (ГП).
Создание учебных сред для машинного обучения: используйте специально подобранные среды, оптимизированные для машинного обучения, когда они доступны. Курируемые среды — это предварительно созданные среды, предоставляемые машинным обучением, которые ускоряют время развертывания и сокращают задержку развертывания и обучения. Использование курируемых сред улучшает показатели обучения и развертывания и позволяет избежать ненужных сборок образов.

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

Эффективность производительности

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

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

Контрольный список разработки рабочей нагрузки

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

  • Целевые показатели производительности. Определите допустимое время обучения и частоту переобучения для модели. Установление четкой цели по времени обучения вместе с тестированием помогает определить необходимые вычислительные ресурсы, процессоры (ЦП) и графические процессоры (GPU), а также SKU процессоров для достижения цели по времени обучения.

  • Целевые показатели производительности. Определите допустимые целевые показатели производительности для развернутых моделей, включая время отклика, запросы в секунду, частоту ошибок и время простоя. Целевые показатели производительности служат эталоном эффективности развернутой модели. Целевые объекты помогут вам определить параметры ЦП и GPU, выбрать номер SKU ЦП и требования к масштабированию.

  • Соответствие требованиям к производительности: Выберите нужные вычислительные ресурсы для обучения модели.

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

  • Соответствие требованиям к емкости. Выбор сред развертывания с возможностью автомасштабирования для добавления и удаления емкости по мере колебания спроса.

  • Обеспечение и поддержание производительности. Непрерывно отслеживайте производительность развернутых моделей, просматривайте результаты и выполняйте соответствующие действия.

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

Рекомендации по настройке

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

Оптимизируйте вычислительные ресурсы на основе требований к обучению. Сначала выберите между ЦП и GPU. По умолчанию используется ЦП, но рекомендуется использовать gpu для рабочих нагрузок, таких как глубокое обучение, обработка изображений или видео или большие объемы данных. Затем выберите номер SKU образа, который лучше всего подходит для рабочей нагрузки.

Используйте тестирование, чтобы выбрать вариант вычислений, который оптимизирует затраты на время обучения при определении базового плана.
Выбор правильного вычисления имеет решающее значение, так как оно непосредственно влияет на время обучения. Выбор правильного SKU и центрального процессора (ЦП) или графического процессора (GPU) гарантирует соответствие обучения модели вашим требованиям и целевым показателям производительности. Выбор SKU с низкой производительностью, который чрезмерно используется, может привести к чрезмерно долгим времени обучения и проблемам с производительностью.

Вычислительные кластеры обеспечивают возможность повышения производительности путем масштабирования рабочих нагрузок, поддерживающих горизонтальное масштабирование. Этот метод обеспечивает гибкость обработки рабочих нагрузок с различными требованиями и позволяет добавлять или удалять компьютеры по мере необходимости.
Масштабирование среды развертывания модели. Используйте возможности автомасштабирования среды развертывания. Для сред развертывания AKS используйте автомасштабирование кластера для масштабирования в соответствии с требованиями. Для онлайн-конечных точек автоматическое масштабирование осуществляется посредством интеграции с функцией автомасштабирования Azure Monitor. Автомасштабирование регулирует количество экземпляров развернутой модели в соответствии со спросом.
Мониторинг производительности модели. Мониторинг производительности развернутых моделей. Отслеживание эффективности моделей в условиях эксплуатации предупреждает о возможных проблемах, таких как смещение данных, смещение прогнозов, качество данных и смещение признаков.

Мониторинг смещения данных помогает обнаруживать изменения входных данных, которые могут привести к снижению производительности модели. Управление смещением данных помогает гарантировать, что модель обеспечивает точные результаты с течением времени.
Мониторинг инфраструктуры: отслеживайте сетевые конечные точки и интегрируйте с Monitor для отслеживания и мониторинга соответствующих метрик и журналов. Включите Application Insights при создании сетевых развертываний.

Отслеживайте инфраструктуру обучения и просматривайте использование ресурсов, таких как память и использование ЦП или GPU при обучении моделей, чтобы обеспечить соответствие базовым требованиям.
Конечные точки мониторинга позволяют просматривать метрики, такие как задержка запросов и запросы в минуту. Вы можете сравнить производительность и базовые показатели и использовать эти сведения, чтобы внести изменения в вычислительные ресурсы соответствующим образом. Мониторинг метрик, таких как сетевые байты, может предупредить вас, если вы приближаетесь к ограничениям квоты и предотвратить регулирование.

Аналогичным образом мониторинг учебной среды предоставляет информацию для внесения изменений в среду обучения. Используйте эту информацию, чтобы решить, масштабировать вширь или вглубь, повышать или понижать масштаб с различными SKU с разной производительностью или выбирать между центральными процессорами (ЦП) или графическими процессорами (ГП).

Политики Azure

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

  • Рабочие области машинного обучения отключают доступ к публичным сетям
  • Вычисления машинного обучения развертываются в виртуальных сетях
  • Вычисления машинного обучения отключили локальные методы проверки подлинности
  • Рабочие области машинного обучения используют подключения Private Link
  • Рабочие области машинного обучения шифруются с помощью ключей, управляемых клиентом
  • Рабочие области машинного обучения используют управляемые удостоверения, назначаемые пользователем
  • Вычислительные экземпляры машинного обучения настроены на завершение работы при бездействии.
  • Разрешенные реестры настроены для указанных вычислений Машинного обучения
  • Развертывания моделей ограничены определенными реестрами
  • Журналы ресурсов в рабочих областях машинного обучения включены

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

Рекомендации Помощника по Azure

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

Дополнительные сведения см. в разделе Помощника по Azure.

Дальнейшие шаги

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