Azure Machine Learning 모델 호출

완료됨

azure_ml 스키마를 사용하면 데이터베이스가 사용자 지정 빌드 기계 학습 모델의 기능과 상호 작용할 수 있습니다. azure_ml 스키마를 활용하여 Azure Machine Learning 서비스와 PostgreSQL 데이터베이스를 원활하게 통합할 수 있습니다. 이 통합을 통해 데이터베이스에서 직접 기계 학습 모델을 배포하고 제공할 수 있으므로 실시간 추론을 효율적이고 확장할 수 있습니다.

azure_ml 스키마를 사용하여 실시간 유추

azure_ai 확장을 사용하는 경우 azure_ml 스키마는 데이터베이스에서 직접 실시간 유추를 수행하는 함수를 제공합니다. 이 스키마 내의 inference 함수는 Azure Machine Learning에서 학습된 모델을 사용하여 예측을 수행하거나 출력을 생성할 수 있도록 설계되었습니다. 모델을 배포할 때 유추 함수를 사용하면 모델을 호출하고 새 데이터에 대한 예측을 얻을 수 있습니다.

azure_ml.inference(jsonb,integer,boolean,text)

inference() 함수에는 다음과 같은 입력 매개 변수가 사용됩니다.

매개 변수 유형 기본값 설명
입력 jsonb Azure Machine Learning 모델과 상호 작용하는 데 필요한 input_data 개체를 포함하는 JSON 개체입니다.
timeout_ms integer NULL::integer 시간 제한...
throw_on_error boolean true desc...
deployment_name text NULL::text (선택 사항) 지정된 Azure Machine Learning 엔드포인트를 대상으로 하는 모델 배포의 이름입니다.

Azure Machine Learning 추론 엔드포인트는 JSON(JavaScript Object Notation) 개체를 입력으로 예상합니다. 그러나 이 개체의 구조는 기본 모델에 따라 달라집니다. 예를 들어, 시애틀 지역의 단기 주택 임대에 대한 일일 임대 가격을 예측하도록 학습된 회귀 모델은 이웃, 우편 번호, 침실 수 및 욕실 수와 같은 특정 입력을 감안할 때 다음과 같은 모양을 줍니다.

{
  "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 정의를 검사하여 검색할 수 있습니다. 이 정의는 입력 및 출력을 확인하는 데 사용할 수 있는 ServiceInputServiceOutput 구조를 지정합니다.

Azure Machine Learning에 대한 연결 구성

azure_ml.inference() 함수를 사용하여 실시간 유추를 수행하기 전에 Azure Machine Learning 점수 매기기 엔드포인트 및 키를 사용하여 확장을 구성해야 합니다. 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}');