Запуск конечных точек пакетной службы из Фабрика данных Azure
ОБЛАСТЬ ПРИМЕНЕНИЯ:Расширение машинного обучения Azure CLI версии 2 (current)
Python SDK azure-ai-ml версии 2 (current)
Для работы с большими данными нужна служба, которая поддерживает процессы организации и подготовки к использованию, для анализа этих огромных объемов необработанных данных и преобразования их в полезные данные. Фабрика данных Azure управляемая облачная служба обрабатывает эти сложные гибридные проекты интеграции с извлечением и преобразованием (ETL), извлечением и преобразованием нагрузки (ELT) и проектами интеграции данных.
Фабрика данных Azure позволяет создавать конвейеры, которые могут управлять несколькими преобразованиями данных и управлять ими в виде одной единицы. Конечные точки пакетной службы являются отличным кандидатом для того, чтобы стать шагом в таком рабочем процессе обработки.
Из этой статьи вы узнаете, как использовать пакетные конечные точки в действиях Фабрика данных Azure путем использования действия веб-вызова и REST API.
Совет
При использовании конвейеров данных в Fabric можно вызывать пакетную конечную точку непосредственно с помощью действия Машинное обучение Azure. Мы рекомендуем использовать Fabric для оркестрации данных каждый раз, когда это возможно, чтобы воспользоваться новыми возможностями. Действие Машинное обучение Azure в Фабрика данных Azure может работать только с ресурсами из Машинное обучение Azure версии 1. Дополнительные сведения см. в статье Запуск моделей Машинное обучение Azure из Fabric с помощью конечных точек пакетной службы (предварительная версия).
Необходимые компоненты
Модель, развернутая как конечная точка пакетной службы. Используйте классификатор состояния сердца, созданный в моделях MLflow в пакетных развертываниях.
Ресурс Фабрика данных Azure. Чтобы создать фабрику данных, выполните действия, описанные в кратком руководстве. Создание фабрики данных с помощью портал Azure.
После создания фабрики данных перейдите к нему в портал Azure и выберите "Запустить студию" :
Проверка подлинности в конечных точках пакетной службы
Фабрика данных Azure может вызывать ИНТЕРФЕЙСы REST API пакетных конечных точек с помощью Действие веб-вызова. Конечные точки пакетной службы поддерживают идентификатор Microsoft Entra для авторизации, а запрос, сделанный в API, требует правильной обработки проверки подлинности. Дополнительные сведения см. в разделе веб-действий в Фабрика данных Azure и Azure Synapse Analytics.
Для проверки подлинности в конечных точках пакетной службы можно использовать субъект-службу или управляемое удостоверение . Рекомендуется использовать управляемое удостоверение, так как это упрощает использование секретов.
Для взаимодействия с конечными точками пакетной службы можно использовать Фабрика данных Azure управляемое удостоверение. В этом случае необходимо убедиться, что ресурс Фабрика данных Azure был развернут с помощью управляемого удостоверения.
Если у вас нет ресурса Фабрика данных Azure или он уже был развернут без управляемого удостоверения, выполните следующую процедуру, чтобы создать ее: управляемое удостоверение, назначаемое системой.
Внимание
Невозможно изменить удостоверение ресурса в Фабрика данных Azure после развертывания. Если необходимо изменить удостоверение ресурса после его создания, необходимо повторно создать ресурс.
После развертывания предоставьте доступ к управляемому удостоверению ресурса, созданного в рабочей области Машинное обучение Azure. См. раздел "Предоставление доступа". В этом примере субъект-служба требует:
- Разрешение в рабочей области для чтения пакетных развертываний и выполнения действий над ними.
- Разрешения на чтение и запись в хранилищах данных.
- Разрешения на чтение в любом облачном расположении (учетной записи хранения), указанные в качестве входных данных.
Сведения о конвейере
В этом примере вы создадите конвейер в Фабрика данных Azure, который может вызвать определенную конечную точку пакетной службы по некоторым данным. Конвейер взаимодействует с Машинное обучение Azure конечными точками пакетной службы с помощью REST. Дополнительные сведения об использовании REST API пакетных конечных точек см. в статье "Создание заданий и входных данных" для конечных точек пакетной службы.
Конвейер выглядит следующим образом:
Конвейер содержит следующие действия:
Запустите пакетную конечную точку: веб-действие, использующее универсальный код ресурса (URI) пакетной конечной точки для вызова. Он передает URI входных данных, где находятся данные и ожидаемый выходной файл.
Ожидание задания: это действие цикла, которое проверяет состояние созданного задания и ожидает завершения либо как завершено , так и сбой. В этом действии, в очереди, используются следующие действия:
- Состояние проверки: веб-действие, которое запрашивает состояние ресурса задания, возвращенного в качестве ответа действия run Batch-Endpoint.
- Ожидание: действие ожидания, которое управляет частотой опроса состояния задания. По умолчанию устанавливается значение 120 (2 минуты).
Конвейер требует настройки следующих параметров:
Параметр | Описание | Пример значения |
---|---|---|
endpoint_uri |
URI оценки конечной точки | https://<endpoint_name>.<region>.inference.ml.azure.com/jobs |
poll_interval |
Количество секунд, ожидаемых перед проверкой состояния задания для завершения. По умолчанию — 120 . |
120 |
endpoint_input_uri |
Входные данные конечной точки. Поддерживаются несколько типов входных данных. Убедитесь, что управляемое удостоверение, используемое для выполнения задания, имеет доступ к базовому расположению. Кроме того, если вы используете хранилища данных, убедитесь, что эти учетные данные указаны там. | azureml://datastores/.../paths/.../data/ |
endpoint_input_type |
Тип входных данных, которые вы предоставляете. В настоящее время пакетные конечные точки поддерживают папки (UriFolder ) и файл (UriFile ). По умолчанию — UriFolder . |
UriFolder |
endpoint_output_uri |
Выходной файл данных конечной точки. Это должен быть путь к выходному файлу в хранилище данных, подключенном к рабочей области Машинное обучение. Ни один другой тип URI не поддерживается. Вы можете использовать хранилище данных по умолчанию Машинное обучение Azure с именемworkspaceblobstore . |
azureml://datastores/workspaceblobstore/paths/batch/predictions.csv |
Предупреждение
Помните, что endpoint_output_uri
должен быть путь к файлу, который еще не существует. В противном случае задание завершается ошибкой , по которому уже существует путь.
Создание конвейера
Чтобы создать этот конвейер в существующей Фабрика данных Azure и вызвать конечные точки пакетной службы, выполните следующие действия.
Убедитесь, что вычислительные ресурсы, на которых выполняется пакетная конечная точка, имеют разрешения на подключение данных Фабрика данных Azure предоставляются в качестве входных данных. Сущность, вызывающая конечную точку, по-прежнему предоставляет доступ.
В этом случае это Фабрика данных Azure. Однако вычислительные ресурсы, на которых выполняется пакетная конечная точка, должны иметь разрешение на подключение учетной записи хранения, которую предоставляет Фабрика данных Azure. Дополнительные сведения см. в разделе "Доступ к службам хранилища".
Откройте Фабрика данных Azure Studio. Щелкните значок карандаша, чтобы открыть панель "Автор" и в разделе "Ресурсы фабрики" выберите знак "плюс".
Выберите "Импорт конвейера>" из шаблона конвейера.
Выберите файл .zip.
Предварительный просмотр конвейера отображается на портале. Выберите Использовать этот шаблон.
Конвейер создается для вас с именем Run-BatchEndpoint.
Настройте параметры пакетного развертывания:
Предупреждение
Убедитесь, что конечная точка пакетной службы настроена по умолчанию перед отправкой задания. Созданный конвейер вызывает конечную точку. Развертывание по умолчанию необходимо создать и настроить.
Совет
Для оптимального повторного использования используйте созданный конвейер в качестве шаблона и вызовите его из других Фабрика данных Azure конвейеров с помощью действия "Выполнение конвейера". В этом случае не настраивайте параметры во внутреннем конвейере, но передайте их в качестве параметров из внешнего конвейера, как показано на следующем рисунке:
Конвейер готов к использованию.
Ограничения
При использовании Машинное обучение Azure пакетных развертываний рассмотрите следующие ограничения:
Входные данные
- Только Машинное обучение Azure хранилища данных или учетные записи служба хранилища Azure (Хранилище BLOB-объектов Azure, Azure Data Lake Storage 1-го поколения; Azure Data Lake Storage 2-го поколения) поддерживаются в качестве входных данных. Если входные данные хранятся в другом источнике, используйте Фабрика данных Azure действие Copy перед выполнением пакетного задания для приемника данных в совместимое хранилище.
- Задания пакетной конечной точки не изучают вложенные папки. Они не могут работать со структурами вложенных папок. Если данные распределены в нескольких папках, необходимо сравить структуру.
- Убедитесь, что скрипт оценки, предоставленный в развертывании, может обрабатывать данные, как ожидается, будет отправляться в задание. Если модель является MLflow, ограничения на поддерживаемые типы файлов см. в статье "Развертывание моделей MLflow в пакетных развертываниях".
Наборы выходных данных
- Поддерживаются только зарегистрированные Машинное обучение Azure хранилища данных. Мы рекомендуем зарегистрировать учетную запись хранения, Фабрика данных Azure используется в качестве хранилища данных в Машинное обучение Azure. Таким образом, вы можете записать обратно в ту же учетную запись хранения, где вы читаете.
- Для выходных данных поддерживаются только учетные записи Хранилище BLOB-объектов Azure. Например, Azure Data Lake Storage 2-го поколения не поддерживается в качестве выходных данных в заданиях пакетного развертывания. Если необходимо вывести данные в другое расположение или приемник, используйте Фабрика данных Azure действие Copy после выполнения пакетного задания.