Что такое служба "Машинное обучение Microsoft Azure"?

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

Вы можете создать модель в Машинном обучении Azure или использовать модель, построенную на основе платформы с открытым кодом, например Pytorch, TensorFlow или scikit-learn. Средства MLOps помогают отслеживать, переучивать и повторно развертывать модели.

Совет

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

Для кого предназначено Машинное обучение Azure?

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

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

Предприятия, работающие в облаке Microsoft Azure, смогут использовать знакомые системы безопасности и управления доступом на основе ролей (RBAC) для инфраструктуры. Вы можете настроить проект для запрета доступа к защищенным данным и операциям выбора.

Совместная работа для команд машинного обучения

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

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

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

Разработчикам доступны знакомые интерфейсы в Машинном обучении Azure, например следующие.

Пользовательский интерфейс студии

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

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

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

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

Готовность к работе и безопасность в масштабах предприятия

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

Интеграция в области безопасности:

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

См. учебник по настройке защищенной рабочей области.

Интеграции Azure для комплексных решений

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

  • Azure Synapse Analytics для обработки и потоковой передачи данных с помощью Spark.
  • Azure Arc, где можно запускать службы Azure в среде Kubernetes.
  • Служба хранилища и базы данных, например База данных SQL Azure, Azure Storage Blob и т. д.
  • Служба приложений Azure позволяет развертывать приложения на базе машинного обучения и управлять ими.

Важно!

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

Рабочий процесс проекта машинного обучения

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

Жизненный цикл проекта

Хотя жизненный цикл проекта зависит от особенностей самого проекта, он часто выглядит следующим образом:

Machine learning project lifecycle diagram

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

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

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

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

Обучение моделей

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

Открытость и взаимодействие

Специалисты по обработке и анализу данных могут использовать в Машинном обучении Azure модели, созданные на обычных платформах Python, например:

  • PyTorch
  • TensorFlow
  • scikit-learn
  • XGBoost;
  • LightGBM

Также поддерживаются другие языки и платформы, в том числе:

  • R
  • .NET

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

Автоматическое конструирование признаков и выбор алгоритма (AutoML)

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

См. раздел Что такое автоматизированное машинное обучение?

Оптимизация гиперпараметров

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

См. раздел Настройка гиперпараметров.

Обучение с распределением по нескольким узлам

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

Kubernetes для Машинного обучения Azure и вычислительные кластеры Azure ML поддерживают:

  • PyTorch
  • TensorFlow
  • MPI

Распределение MPI можно использовать для Horovod или пользовательской многоузловой логики. Кроме того, Apache Spark поддерживается через кластеры Spark Azure Synapse Analytics (предварительная версия).

См. раздел Распределенное обучение с помощью Машинного обучения Azure.

Чрезвычайно параллельное обучение

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

Развертывание моделей

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

Оценка в режиме реального времени и пакетный вывод

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

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

Пример

MLOps: DevOps для машинного обучения

DevOps для моделей машинного обучения, часто называемый MLOps, — это процесс разработки моделей для рабочей среды. Жизненный цикл модели от обучения до развертывания должен быть доступен для аудита, даже если его нельзя воспроизвести.

Жизненный цикл модели машинного обучения

Machine learning model lifecycle - MLOps

См. дополнительные сведения о MLOps в Машинном обучении Azure.

Интеграция с включением MLOps

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

Ключевые функции, поддерживающие MLOps:

  • git интеграция
  • Интеграция MLflow.
  • Планирование конвейера машинного обучения.
  • Интеграция службы "Сетка событий Azure" для пользовательских триггеров.
  • Простые в использовании средства CI/CD, такие как GitHub Actions или Azure DevOps.

Кроме того, Машинное обучение Azure включает функции для мониторинга и аудита:

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

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

Начните использовать Машинное обучение Azure: