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

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

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

Совет

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

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

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

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

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

Производительность для всех пользователей в команде

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

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

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

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

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

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

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

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

Студия

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

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

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

    Screenshot that shows metrics for a training run.

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

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

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

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

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

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

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

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

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

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

Важно!

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

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

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

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

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

Diagram that shows the machine learning project lifecycle

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

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

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

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

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

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

Открытость и совместимость

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

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

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

  • R
  • .NET

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

Автоматическое выделение признаков и выбор алгоритма

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

Дополнительные сведения см. в статье "Что такое автоматизированное машинное обучение?".

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

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

Дополнительные сведения см. в разделе "Настройка гиперпараметров".

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

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

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

  • PyTorch
  • TensorFlow
  • MPI

Вы можете использовать распределение MPI для horovod или пользовательской логики с несколькими узлами. Apache Spark поддерживается с помощью бессерверных вычислений Spark и присоединенного пула Synapse Spark, используюющего кластеры Spark Azure Synapse Analytics.

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

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

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

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

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

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

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

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

Дополнительные сведения см. в разделе:

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

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

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

Diagram that shows the machine learning model lifecycle * MLOps.

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

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

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

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

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

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

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

Если вы используете Apache Airflow, пакет airflow-provider-azure-machinelearning является поставщиком, который позволяет отправлять рабочие процессы в Машинное обучение Azure из Apache AirFlow.

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

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