Изучение схемы Машинного обучения Azure
Схема azure_ml
расширения azure_ai
позволяет базе данных взаимодействовать с возможностями пользовательских моделей машинного обучения. Используя схему azure_ml
, вы можете легко интегрировать базу данных PostgreSQL со службами машинного обучения Azure. Эта интеграция позволяет развертывать и обслуживать модели машинного обучения непосредственно из базы данных, делая вывод в режиме реального времени эффективным и масштабируемым.
Вывод в режиме реального времени с помощью схемы azure_ml
машинное обучение Azure — это облачная платформа, упрощающая комплексные рабочие процессы машинного обучения. В Машинном обучении Azure модели разрабатываются с помощью популярных платформ, таких как PyTorch и TensorFlow. После обучения эти модели развертываются как конечные точки, стабильные URL-адреса, в которых можно запрашивать прогнозы.
Благодаря сетевым конечным точкам, предоставляющим вывод в режиме реального времени, машинное обучение Azure, интегрированное с расширением azure_ai
, позволяет выполнять точные прогнозы непосредственно из базы данных. Функция inference
в этой схеме предназначена для упрощения прогнозирования или создания выходных данных с помощью обученной модели машинного обучения Azure. При развертывании модели функция вывода позволяет вызывать модель и получать прогнозы по новым данным.
azure_ml.inference(jsonb,integer,boolean,text)
Функция inference()
ожидает следующие входные параметры:
Параметр | Тип | По умолчанию | Описание |
---|---|---|---|
input_data | jsonb |
Объект JSON, содержащий объект input_data , необходимый для взаимодействия с моделями машинного обучения Azure. |
|
deployment_name | text |
NULL::text |
(Необязательно) Имя развертывания модели для целевого объекта в указанной конечной точке Машинного обучения Azure. |
timeout_ms | integer |
NULL::integer |
Задает максимальное время (в миллисекундах), чтобы ждать операции вывода до истечения времени ожидания. |
throw_on_error | boolean |
true |
Определяет, следует ли вызывать ошибку, если операция вывода сталкивается с проблемой. |
max_attempts | integer |
1 |
Количество попыток повторного вызова службы Azure OpenAI в случае сбоя. |
retry_delay_ms | integer |
1000 |
Время ожидания в миллисекундах перед попыткой повторить вызов конечной точки службы Azure OpenAI. |
Конечные точки вывода машинного обучения Azure ожидают объект нотации объектов JavaScript (JSON) в качестве входных данных. Однако структура этого объекта зависит от базовой модели. Например, модель регрессии, обученная прогнозировать ежедневные цены на аренду жилья для краткосрочной аренды жилья в Сиэтле, штат Вашингтон, учитывая конкретные входные данные, такие как район, ZIP-код, количество спальней, количество ванных комнат и многое другое, имеет следующую форму:
{
"input_data": {
"columns": [
"host_is_superhost",
"host_has_profile_pic",
"host_identity_verified",
"neighbourhood_group_cleansed",
"zipcode",
"property_type",
"room_type",
"accommodates",
"bathrooms",
"bedrooms",
"beds"
],
"index": [0],
"data": [["False", "False", "False", "Central Area", "98122", "House", "Entire home/apt", 4, 1.5, 3, 3]]
}
}
Ожидаемая структура входных объектов может быть извлечена, проверив определение Swagger, связанное с развернутой конечной точкой. Это определение указывает структуры ServiceInput
и ServiceOutput
, которые можно использовать для определения входных и выходных данных.
Настройка подключения к Машинному обучению Azure
Прежде чем использовать функцию azure_ml.inference()
для вывода в режиме реального времени, необходимо настроить расширение с помощью конечной точки и ключа оценки машинного обучения Azure. Значением azure_ml.scoring_endpoint
является конечная точка REST для развернутой модели. Значением для azure_ml.endpoint_key
может быть первичный или вторичный ключ для этой конечной точки.
SELECT azure_ai.set_setting('azure_ml.scoring_endpoint', '{endpoint}');
SELECT azure_ai.set_setting('azure_ml.endpoint_key', '{api-key}');