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


Перспектива Azure Well-Architected Framework в Машинном обучении Azure

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

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

Важно!

Как пользоваться руководством

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

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

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

Технологические область

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

  • Машинное обучение
  • Вычислительные кластеры машинного обучения
  • Вычислительные экземпляры машинного обучения

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

надежность;

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

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

Контрольный список проектирования

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

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

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

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

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

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

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

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

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

Безопасность

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

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

Контрольный список проектирования

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

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

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

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

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

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

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

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

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

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

  • Целостность. Установите доверие и проверенный доступ, реализовав шифрование неактивных и передаваемых данных.

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

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

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

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

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

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

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

Контрольный список проектирования

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

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

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

  • Оптимизация использования. Примените политики и настройте квоты в соответствии с верхними и нижними ограничениями проекта.

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

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

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

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

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

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

Эффективность операционных процессов

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

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

Контрольный список проектирования

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Уровень производительности

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

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

Контрольный список проектирования

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Политики Azure

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

Рассмотрим следующую политику, связанную с оптимизацией затрат:

Рассмотрите следующие политики, связанные с эффективностью работы:

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

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

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

Рассмотрите следующие рекомендации Помощника по безопасности:

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

Рассмотрите следующие рекомендации Помощника для повышения эффективности работы:

  • Журналы ресурсов в рабочих областях машинного обучения должны быть включены.

Дальнейшие действия

Эти статьи рассматриваются как ресурсы, демонстрирующие рекомендации, выделенные в этой статье.