Обучение моделей с помощью Машинного обучения Azure (версия 1)

ОБЛАСТЬ ПРИМЕНЕНИЯ:Пакет SDK для Python для ML Azure версии 1

Машинное обучение Azure включает несколько способов обучения моделей, от решений Code First, использующих пакет SDK, до решений Low-code, например автоматизированного машинного обучения и визуального конструктора. Используйте следующий список, чтобы определить, какой метод обучения подходит вам:

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

    Метод обучения Description
    Конфигурация запуска Стандартный способ обучения моделей заключается в использовании скрипта обучения и конфигурации задания. Конфигурация задания предоставляет необходимые сведения для настройки среды обучения, используемой для вашей модели. Вы можете указать скрипт обучения, целевой объект вычислений и Машинное обучение Azure среду в конфигурации задания и запустить задание обучения.
    Автоматизированное машинное обучение Автоматизированное машинное обучение позволяет обучить модели без глубоких знаний в области обработки и анализа данных или программирования. Для людей, обладающих такими знаниями, оно позволяет экономить время и ресурсы путем автоматизации выбора алгоритма и настройки гиперпараметров. При использовании автоматизированного машинного обучения не нужно беспокоиться об определении конфигурации задания.
    Конвейер машинного обучения Конвейеры — это не другой метод обучения, а способ определения рабочего процесса с помощью модульных, многократно используемых действий, которые могут включать обучение как часть рабочего процесса. Конвейеры машинного обучения поддерживают использование автоматизированного машинного обучения и конфигурации запуска для обучения моделей. Так как конвейеры не ориентированы специально на обучение, причины их использования разнообразнее, чем у других методов обучения. Как правило, конвейер можно использовать в следующих случаях:
    * Вы хотите планировать автоматические процессы, такие как длительное выполнение заданий обучения или подготовка данных.
    * Используете несколько этапов, которые скоординированы в разнородных вычислительных ресурсах и местах хранения.
    * Используете конвейер в качестве шаблона для повторного использования для определенных скриптов, таких как переобучение или пакетная оценка.
    * Отслеживаете источники данных, входные и выходные данные и управляете версиями для рабочего процесса.
    * Рабочий процесс реализован различными командами, которые независимо работают над отдельными этапами. В конвейере можно объединить эти этапы для реализации рабочего процесса.
  • Конструктор. Конструктор Машинного обучения Azure предоставляет простую точку входа в машинное обучение для создания подтверждения концепции или для пользователей с небольшим опытом программирования. Он позволяет обучить модели с помощью пользовательского веб-интерфейса на основе перетаскивания. Вы можете использовать код Python как часть проекта или обучать модели без написания кода.

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

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

Пакет SDK для Python

Пакет SDK службы "Машинное обучение Azure" для Python позволяет создавать и запускать рабочие процессы машинного обучения с помощью Машинного обучения Azure. Вы можете взаимодействовать со службой из интерактивного сеанса Python, Jupyter Notebook, Visual Studio Code или предпочитаемой интегрированной среды разработки.

Конфигурация запуска

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

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

Автоматизированное машинное обучение

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

Совет

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

Конвейер машинного обучения

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

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

Жизненный цикл обучения Azure состоит из следующих компонентов:

  1. упаковка файлов в папку проекта с игнорированием тех, которые указаны в файле с расширением .amlignore или .gitignore;
  2. масштабирование вычислительного кластера;
  3. Создание или скачивание dockerfile на вычислительный узел
    1. Система вычисляет хэш:
    2. Система использует этот хэш в качестве ключа при поиске в Реестре контейнеров Azure (ACR) рабочей области.
    3. Если ничего не найдено, выполняется поиск в глобальном ACR.
    4. Если опять ничего не найдено, система создает новый образ (который будет кэширован и зарегистрирован в ACR рабочей области).
  4. Загрузка упакованного файла проекта во временное хранилище в вычислительном узле.
  5. Распаковка файла проекта.
  6. Выполнение python <entry script> <arguments> вычислительным узлом.
  7. Сохранение журналов, файлов моделей и других файлов, записанных в ./outputs в учетной записи хранения, связанной с рабочей областью.
  8. Уменьшение масштаба вычислений, включая удаление временного хранилища.

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

Конструктор Машинного обучения Azure

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

Azure CLI

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

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

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