Поделиться через


Развитие модели в Студии машинного обучения (классической) от эксперимента до веб-службы

ОБЛАСТЬ ПРИМЕНЕНИЯ:флажок, который обозначает, что эта статья применима к Студии машинного обучения (классическая). Студия машинного обучения (классическая) Значок X, который обозначает, что эта статья не применима к решению Машинное обучение Azure

Важно!

Поддержка Студии машинного обучения (классической) будет прекращена 31 августа 2024 г. До этой даты рекомендуется перейти на Машинное обучение Azure.

Начиная с 1 декабря 2021 года вы не сможете создавать новые ресурсы Студии машинного обучения (классической). Существующие ресурсы Студии машинного обучения (классическая версия) можно будет использовать до 31 августа 2024 г.

Прекращается поддержка документации по Студии машинного обучения (классическая версия). В будущем она может не обновляться.

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

  • ввод данных в эксперимент;
  • обработка данных
  • обучение модели с помощью алгоритмов машинного обучения;
  • Оценка модели
  • анализ результатов;
  • вывод полученных данных.

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

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

Примечание

Существуют и другие способы разработки и развертывания моделей машинного обучения, но в этой статье рассматривается использование Студии машинного обучения (классической). Пример того, как создать классическую прогнозную веб-службу, используя R, см. в записи блога Build & Deploy Predictive Web Apps Using RStudio and Azure ML (Создание и развертывание прогнозных веб-приложений с помощью RStudio и Студии машинного обучения Azure).

Хотя Студия машинного обучения (классическая версия) предназначена главным образом для разработки и развертывания модели прогнозной аналитики, ее можно использовать для разработки эксперимента, не предусматривающего модель прогнозной аналитики. Например, эксперимент может просто вводить данные, выполнять с ними манипуляции и выдавать результат. Подобно эксперименту прогнозной аналитики, этот эксперимент можно развернуть как веб-службу, но это более простой процесс, так как эксперимент не предусматривает обучение или оценку модели машинного обучения. Хотя такое использование Студии (классической) не является типичным, мы рассмотрим его ниже, чтобы полностью продемонстрировать работу Студии (классической).

Разработка и развертывание прогнозной веб-службы

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

Рабочий поток развертывания

Рис. 1. Этапы типичной модели прогнозной аналитики

Обучающий эксперимент

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

Прогнозный эксперимент

Если в вашем обучающем эксперименте присутствует обученная модель, в Студии машинного обучения (классической) щелкните Set Up Web Service (Настроить веб-службу) и выберите вариант Predictive Web Service (Прогнозная веб-служба), в результате обучающий эксперимент будет преобразован в прогнозный эксперимент. Цель прогнозного эксперимента заключается в использовании обученной модели для оценки новых данных, чтобы впоследствии эта модель стала рабочей веб-службой Azure.

Для преобразования выполняются следующие действия:

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

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

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

Примечание

Когда вы щелкнете Predictive Web Service (Прогнозная веб-служба), начнется преобразование обучающего эксперимента в прогнозный эксперимент. В большинстве случаев этого достаточно. Если же вы работаете над сложным обучающим экспериментом (например, объединяете несколько путей для обучения), можно выполнить преобразование вручную. Дополнительные сведения см. в статье Подготовка модели к развертыванию в Студии машинного обучения (классическая версия).

Веб-служба

Убедившись в готовности прогнозного эксперимента, можно развернуть классическую или новую веб-службу на основе Azure Resource Manager. Чтобы развернуть модель как классическую веб-службу машинного обучения, щелкните Deploy Web Service (Развернуть веб-службу) и выберите Deploy Web Service [Classic] (Развернуть веб-службу [классическую]). Чтобы развернуть модель как новую веб-службу машинного обучения, щелкните Deploy Web Service (Развернуть веб-службу) и выберите Deploy Web Service [New] (Развернуть веб-службу [новую]). Пользователи теперь могут отправлять данные в вашу модель с помощью REST API веб-службы и получать результаты. Дополнительные сведения см. в статье Как использовать веб-службу машинного обучения.

Нетипичный случай. Создание непрогнозной веб-службы

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

Выполнив итерацию с экспериментом, то есть когда вы будете им довольны, выполните следующие действия:

  1. Щелкните Set Up Web Service (Настроить веб-службу) и выберите вариант Retraining Web Service (Переобучение веб-службы). Входные и выходные узлы будут добавлены автоматически.
  2. Нажмите кнопку Выполнить
  3. Щелкните Deploy Web Service (Развернуть веб-службу) и выберите вариант Deploy Web Service [Classic] (Развернуть веб-службу [классическую]) или Deploy Web Service [New] (Развернуть веб-службу [новую]), в зависимости от среды, где будет выполняться развертывание.

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

Обновление веб-службы

Как обновить эксперимент, развернутый в качестве веб-службы?

Это зависит от того, что именно необходимо обновить.

Необходимо изменить входные или выходные данные или изменить способ обработки данных в веб-службе

Если изменяется не модель, а только способ обработки данных веб-службой, то можно изменить прогнозный эксперимент, а затем еще раз щелкнуть Deploy Web Service (Развернуть веб-службу) и выбрать Deploy Web Service [Classic] (Развернуть веб-службу [классическую]) или Deploy Web Service [New] (Развернуть веб-службу [новую]). Работа веб-службы будет остановлена, обновленный прогнозный эксперимент будет развернут, а затем веб-служба запустится снова.

Ниже приведен пример: Предположим, что прогнозный эксперимент возвращает всю строку входных данных с прогнозируемым результатом. Вы можете настроить веб-службу, чтобы она возвращала только результат. Для этого в прогнозном эксперименте непосредственно перед портом вывода можно добавить модуль Столбцы проекта , чтобы исключить все столбцы, кроме результата. Если еще раз щелкнуть Deploy Web Service (Развернуть веб-службу) и выбрать Deploy Web Service [Classic] (Развернуть веб-службу [классическую]) или Deploy Web Service [New] (Развернуть веб-службу [новую]), то веб-служба обновится.

Необходимо выполнить переобучение модели с использованием новых данных

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

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

  2. Возврат к исходному обучающему эксперименту и использование для разработки модели другого набора данных для обучения. Прогнозный эксперимент связан с веб-службой, но обучающий эксперимент не имеет прямой связи с ней. Если изменить исходный обучающий эксперимент и щелкнуть Set Up Web Service (Настроить веб-службу), то будет создан другой прогнозный эксперимент, который после развертывания создаст другую веб-службу. Он не просто обновляет исходную веб-службу.

    Если необходимо изменить обучающий эксперимент, откройте его и выберите команду Сохранить как, чтобы создать его копию. Так вы сохраните в неизменном виде исходный обучающий эксперимент, прогнозный эксперимент и веб-службу. Теперь вы можете создать другую веб-службу, внеся необходимые изменения. После развертывания новой веб-службы вы можете остановить работу предыдущей версии веб-службы или оставить работать обе параллельно.

Необходимо обучить другую модель

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

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

Дополнительные сведения о процессе разработки и эксперименте см. в следующих статьях.

Примеры всего процесса см. в этих статьях.