جمع البيانات من النماذج في الإنتاج
توضح هذه المقالة كيفية تجميع البيانات من نموذج Azure التعلم الآلي تم نشره على نظام مجموعة Azure Kubernetes Service (AKS). ثم يتم تخزين البيانات التي تم جمعها في وحدة تخزين Azure Blob.
بمجرد تمكين التجميع، تساعدك البيانات التي تجمعها على:
راقب انحرافات البيانات على بيانات الإنتاج التي تجمعها.
تحليل البيانات التي تم جمعها باستخدام Power BI أو Azure Databricks
اتخذ قرارات أفضل حول وقت إعادة تدريب نموذجك أو تحسينه.
أعد تدريب نموذجك باستخدام البيانات التي تم جمعها.
ما الذي يتم جمعه وأين يذهب
يمكن جمع البيانات التالية:
نمذجة بيانات الإدخال من خدمات الويب المنشورة في مجموعة AKS. لا يتم جمع الصوت والصور والفيديو.
تنبؤات النموذج باستخدام بيانات مدخلات الإنتاج.
ملاحظة
ولا يشكل التجميع المسبق والحسابات المسبقة لهذه البيانات حاليا جزءا من خدمة التجميع.
يتم حفظ الإخراج في تخزين Blob. نظرا لإضافة البيانات إلى وحدة تخزين Blob ، يمكنك اختيار أداتك المفضلة لتشغيل التحليل.
يتبع المسار إلى بيانات الإخراج في النقطة بناء الجملة هذا:
/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
ملاحظة
في إصدارات Azure التعلم الآلي SDK ل Python أقدم من الإصدار 0.1.0a16، يتم تسمية identifierالوسيطة designation . إذا قمت بتطوير التعليمات البرمجية الخاصة بك باستخدام إصدار سابق ، فأنت بحاجة إلى تحديثها وفقا لذلك.
المتطلبات الأساسية
إذا لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانياً قبل أن تبدأ.
يجب تثبيت مساحة عمل Azure التعلم الآلي ودليل محلي يحتوي على البرامج النصية الخاصة بك و Azure التعلم الآلي SDK ل Python. لمعرفة كيفية تثبيتها، راجع كيفية تكوين بيئة تطوير.
تحتاج إلى نموذج مدرب للتعلم الآلي ليتم نشره في AKS. إذا لم يكن لديك نموذج، فراجع البرنامج التعليمي لنموذج تصنيف صور القطار .
تحتاج إلى مجموعة AKS. للحصول على معلومات حول كيفية إنشاء واحدة ونشرها عليها، راجع كيفية النشر وأين.
تشغيل جمع البيانات
يمكنك تمكين جمع البيانات بغض النظر عن النموذج الذي تقوم بنشره من خلال Azure التعلم الآلي أو الأدوات الأخرى.
لتمكين جمع البيانات، تحتاج إلى:
افتح ملف تسجيل النقاط.
إضافة التعليمات البرمجية التالية إلى أعلى الملف:
from azureml.monitoring import ModelDataCollectorالإعلان عن متغيرات جمع البيانات في
initالدالة: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"])CorrelationId هي معلمة اختيارية. لست بحاجة إلى استخدامه إذا كان نموذجك لا يتطلب ذلك. يساعدك استخدام CorrelationId على التخطيط بسهولة أكبر للبيانات الأخرى، مثل LoanNumber أو CustomerId.
يتم استخدام معلمة المعرف لاحقا لبناء بنية المجلد في النقطة. يمكنك استخدامه للتمييز بين البيانات الخام والبيانات المعالجة.
إضافة الأسطر التالية من التعليمات البرمجية إلى الدالة
run(input_df):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لا يتم تعيين جمع البيانات تلقائيا إلى true عند نشر خدمة في AKS. قم بتحديث ملف التكوين، كما في المثال التالي:
aks_config = AksWebservice.deploy_configuration(collect_model_data=True)يمكنك أيضا تمكين Insights التطبيقات لمراقبة الخدمة عن طريق تغيير هذا التكوين:
aks_config = AksWebservice.deploy_configuration(collect_model_data=True, enable_app_insights=True)لإنشاء صورة جديدة ونشر نموذج التعلم الآلي، راجع كيفية النشر وأين.
أضف حزمة النقطة "Azure-Monitoring" إلى تبعيات conda لبيئة خدمة الويب:
env = Environment('webserviceenv')
env.python.conda_dependencies = CondaDependencies.create(conda_packages=['numpy'],pip_packages=['azureml-defaults','azureml-monitoring','inference-schema[numpy-support]'])
تعطيل جمع البيانات
يمكنك التوقف عن جمع البيانات في أي وقت. استخدم رمز Python لتعطيل جمع البيانات.
## replace <service_name> with the name of the web service
<service_name>.update(collect_model_data=False)
التحقق من صحة بياناتك وتحليلها
يمكنك اختيار أداة تفضلها لتحليل البيانات التي تم جمعها في وحدة تخزين Blob الخاصة بك.
الوصول بسرعة إلى بيانات النقطة الخاصة بك
تسجيل الدخول إلى مدخل Azure .
افتح مساحة العمل.
اختار التخزين.
اتبع المسار إلى بيانات إخراج النقطة باستخدام بناء الجملة هذا:
/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
تحليل بيانات النموذج باستخدام Power BI
قم بتنزيل Power BI Desktop وافتحه.
حدد الحصول على البيانات وحدد Azure Blob Storage.
أضف اسم حساب التخزين الخاص بك وأدخل مفتاح التخزين. يمكنك العثور على هذه المعلومات عن طريق تحديد مفاتيح الإعدادات>Access في النقطة.
حدد حاوية بيانات الطرازوحدد تحرير.
في محرر الاستعلام، انقر أسفل عمود الاسم وأضف حساب التخزين الخاص بك.
أدخل مسار النموذج في الفلتر. إذا كنت تريد البحث فقط في الملفات من سنة أو شهر معين، فما عليك سوى توسيع مسار التصفية. على سبيل المثال، للبحث في بيانات شهر مارس فقط، استخدم مسار عامل التصفية هذا:
/modeldata/subscriptionid>/resourcegroupname/workspacename/webservicename/modelname>>>>/modelversion>/designation>/year>/3<<<<<<<<
قم بتصفية البيانات ذات الصلة بك استنادا إلى قيم الاسم . إذا قمت بتخزين التنبؤات والمدخلات، فستحتاج إلى إنشاء استعلام لكل منها.
حدد الأسهم المزدوجة لأسفل بجوار عنوان عمود المحتوى لدمج الملفات.
حدد "OK". يتم تحميل البيانات مسبقا.
حدد إغلاق وتطبيق.
إذا أضفت مدخلات وتنبؤات، ترتيب جداولك تلقائيا حسب قيم RequestId .
ابدأ في إنشاء تقاريرك المخصصة على بيانات النموذج.
تحليل بيانات النموذج باستخدام Azure Databricks
إنشاء مساحة عمل Azure Databricks.
انتقل إلى مساحة عمل Databricks.
في مساحة عمل Databricks، حدد Upload البيانات.
حدد إنشاء جدول جديد وحدد مصادر> بيانات أخرىتخزين> Azure Blobإنشاء جدول في دفتر الملاحظات.
تحديث موقع بياناتك. وفيما يلي مثال على ذلك:
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"اتبع الخطوات الموجودة على القالب لعرض بياناتك وتحليلها.
الخطوات التالية
اكتشاف انحراف البيانات على البيانات التي جمعتها.






