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


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

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

Важно!

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

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

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

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

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

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

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

Входные данные для службы BES похожи на входные данные, используемые в службе RRS. Основная разница заключается в том, что служба BES считывает блок записей из различных источников, таких как хранилище BLOB-объектов Azure, Хранилище таблиц в Azure, база данных SQL Azure, HDInsight (запросы Hive) и HTTP.

Процесс развертывания модели можно обобщить до трех этапов:

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

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

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

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

Преобразование обучающего эксперимента в прогностический эксперимент

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

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

Процесс преобразования обучающего эксперимента в прогностический эксперимент состоит из трех этапов.

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

Совет

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

Преобразование в эксперимент по оценке

Кнопка «Настроить веб-службу»

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

  1. Сохраняет обученную модель в разделе Trained Models (обученные модели) на палитре модулей (слева от холста эксперимента). Заменяет алгоритм машинного обучения и модели Train Model (Обучение модели) сохраненной обученной моделью.
  2. Анализирует эксперимент и удаляет модули, которые явным образом использовались только для обучения и потребность в которых отпала.
  3. Добавляет в эксперимент стандартные модули входных и выходных данных веб-службы (эти модули принимают данные пользователя и возвращают ему результаты).

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

эксперимент по обучению

Модули в этом эксперименте в сущности выполняют четыре разные функции:

Функции модуля

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

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

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

    Например, в нашем примере образец набора данных может содержать записи с неполными данными, и для работы с ними добавлен модуль Clean Missing Data (Очистка недостающих данных). Кроме того, этот образец набора данных содержит столбцы, не используемые для обучения модели. Чтобы исключить эти дополнительные столбцы из потока данных, добавляется модуль Select Columns in Dataset (Выбор столбцов в наборе данных). Если известно, что в данных, которые будут отправлены для оценки через веб-службу, не будет недостающих значений, можно удалить модуль Clean Missing Data (Очистка недостающих данных). Но модуль Select Columns in Dataset (Выбор столбцов в наборе данных) необходимо оставить, так как он помогает определить набор столбцов, ожидаемых на входе обученной модели.

  • Обучение. Эти модули используются для обучения модели. Когда вы выбираете действие Set Up Web Service (Настроить веб-службу), все эти модули заменяются одним модулем, который содержит обученную модель. Этот новый модуль сохраняется в разделе Trained Models (Обученные модели) в палитре модулей.

  • Оценка. В нашем примере используется модуль Split Data (Разделение данных), который разделяет поток данных на два набора: обучающие данные и проверочные данные. В прогнозном эксперименте обучение не выполняется, поэтому модуль Split Data (Разделение данных) можно удалить. Аналогичным образом, можно удалить второй модуль Score Model (Оценка модели) и модуль Evaluate Model (Анализ модели), которые используются для сравнения результатов обработки проверочных данных. Однако оставшийся модуль Оценка модели необходим для возврата результатов оценки через веб-службу.

После нажатия кнопки Настроить веб-службунаш пример выглядит следующим образом:

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

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

Настройка модулей входных и выходных данных

В своем эксперименте по обучению вы использовали набор данных для обучения, а затем выполнили обработку, чтобы получить данные в формате, необходимом для алгоритма машинного обучения. Если вы ожидаете, что веб-служба будет получать данные, для которых такая обработка не требуется, ее можно обойти. Для этого соедините выход модуля Web service input (Входные данные веб-службы) с другим модулем эксперимента. Теперь данные пользователя будут передаваться в модель именно через этот модуль.

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

Перемещение входных данных веб-службы

Теперь входные данные, предоставленные через веб-службу, будут передаваться непосредственно в модуль «Оценка модели» без предварительной обработки.

Аналогичным образом при нажатии кнопки Настройка веб-службы модуль выходных данных веб-службы по умолчанию помещается в нижнюю часть потока данных. В этом примере веб-служба будет возвращать пользователю выходные данные модуля Оценка модели, то есть полный вектор входных данных и полные результаты оценки. Однако, если вам необходимо, чтобы возвращались другие данные, добавьте дополнительные модули перед модулем Web service output (Выходные данные веб-службы).

Например, если нужно возвращать только результаты оценки без вектора входных данных, можно добавить модуль Select Columns in Dataset (Выбор столбцов в наборе данных), чтобы исключить все столбцы, кроме результатов оценки. Затем подключите модуль Web service output (Выходные данные веб-службы) к выходу модуля Select Columns in Dataset (Выбор столбцов в наборе данных). Измененный эксперимент будет выглядеть так:

Перемещение выходных данных веб-службы

Добавление и удаление дополнительных модулей обработки данных

Если вам известно, что в эксперименте есть модули, которые не будут нужны при оценке, их можно удалить. Теперь, когда мы поместили модуль Web service input (Входные данные веб-службы) ниже модулей обработки данных, из прогнозного эксперимента можно удалить модуль Clean Missing Data (Очистка недостающих данных).

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

Удаление дополнительного модуля

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

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

Например, часто используется модуль Import Data (Импорт данных), который позволяет пользователю развернутой веб-службы указать другой источник данных при обращении к веб-службе. Или настройка модуля Экспорт данных, позволяющего указать другое назначение.

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

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

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

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

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

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

Примечание

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

Страница развертывания эксперимента на портале веб-службы

На странице "Deploy Experiment" (Развертывание эксперимента) введите имя веб-службы. Выберите ценовой план. Если у вас уже имеется ценовой план, то можно выбрать его. В противном случае необходимо создать ценовой план для службы.

  1. В раскрывающемся списке Price Plan (Ценовой план) выберите существующий план или щелкните Select new plan (Выбрать новый план).
  2. В поле Имя планавведите имя для идентификации плана в счете.
  3. Выберите один из вариантов Monthly Plan Tier(Уровень ежемесячного плана). По умолчанию указаны уровни плана для вашего региона по умолчанию, и веб-служба развертывается именно в этом регионе.

Щелкните Deploy (Развернуть). Откроется страница быстрого запуска веб-службы.

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

Тестирование новой веб-службы

Чтобы протестировать новую веб-службу, в разделе общих задач щелкните Test web service (Тестировать веб-службу). На странице тестирования веб-службу можно проверить двумя способами: как службу RRS (запрос-ответ) или как службу BES (пакетное выполнение).

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

Для тестирования с помощью службы RRS в режиме представления списка введите необходимые значения для входных данных и щелкните Test Request-Response(Тестировать "запрос-ответ"). Результаты прогноза отобразятся в выходном столбце справа.

Введите соответствующие значения для тестирования веб-службы

Для тестирования службы BES щелкните Batch(Пакетная служба). На странице тестирования "Batch" (Пакетная служба) в разделе входных данных нажмите кнопку "Browse" (Обзор) и выберите CSV-файл, содержащий необходимые примеры значений. Если у вас нет CSV-файла и прогнозный эксперимент вы создали с помощью Студии машинного обучения (классическая модель), скачайте набор данных для своего прогнозного эксперимента и используйте его.

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

Скачайте набор данных с холста Студии (классическая модель)

Нажмите Проверить. Состояние задания пакетного выполнения отобразится справа в разделе Test Batch Jobs(Тестирование пакетных заданий).

Тестирование задания выполнения пакета с помощью портала веб-службы

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

Настройка веб-службы

Доступ к новой веб-службе

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

Страница Consume (Использование) предоставляет всю информацию, необходимую для доступа к веб-службе. Например, предоставляемый ключ API обеспечивает авторизованный доступ к службе.

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

Управление новой веб-службой

С помощью портала веб-служб Студии машинного обучения (классическая модель) можно осуществлять управление новыми веб-службами. На главной странице портала щелкните Web Services (Веб-службы). На странице веб-служб можно удалить службу или скопировать ее. Для наблюдения за конкретной службой выберите службу и щелкните Dashboard(Панель мониторинга). Для наблюдения за выполнением пакетных заданий, связанных с веб-службой, щелкните Batch Request Log(Журнал пакетных запросов).

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

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

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

Создание плана в другом регионе

  1. Вход в Веб-службы Машинного обучения Azure.
  2. Щелкните пункт меню Plans (Планы).
  3. На странице Plans overview (Обзор планов) нажмите кнопку New(Создать).
  4. В раскрывающемся списке Subscription (Подписка) выберите подписку, в которой будет располагаться новый план.
  5. В раскрывающемся списке Region (Регион) выберите регион для нового плана. Параметры плана для выбранного региона отобразятся в разделе Plan Options (Параметры плана) этой страницы.
  6. В раскрывающемся списке Resource Group (Группа ресурсов) выберите для плана группу ресурсов. Дополнительные сведения о группах ресурсов см. в статье Общие сведения об Azure Resource Manager.
  7. В поле Plan Name (Имя плана) введите имя плана.
  8. В разделе Plan Options(Параметры плана) выберите уровень выставления счетов для нового плана.
  9. Нажмите кнопку Создать.

Развертывание веб-службы в другом регионе

  1. На странице веб-служб Машинного обучения щелкните Веб-службы в меню.
  2. Выберите веб-службу, которую требуется развернуть в новом регионе.
  3. Нажмите кнопку Копировать.
  4. В поле Web Service Name(Имя веб-службы) введите новое имя веб-службы.
  5. В поле Web service description(Описание веб-службы) введите описание веб-службы.
  6. В раскрывающемся списке Subscription (Подписка) выберите подписку, в которой будет располагаться новая веб-служба.
  7. В раскрывающемся списке Resource Group (Группа ресурсов) выберите для веб-службы группу ресурсов. Дополнительные сведения о группах ресурсов см. в статье Общие сведения об Azure Resource Manager.
  8. В раскрывающемся списке Region (Регион) выберите регион, в котором требуется развернуть веб-службу.
  9. В раскрывающемся списке Storage account (Учетная запись хранения) выберите учетную запись, в которой будет храниться веб-служба.
  10. В раскрывающемся списке Price Plan (Ценовой план) выберите план в регионе, который вы выбрали в действии 8.
  11. Нажмите кнопку Копировать.

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

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

Чтобы развернуть прогностический эксперимент, нажмите Run (Выполнить) в нижней части холста эксперимента, а затем выберите Deploy Web Service (Развернуть веб-службу). Веб-служба будет настроена, затем отобразится ее панель мониторинга.

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

Тестирование классической веб-службы

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

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

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

Чтобы протестировать службу пакетного выполнения, щелкните ссылку Test (Проверить). На странице тестирования "Batch" (Пакетная служба) в разделе входных данных нажмите кнопку "Browse" (Обзор) и выберите CSV-файл, содержащий необходимые примеры значений. Если у вас нет CSV-файла и прогнозный эксперимент вы создали с помощью Студии машинного обучения (классическая модель), скачайте набор данных для своего прогнозного эксперимента и используйте его.

Тестирование веб-службы

На странице Configuration (Настройка) можно изменить отображаемое имя службы и добавить ее описание. Имя и описание отображаются на портале Azure, на котором осуществляется управление веб-службами.

Вы можете предоставить описание входных данных, выходных данных и параметров веб-службы, введя строковые данные для каждого столбца в разделах INPUT SCHEMA (Схема входных данных), OUTPUT SCHEMA (Схема выходных данных) и Web Service Parameter (Параметр веб-службы). Эти описания используются в документации по примерам кода для веб-службы.

Включив ведение журнала, вы сможете диагностировать сбои, которые происходят при обращении к веб-службе. Дополнительные сведения см. в статье Включение ведения журнала веб-служб Студии машинного обучения Azure (классическая модель).

Включение ведения журнала на портале веб-служб

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

Доступ к классической веб-службе

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

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

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

Управление классической веб-службой

Веб-службу можно отслеживать разными способами. Ее можно обновить или удалить. Кроме того, для классической веб-службы можно добавить другие конечные точки (в дополнение к созданной при развертывании).

Дополнительные сведения см. в статьях Управление рабочей областью Студии машинного обучения (классическая модель) и Управление веб-службой с помощью портала веб-служб Студии машинного обучения (классическая модель).

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

Вы можете внести изменения в веб-службу, например обновить модель дополнительными обучающими данными, и развернуть ее снова, перезаписав исходную веб-службу.

Чтобы обновить веб-службу, откройте исходный прогностический эксперимент, использованный для развертывания веб-службы, и создайте редактируемую копию, нажав СОХРАНИТЬ КАК. Внесите изменения и нажмите Развернуть веб-службу.

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

Примечание

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

Один из вариантов обновления веб-службы — переобучить модель программно. Дополнительные сведения см. в статье Программное переобучение моделей Студии машинного обучения (классическая модель).

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