Badanie schematu usługi Azure Machine Learning

Ukończone

Schemat azure_ml rozszerzenia azure_ai umożliwia bazie danych interakcję z możliwościami niestandardowych modeli uczenia maszynowego. Korzystając ze schematu azure_ml, możesz bezproblemowo zintegrować bazę danych PostgreSQL z usługami Azure Machine Learning. Ta integracja umożliwia wdrażanie i udostępnianie modeli uczenia maszynowego bezpośrednio z bazy danych, dzięki czemu wnioskowanie w czasie rzeczywistym jest wydajne i skalowalne.

Wnioskowanie w czasie rzeczywistym ze schematem azure_ml

azure Machine Learning to oparta na chmurze platforma usprawniająca kompleksowe przepływy pracy uczenia maszynowego. W usłudze Azure Machine Learning modele są opracowywane przy użyciu popularnych struktur, takich jak PyTorch i TensorFlow. Po wytrenowanym modelu te modele są wdrażane jako punkty końcowe, stabilne adresy URL, w których można żądać przewidywań.

Dzięki punktom końcowym online zapewniającym wnioskowanie w czasie rzeczywistym usługa Azure Machine Learning zintegrowana z rozszerzeniem azure_ai umożliwia tworzenie dokładnych przewidywań bezpośrednio z bazy danych. Funkcja inference w tym schemacie została zaprojektowana tak, aby ułatwić przewidywanie lub generowanie danych wyjściowych przy użyciu wytrenowanego modelu z usługi Azure Machine Learning. Podczas wdrażania modelu funkcja wnioskowania umożliwia wywoływanie modelu i uzyskiwanie przewidywań na nowych danych.

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

Funkcja inference() oczekuje następujących parametrów wejściowych:

Parametr Typ Domyślny Opis
input_data jsonb Obiekt JSON zawierający obiekt input_data wymagany do interakcji z modelami usługi Azure Machine Learning.
deployment_name text NULL::text (Opcjonalnie) Nazwa wdrożenia modelu, które ma być przeznaczone dla określonego punktu końcowego usługi Azure Machine Learning.
timeout_ms integer NULL::integer Ustawia maksymalny czas (w milisekundach) oczekiwania na operację wnioskowania, zanim upłynął limit czasu.
throw_on_error boolean true Określa, czy zgłosić błąd, jeśli operacja wnioskowania napotka problem.
max_attempts integer 1 Liczba ponownych prób wywołania usługi Azure OpenAI w przypadku awarii.
retry_delay_ms integer 1000 Czas oczekiwania (w milisekundach) przed podjęciem próby ponownego wywołania punktu końcowego usługi Azure OpenAI.

Punkty końcowe wnioskowania usługi Azure Machine Learning oczekują obiektu JavaScript Object Notation (JSON) jako danych wejściowych. Jednak struktura tego obiektu zależy od modelu bazowego. Na przykład model regresji przeszkolony w celu przewidywania dziennych cen wynajmu mieszkań krótkoterminowych w Seattle w stanie Waszyngton, biorąc pod uwagę określone dane wejściowe, takie jak sąsiedztwo, kod pocztowy, liczba sypialni, liczba łazienek i nie tylko, ma następujący kształt:

{
  "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]]
  }
}

Oczekiwaną strukturę obiektu wejściowego można pobrać, sprawdzając definicję struktury Swagger skojarzona z wdrożonym punktem końcowym. Ta definicja określa struktury ServiceInput i ServiceOutput, których można użyć do określenia danych wejściowych i wyjściowych.

Konfigurowanie połączenia z usługą Azure Machine Learning

Przed użyciem funkcji azure_ml.inference() do wnioskowania w czasie rzeczywistym należy skonfigurować rozszerzenie przy użyciu punktu końcowego i klucza oceniania usługi Azure Machine Learning. Wartość azure_ml.scoring_endpoint to punkt końcowy REST dla wdrożonego modelu. Wartość azure_ml.endpoint_key może być kluczem podstawowym lub pomocniczym dla tego punktu końcowego.

SELECT azure_ai.set_setting('azure_ml.scoring_endpoint', '{endpoint}');
SELECT azure_ai.set_setting('azure_ml.endpoint_key', '{api-key}');