Azure Machine Learning 스키마 검사

완료됨

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

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

Azure Machine Learning 엔드 투 엔드 기계 학습 워크플로를 간소화하는 클라우드 기반 플랫폼입니다. Azure Machine Learning 내에서 모델은 PyTorch 및 TensorFlow와 같은 인기 있는 프레임워크를 사용하여 개발됩니다. 학습되면 이러한 모델은 예측을 요청할 수 있는 안정적인 URL인 엔드포인트로 배포됩니다.

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

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

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

매개 변수 기본값 묘사
input_data jsonb Azure Machine Learning 모델과 상호 작용하는 데 필요한 input_data 개체를 포함하는 JSON 개체입니다.
deployment_name text NULL::text (선택 사항) 지정된 Azure Machine Learning 엔드포인트를 대상으로 하는 모델 배포의 이름입니다.
timeout_ms integer NULL::integer 유추 작업이 시간 초과되기 전에 대기할 최대 시간(밀리초)을 설정합니다.
throw_on_error boolean true 유추 작업에 문제가 발생하는 경우 오류를 throw할지 여부를 결정합니다.
max_attempts integer 1 오류가 발생할 경우 Azure OpenAI 서비스에 대한 호출을 다시 시도하는 횟수입니다.
retry_delay_ms integer 1000 Azure OpenAI 서비스 엔드포인트 호출을 다시 시도하기 전에 대기할 시간(밀리초)입니다.

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}');