Az Azure Machine Learning-séma vizsgálata
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}');