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

ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python azure-ai-ml версии 2 (current)

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

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

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

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

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

Пакет SDK для Python

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

Отправка команды

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

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

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

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

Совет

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

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

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

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

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

  1. Zipping файлы в папке проекта и отправка в облако.

    Совет

    Чтобы предотвратить включение ненужных файлов в моментальный снимок, создайте файл игнорирования (.gitignore или .amlignore) в каталоге. Добавьте исключаемые файлы и каталоги в этот файл. Дополнительные сведения о синтаксисе, который будет использоваться в этом файле, см. в разделе синтаксис и шаблоны для .gitignore. Файл .amlignore использует тот же синтаксис. Если оба файла существуют, используется файл .amlignore, а файл .gitignore не используется.

  2. Масштабирование вычислительного кластера (или бессерверных вычислений)

  3. сборка или скачивание dockerfile на вычислительный узел.

    1. Система вычисляет хэш:
    2. Система использует этот хэш в качестве ключа при поиске в Реестре контейнеров Azure (ACR) рабочей области.
    3. Если ничего не найдено, выполняется поиск в глобальном ACR.
    4. Если опять ничего не найдено, система создает новый образ (который будет кэширован и зарегистрирован в ACR рабочей области).
  4. Загрузка упакованного файла проекта во временное хранилище в вычислительном узле.

  5. Распаковка файла проекта.

  6. Выполнение python <entry script> <arguments> вычислительным узлом.

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

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

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

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

Azure CLI

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

VS Code

Вы можете использовать расширение VS Code для запуска заданий обучения и управления ими. Дополнительные сведения см. в разделе Руководство по управлению ресурсами VS Code.

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

Узнайте, как создать рабочие конвейеры машинного обучения с помощью пакета SDK для Python версии 2 в записной книжке Jupyter.