Az Azure Machine Learning-séma vizsgálata

Befejeződött

A azure_ml bővítmény azure_ai sémája lehetővé teszi az adatbázis számára az egyéni gépi tanulási modellek képességeinek kihasználását. A azure_ml séma használatával zökkenőmentesen integrálhatja PostgreSQL-adatbázisát az Azure Machine Learning-szolgáltatásokkal. Ez az integráció lehetővé teszi gépi tanulási modellek közvetlen üzembe helyezését és kiszolgálását közvetlenül az adatbázisból, így a valós idejű következtetés hatékonyabbá és méretezhetővé válik.

Valós idejű következtetés a azure_ml sémával

Azure Machine Learning egy felhőalapú platform, amely a végpontok közötti gépi tanulási munkafolyamatokat egyszerűsíti. Az Azure Machine Learningben a modellek olyan népszerű keretrendszerek használatával lettek kifejlesztve, mint a PyTorch és a TensorFlow. A betanítása után ezek a modellek végpontokként lesznek üzembe helyezve, stabil URL-címekként, ahol előrejelzések kérhetők.

A valós idejű következtetést biztosító online végpontok révén az Azure Machine Learning integrálva van a azure_ai bővítménnyel, így közvetlenül az adatbázisból készíthet pontos előrejelzéseket. A séma inference függvénye úgy lett kialakítva, hogy megkönnyítse az előrejelzések készítését vagy kimenetek generálását az Azure Machine Learning betanított modelljével. A modell üzembe helyezésekor a következtetési függvény lehetővé teszi a modell meghívását és az új adatokra vonatkozó előrejelzések lekérését.

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

A inference() függvény a következő bemeneti paramétereket várja:

Paraméter Típus Alapértelmezett Leírás
bemeneti_adat jsonb Az Azure Machine Learning-modellek használatához szükséges input_data objektumot tartalmazó JSON-objektum.
telepítés_neve text NULL::text (Nem kötelező) A modell üzembe helyezésének neve a megadott Azure Machine Learning-végponton.
időkorlát_ms integer NULL::integer Beállítja a következtetési művelet várakozási idejét (ezredmásodpercben), mielőtt túllépi az időkorlátot.
hiba esetén dob boolean true Meghatározza, hogy a következtetési művelet hibát jelez-e.
max_kísérletek integer 1 Az Azure OpenAI szolgáltatás hívásának újrapróbálkozásának száma hiba esetén.
retry_delay_ms (újrapróbálkozási késleltetés, milliszekundumban) integer 1000 Ezredmásodpercben ennyi időt kell várnia, mielőtt megpróbálna újra meghívni az Azure OpenAI szolgáltatásvégpontot.

Az Azure Machine Learning következtetési végpontjai egy JavaScript Object Notation (JSON) objektumot várnak bemenetként. Az objektum struktúrája azonban az alapul szolgáló modelltől függ. Például egy regressziós modell, amely betanított, hogy előrejelezhesse a rövid távú lakáskölcsönzések napi bérleti díjait Seattle, Washington területén, adott bemenetek, mint például a környék, irányítószám, hálószobák száma, fürdőszobák száma stb., a következő alakú:

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

A várt bemeneti objektumstruktúra az üzembe helyezett végponthoz társított Swagger-definíció vizsgálatával kérhető le. Ez a definíció határozza meg a ServiceInput és ServiceOutput struktúrákat, amelyekkel meghatározhatja a bemeneteket és kimeneteket.

Kapcsolat konfigurálása az Azure Machine Learning szolgáltatással

Mielőtt a azure_ml.inference() függvényt használva valós idejű következtetést hajt végre, konfigurálnia kell a bővítményt az Azure Machine Learning pontozási végpontjával és kulcsával. A azure_ml.scoring_endpoint értéke az üzembe helyezett modell REST-végpontja. A azure_ml.endpoint_key értéke lehet a végpont elsődleges vagy másodlagos kulcsa.

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