Adatok gyűjtése éles modellekből
A KÖVETKEZŐKRE VONATKOZIK:Python SDK azureml v1
Ez a cikk bemutatja, hogyan gyűjthet adatokat egy Azure Kubernetes Service-fürtön üzembe helyezett Azure Machine Learning-modellből. Az összegyűjtött adatok ezután az Azure Blob Storage-ban lesznek tárolva.
A gyűjtés engedélyezése után az összegyűjtött adatok a következőkben segítenek:
Monitorozza az adateltolódásokat a gyűjtött éles adatokon.
Összegyűjtött adatok elemzése a Power BI vagy az Azure Databricks használatával
Hozzon jobb döntéseket a modell újratanításának vagy optimalizálásának időpontjáról.
A modell újratanítása az összegyűjtött adatokkal.
Korlátozások
- A modell adatgyűjtési funkciója csak az Ubuntu 18.04-rendszerképekkel működik.
Fontos
2023. 03. 10-én az Ubuntu 18.04 rendszerkép elavult. Az Ubuntu 18.04-képek támogatása 2023. januártól megszűnik, amikor 2023. április 30-án eléri az EOL-t.
Az MDC funkció nem kompatibilis az Ubuntu 18.04-nél más rendszerképekkel, ami az Ubuntu 18.04-rendszerkép elavultságával nem érhető el.
mTovábbi információk, amelyre hivatkozhat:
Megjegyzés
Az adatgyűjtési funkció jelenleg előzetes verzióban érhető el, az éles számítási feladatokhoz nem ajánlott előzetes verziójú funkciók használata.
A begyűjtött adatok és azok helye
A következő adatok gyűjthetők:
Modellbemeneti adatok egy AKS-fürtön üzembe helyezett webszolgáltatásokból. A rendszer nem gyűjt hang-, kép- és videoképeket.
Modell-előrejelzések éles bemeneti adatokkal.
Megjegyzés
Ezen adatok előaggregációja és előszámításai jelenleg nem részei a gyűjtési szolgáltatásnak.
A kimenet a Blob Storage-ba lesz mentve. Mivel az adatok hozzá lesznek adva a Blob Storage-hoz, kiválaszthatja a kedvenc eszközét az elemzés futtatásához.
A blob kimeneti adatainak elérési útja a következő szintaxist követi:
/modeldata/<subscriptionid>/<resourcegroup>/<workspace>/<webservice>/<model>/<version>/<designation>/<year>/<month>/<day>/data.csv
# example: /modeldata/1a2b3c4d-5e6f-7g8h-9i10-j11k12l13m14/myresourcegrp/myWorkspace/aks-w-collv9/best_model/10/inputs/2018/12/31/data.csv
Megjegyzés
A Pythonhoz készült Azure Machine Learning SDK 0.1.0a16-osnál korábbi verzióiban az designation
argumentum neve identifier
. Ha a kódot egy korábbi verzióval fejlesztette ki, ennek megfelelően kell frissítenie.
Előfeltételek
Ha nem rendelkezik Azure-előfizetéssel, mindössze néhány perc alatt létrehozhat egy ingyenes fiókot a virtuális gép létrehozásának megkezdése előtt.
Telepíteni kell egy Azure Machine Learning-munkaterületet, egy szkripteket tartalmazó helyi könyvtárat és a Pythonhoz készült Azure Machine Learning SDK-t. A telepítésükről további információt a Fejlesztési környezet konfigurálása című témakörben talál.
Az AKS-ben való üzembe helyezéshez betanított gépi tanulási modellre van szükség. Ha nem rendelkezik modellel, tekintse meg a Képbesorolási modell betanítása oktatóanyagot.
Szüksége van egy AKS-fürtre. További információ arról, hogyan hozhat létre és helyezhet üzembe gépi tanulási modelleket az Azure-ban.
Állítsa be a környezetet, és telepítse az Azure Machine Learning Monitoring SDK-t.
Használjon egy Ubuntu 18.04-alapú docker-rendszerképet, amely a következővel
libssl 1.0.0
van szállítva: , a modeldatacollector alapvető függősége. További információt az előre összeállított lemezképeket ismertető cikkben tekinthet meg.
Az adatgyűjtés engedélyezése
Az adatgyűjtést az Azure Machine Learning vagy más eszközök használatával üzembe helyező modelltől függetlenül engedélyezheti.
Az adatgyűjtés engedélyezéséhez a következőket kell tennie:
Nyissa meg a pontozófájlt.
Adja hozzá a következő kódot a fájl elejéhez:
from azureml.monitoring import ModelDataCollector
Deklarálja az adatgyűjtési változókat a
init
függvényben:global inputs_dc, prediction_dc inputs_dc = ModelDataCollector("best_model", designation="inputs", feature_names=["feat1", "feat2", "feat3", "feat4", "feat5", "feat6"]) prediction_dc = ModelDataCollector("best_model", designation="predictions", feature_names=["prediction1", "prediction2"])
A CorrelationId nem kötelező paraméter. Nem kell használnia, ha a modell nem igényli. A CorrelationId használatával könnyebben leképezhetők más adatok, például a LoanNumber vagy a CustomerId.
Az Identifier paramétert később a blob mappaszerkezetének felépítéséhez használják. Segítségével megkülönböztetheti a nyers adatokat a feldolgozott adatoktól.
Adja hozzá a következő kódsorokat a
run(input_df)
függvényhez:data = np.array(data) result = model.predict(data) inputs_dc.collect(data) #this call is saving our input data into Azure Blob prediction_dc.collect(result) #this call is saving our prediction data into Azure Blob
Az adatgyűjtés nem lesz automatikusan igaz értékre állítva, amikor szolgáltatást helyez üzembe az AKS-ben. Frissítse a konfigurációs fájlt az alábbi példához hasonlóan:
aks_config = AksWebservice.deploy_configuration(collect_model_data=True)
A következő konfiguráció módosításával engedélyezheti az Application Insights szolgáltatást a szolgáltatásmonitorozáshoz:
aks_config = AksWebservice.deploy_configuration(collect_model_data=True, enable_app_insights=True)
Új rendszerkép létrehozásához és a gépi tanulási modell üzembe helyezéséhez lásd: Gépi tanulási modellek üzembe helyezése az Azure-ban.
Adja hozzá az "Azure-Monitoring" pip csomagot a webszolgáltatás-környezet conda-függőségeihez:
env = Environment('webserviceenv')
env.python.conda_dependencies = CondaDependencies.create(conda_packages=['numpy'],pip_packages=['azureml-defaults','azureml-monitoring','inference-schema[numpy-support]'])
Adatgyűjtés letiltása
Az adatgyűjtést bármikor leállíthatja. Az adatgyűjtés letiltásához használja a Python-kódot.
## replace <service_name> with the name of the web service
<service_name>.update(collect_model_data=False)
Az adatok ellenőrzése és elemzése
Kiválaszthatja a kívánt eszközt a Blob Storage-ban gyűjtött adatok elemzéséhez.
A blobadatok gyors elérése
Jelentkezzen be az Azure portálra.
Nyissa meg a munkaterületet.
Válassza a Tárolás lehetőséget.
Kövesse a blob kimeneti adatainak elérési útját az alábbi szintaxissal:
/modeldata/<subscriptionid>/<resourcegroup>/<workspace>/<webservice>/<model>/<version>/<designation>/<year>/<month>/<day>/data.csv # example: /modeldata/1a2b3c4d-5e6f-7g8h-9i10-j11k12l13m14/myresourcegrp/myWorkspace/aks-w-collv9/best_model/10/inputs/2018/12/31/data.csv
Modelladatok elemzése a Power BI használatával
Töltse le és nyissa meg Power BI Desktop.
Válassza az Adatok lekérése, majd a Azure Blob Storage lehetőséget.
Adja meg a tárfiók nevét, és adja meg a tárkulcsot. Ezeket az információkat a blob Beállítások>Hozzáférési kulcsok elemének kiválasztásával találja meg.
Válassza ki a modelladat-tárolót , és válassza a Szerkesztés lehetőséget.
A lekérdezésszerkesztőben kattintson a Név oszlop alá, és adja hozzá a tárfiókot.
Adja meg a modell elérési útját a szűrőbe. Ha csak egy adott év vagy hónap fájljait szeretné megvizsgálni, csak bontsa ki a szűrő elérési útját. Ha például csak a márciusi adatokat szeretné megvizsgálni, használja ezt a szűrőútvonalat:
/modeldata/<subscriptionid>/<resourcegroupname>/<workspacename>/<webservicename>/<modelname>/<modelversion>/<designation>/<year>/3
Szűrje az Ön számára releváns adatokat a Név értékek alapján. Ha előrejelzéseket és bemeneteket tárolt, mindegyikhez létre kell hoznia egy lekérdezést.
A fájlok kombinálásához válassza a Tartalom oszlopfejléc melletti lefelé mutató dupla nyilakat.
Válassza az OK lehetőséget. Az adatok előre betöltődnek.
Válassza a Bezárás és alkalmazás lehetőséget.
Ha bemeneteket és előrejelzéseket adott hozzá, a táblákat a RequestId értékek automatikusan rendezik.
Kezdje el az egyéni jelentések készítését a modelladatok alapján.
Modelladatok elemzése az Azure Databricks használatával
Nyissa meg a Databricks-munkaterületet.
A Databricks-munkaterületen válassza az Adatok feltöltése lehetőséget.
Válassza az Új tábla létrehozása, majd az Egyéb adatforrások>Azure Blob Storage>Tábla létrehozása jegyzetfüzetben lehetőséget.
Frissítse az adatok helyét. Például:
file_location = "wasbs://mycontainer@storageaccountname.blob.core.windows.net/modeldata/1a2b3c4d-5e6f-7g8h-9i10-j11k12l13m14/myresourcegrp/myWorkspace/aks-w-collv9/best_model/10/inputs/2018/*/*/data.csv" file_type = "csv"
Az adatok megtekintéséhez és elemzéséhez kövesse a sablon lépéseit.
Következő lépések
Észleli az adateltolódást az összegyűjtött adatokon.