Что такое служба "Машинное обучение 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 содержит средства, которые помогают выполнять следующие действия:

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

  • Разработка моделей для обеспечения справедливости и объяснимости, отслеживания и аудита для выполнения требований к соответствию происхождения и аудита

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

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

Кросс-совместимые средства платформы, соответствующие вашим потребностям

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

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

Студия

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

  • Записные книжки: написание и запуск собственного кода на управляемых серверах Jupyter Notebook, которые непосредственно интегрированы в студию.

  • Визуализация метрик выполнения: анализ и оптимизация экспериментов с помощью визуализации.

    Снимок экрана: метрики для обучающего запуска.

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

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

  • Маркировка данных. Используйте метки данных Машинного обучения 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 не сохраняет и не обрабатывает данные за пределами региона, в котором выполняется развертывание.

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

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

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

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

Схема жизненного цикла проекта машинного обучения

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

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

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

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

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

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

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

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

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

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

  • R
  • .NET

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

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

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

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

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

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

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

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

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

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

  • PyTorch
  • TensorFlow
  • MPI

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

Важно!

Использование Apache Spark через кластеры Spark Azure Synapse Analytics доступно в общедоступной предварительной версии. Предварительная версия предоставляется без соглашения об уровне обслуживания и не рекомендована для производственных рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Дополнительные сведения см. в статье Дополнительные условия использования предварительных выпусков Microsoft Azure.

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

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

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

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

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

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

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

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

Пример

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

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

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

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

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

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

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

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

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

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

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

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

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