قم ببناء نماذج Amazon Lookout للمعدات وتدريبها ونشرها باستخدام Python Toolbox PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

قم ببناء نماذج Amazon Lookout للمعدات وتدريبها ونشرها باستخدام Python Toolbox

يمكن أن تكون الصيانة التنبؤية طريقة فعالة لمنع أعطال الآلات الصناعية ووقت تعطلها الباهظ من خلال المراقبة الاستباقية لحالة أجهزتك ، بحيث يمكن تنبيهك إلى أي حالات شاذة قبل حدوث أعطال في المعدات. يعد تثبيت المستشعرات والبنية التحتية اللازمة لاتصال البيانات والتخزين والتحليل والتنبيه هي العناصر الأساسية لتمكين حلول الصيانة التنبؤية. ومع ذلك ، حتى بعد تثبيت البنية التحتية المخصصة ، تستخدم العديد من الشركات تحليلات البيانات الأساسية وأساليب النمذجة البسيطة التي غالبًا ما تكون غير فعالة في اكتشاف المشكلات في وقت مبكر بما يكفي لتجنب التوقف عن العمل. أيضًا ، قد يكون تنفيذ حل التعلم الآلي (ML) لمعداتك أمرًا صعبًا ويستغرق وقتًا طويلاً.

بدافع أمازون لوكاوت للمعدات، يمكنك تحليل بيانات المستشعر تلقائيًا لمعداتك الصناعية لاكتشاف السلوك غير الطبيعي للماكينة - دون الحاجة إلى خبرة في تعلم الآلة. هذا يعني أنه يمكنك اكتشاف تشوهات المعدات بسرعة ودقة ، وتشخيص المشكلات بسرعة ، واتخاذ الإجراءات لتقليل وقت التعطل الباهظ.

يحلل Lookout for Equipment البيانات من أجهزة الاستشعار والأنظمة الخاصة بك ، مثل الضغط ومعدل التدفق وعدد الدورات في الدقيقة ودرجة الحرارة والطاقة ، لتدريب نموذج خاص بمعداتك تلقائيًا بناءً على بياناتك. يستخدم نموذج ML الفريد الخاص بك لتحليل بيانات المستشعر الواردة في الوقت الفعلي وتحديد علامات الإنذار المبكر التي قد تؤدي إلى فشل الجهاز. لكل تنبيه يتم اكتشافه ، يحدد Lookout for Equipment أي مستشعرات محددة تشير إلى المشكلة ، وحجم التأثير على الحدث المكتشف.

مع مهمة وضع ML في أيدي كل مطور ، نريد تقديم وظيفة إضافية أخرى إلى Lookout for Equipment: مربع أدوات Python مفتوح المصدر يتيح للمطورين وعلماء البيانات إنشاء نماذج Lookout for Equipment وتدريبها ونشرها بشكل مشابه لما اعتدت عليه الأمازون SageMaker. هذه المكتبة عبارة عن غلاف أعلى Lookout for Equipment boto3 python API ويتم توفيرها لبدء رحلتك مع هذه الخدمة. إذا كان لديك أي اقتراحات تحسين أو أخطاء للإبلاغ عنها ، فيرجى تقديم مشكلة في مربع الأدوات مستودع جيثب.

في هذا المنشور ، نقدم دليلًا تفصيليًا لاستخدام مربع أدوات Python مفتوح المصدر من Lookout for Equipment من داخل دفتر ملاحظات SageMaker.

بيئة الإعداد

لاستخدام مربع أدوات Lookout for Equipment مفتوح المصدر من دفتر ملاحظات SageMaker ، نحتاج إلى منح دفتر ملاحظات SageMaker الأذونات اللازمة للاتصال بـ Lookout for Equipment APIs. بالنسبة إلى هذا المنشور ، نفترض أنك قمت بالفعل بإنشاء مثيل دفتر ملاحظات SageMaker. للحصول على تعليمات ، راجع ابدأ مع مثيلات Amazon SageMaker Notebook. يتم إقران مثيل دفتر الملاحظات تلقائيًا بدور تنفيذي.

  1. للعثور على الدور المرتبط بالمثيل ، حدد المثيل في وحدة تحكم SageMaker.
    قم ببناء نماذج Amazon Lookout للمعدات وتدريبها ونشرها باستخدام Python Toolbox PlatoBlockchain Data Intelligence. البحث العمودي. عاي.
  2. في الشاشة التالية ، قم بالتمرير لأسفل للعثور على ملف إدارة الهوية والوصول AWS (IAM) المرتبط بالمثيل في ملف الأذونات والتشفير والقسم الخاص به.
  3. اختر الدور لفتح وحدة تحكم IAM.
    قم ببناء نماذج Amazon Lookout للمعدات وتدريبها ونشرها باستخدام Python Toolbox PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

بعد ذلك ، نرفق سياسة مضمنة بدور SageMaker IAM الخاص بنا.

  1. على أذونات علامة تبويب الدور الذي فتحته ، اختر إضافة سياسة مضمنة.
    قم ببناء نماذج Amazon Lookout للمعدات وتدريبها ونشرها باستخدام Python Toolbox PlatoBlockchain Data Intelligence. البحث العمودي. عاي.
  2. على JSON علامة التبويب ، أدخل الرمز التالي. نستخدم عمل وايلد كارد (lookoutequipment:*) للخدمة لأغراض العرض. بالنسبة لحالات الاستخدام الحقيقي ، قم بتوفير الأذونات المطلوبة فقط لتشغيل استدعاءات SDK API المناسبة.
     { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lookoutequipment:*" ], "Resource": "*" } ] }

  3. اختار سياسة المراجعة.
  4. أدخل اسمًا للسياسة وأنشئ السياسة.

بالإضافة إلى السياسة المضمنة السابقة ، في نفس دور IAM ، نحتاج إلى إعداد علاقة ثقة للسماح لـ Lookout for Equipment بتولي هذا الدور. يحتوي دور SageMaker بالفعل على حق الوصول المناسب إلى البيانات خدمة تخزين أمازون البسيطة (Amazon S3) ؛ يؤدي السماح لـ Lookout for Equipment بتولي هذا الدور إلى التأكد من أنه يتمتع بنفس إمكانية الوصول إلى البيانات التي يتمتع بها الكمبيوتر الدفتري الخاص بك. في بيئتك ، قد يكون لديك بالفعل دور محدد يضمن وصول Lookout for Equipment إلى بياناتك ، وفي هذه الحالة لن تحتاج إلى تعديل علاقة الثقة لهذا الدور المشترك.

  1. داخل دور SageMaker IAM الخاص بنا في ملف علاقات الثقة علامة التبويب، اختر تحرير علاقة الثقة.
  2. ضمن وثيقة السياسة ، استبدل السياسة بأكملها بالرمز التالي:
     { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lookoutequipment.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

  3. اختار تحديث سياسة الثقة.

نحن الآن على استعداد لاستخدام مربع أدوات Lookout for Equipment في بيئة دفتر SageMaker الخاص بنا. إن مربع أدوات Lookout for Equipment عبارة عن حزمة Python مفتوحة المصدر تسمح لعلماء البيانات ومطوري البرامج ببناء ونشر نماذج اكتشاف الشذوذ في السلاسل الزمنية بسهولة باستخدام Lookout for Equipment. لنلقِ نظرة على ما يمكنك تحقيقه بسهولة أكبر بفضل صندوق الأدوات!

تبعيات

في وقت كتابة هذا التقرير ، يحتاج صندوق الأدوات إلى تثبيت ما يلي:

بعد تلبية هذه التبعيات ، يمكنك تثبيت وتشغيل مربع أدوات Lookout for Equipment باستخدام الأمر التالي من محطة Jupyter الطرفية:

pip install lookoutequipment

صندوق الأدوات جاهز الآن للاستخدام. في هذا المنشور ، نوضح كيفية استخدام صندوق الأدوات من خلال التدريب ونشر نموذج اكتشاف الشذوذ. تتكون دورة حياة تطوير ML النموذجية من بناء مجموعة بيانات للتدريب ، وتدريب النموذج ، ونشر النموذج ، وإجراء الاستدلال على النموذج. يعتبر صندوق الأدوات شاملاً تمامًا من حيث الوظائف التي يوفرها ، ولكن في هذا المنشور ، نركز على الإمكانات التالية:

  • جهز مجموعة البيانات
  • تدريب نموذج كشف الشذوذ باستخدام Lookout for Equipment
  • بناء تصورات لتقييم النموذج الخاص بك
  • تكوين وبدء جدولة الاستدلال
  • تصور نتائج الاستدلالات المجدولة

دعونا نفهم كيف يمكننا استخدام صندوق الأدوات لكل من هذه القدرات.

جهز مجموعة البيانات

يتطلب البحث عن المعدات إنشاء مجموعة بيانات واستيعابها. لإعداد مجموعة البيانات ، أكمل الخطوات التالية:

  1. قبل إنشاء مجموعة البيانات ، نحتاج إلى تحميل عينة مجموعة بيانات وتحميلها إلى ملف خدمة تخزين أمازون البسيطة (Amazon S3) دلو. في هذا المنشور ، نستخدم ملف expander بيانات:
    from lookoutequipment import dataset data = dataset.load_dataset(dataset_name='expander', target_dir='expander-data')
    dataset.upload_dataset('expander-data', bucket, prefix)

عاد data يمثل الكائن قاموسًا يحتوي على ما يلي:

    • تدريب DataFrame
    • تسميات DataFrame
    • يبدأ التدريب وينتهي مواعيده
    • موعد بدء التقييم وانتهائه
    • وصف العلامات DataFrame

يتم تحميل بيانات التدريب والتسمية من الدليل الهدف إلى Amazon S3 في موقع الحاوية / البادئة.

  1. بعد تحميل مجموعة البيانات في S3 ، نقوم بإنشاء كائن LookoutEquipmentDataset الفئة التي تدير مجموعة البيانات:
    lookout_dataset = dataset.LookoutEquipmentDataset( dataset_name='my_dataset', access_role_arn=role_arn, component_root_dir=f's3://{bucket}/{prefix}training-data'
    ) # creates the dataset
    lookout_dataset.create()

access_role_arn يجب أن يكون الموفر له حق الوصول إلى حاوية S3 حيث توجد البيانات. يمكنك استرداد دور ARN لمثيل دفتر ملاحظات SageMaker من السابق بيئة الإعداد قسم وأضف سياسة IAM لمنح حق الوصول إلى حاوية S3 الخاصة بك. لمزيد من المعلومات، راجع كتابة سياسات IAM: كيفية منح حق الوصول إلى حاوية Amazon S3.

component_root_dir يجب أن تشير المعلمة إلى الموقع في Amazon S3 حيث يتم تخزين بيانات التدريب.

بعد أن أطلقنا واجهات برمجة التطبيقات السابقة ، تم إنشاء مجموعة البيانات الخاصة بنا.

  1. استيعاب البيانات في مجموعة البيانات:
    response = lookout_dataset.ingest_data(bucket, prefix + 'training-data/')

الآن بعد أن أصبحت بياناتك متاحة على Amazon S3 ، فإن إنشاء مجموعة بيانات واستيعاب البيانات فيها هو مجرد مسألة ثلاثة أسطر من التعليمات البرمجية. لا تحتاج إلى إنشاء مخطط JSON طويل يدويًا ؛ يكتشف مربع الأدوات بنية ملفك ويبنيها لك. بعد استيعاب بياناتك ، حان وقت الانتقال إلى التدريب!

تدريب نموذج كشف الشذوذ

بعد استيعاب البيانات في مجموعة البيانات ، يمكننا بدء عملية تدريب النموذج. انظر الكود التالي:

from lookoutequipment import model lookout_model = model.LookoutEquipmentModel(model_name='my_model', dataset_name='my_dataset') lookout_model.set_time_periods(data['evaluation_start'],data['evaluation_end'],data['training_start'],data['training_end'])
lookout_model.set_label_data(bucket=bucket,prefix=prefix + 'label-data/',access_role_arn=role_arn)
lookout_model.set_target_sampling_rate(sampling_rate='PT5M') #trigger training job
response = lookout_model.train() #poll every 5 minutes to check the status of the training job
lookout_model.poll_model_training(sleep_time=300)

قبل أن نبدأ التدريب ، نحتاج إلى تحديد فترات التدريب والتقييم ضمن مجموعة البيانات. قمنا أيضًا بتعيين الموقع في Amazon S3 حيث يتم تخزين البيانات المصنفة وضبط معدل أخذ العينات على 5 دقائق. بعد أن أطلقنا التدريب ، قام برنامج poll_model_training يستقصي حالة الوظيفة التدريبية كل 5 دقائق حتى ينجح التدريب.

تتيح لك وحدة التدريب الخاصة بصندوق أدوات Lookout for Equipment تدريب نموذج يحتوي على أقل من 10 أسطر من التعليمات البرمجية. يقوم ببناء جميع سلاسل طلبات إنشاء الطول التي تحتاجها واجهة برمجة التطبيقات منخفضة المستوى نيابة عنك ، مما يلغي الحاجة إلى إنشاء مستندات JSON طويلة وعرضة للخطأ.

بعد تدريب النموذج ، يمكننا إما التحقق من النتائج خلال فترة التقييم أو تكوين جدولة الاستدلال باستخدام مربع الأدوات.

تقييم نموذج مدرب

بعد أن يتم تدريب النموذج ، فإن وصف النموذج API من Lookout for Equipment يسجل المقاييس المرتبطة بالتدريب. تقوم واجهة برمجة التطبيقات هذه بإرجاع مستند JSON مع حقلي اهتمام لرسم نتائج التقييم: labeled_ranges و predicted_ranges، والتي تحتوي على الانحرافات المعروفة والمتوقعة في نطاق التقييم ، على التوالي. يوفر مربع الأدوات أدوات مساعدة لتحميلها في Pandas DataFrame بدلاً من ذلك:

from lookoutequipment import evaluation LookoutDiagnostics = evaluation.LookoutEquipmentAnalysis(model_name='my_model', tags_df=data['data']) predicted_ranges = LookoutDiagnostics.get_predictions()
labels_fname = os.path.join('expander-data', 'labels.csv')
labeled_range = LookoutDiagnostics.get_labels(labels_fname)

تتمثل ميزة تحميل النطاقات في DataFrame في أنه يمكننا إنشاء تصورات لطيفة عن طريق رسم إحدى إشارات السلاسل الزمنية الأصلية وإضافة تراكب للأحداث الشاذة المسمى والمتوقعة باستخدام TimeSeriesVisualization فئة صندوق الأدوات:

from lookoutequipment import plot TSViz = plot.TimeSeriesVisualization(timeseries_df=data['data'], data_format='tabular')
TSViz.add_signal(['signal-001'])
TSViz.add_labels(labeled_range)
TSViz.add_predictions([predicted_ranges])
TSViz.add_train_test_split(data['evaluation_start'])
TSViz.add_rolling_average(60*24)
TSViz.legend_format = {'loc': 'upper left', 'framealpha': 0.4, 'ncol': 3}
fig, axis = TSViz.plot()

هذه الأسطر القليلة من التعليمات البرمجية تنشئ مخططًا بالميزات التالية:

  • مخطط خط للإشارة المختارة ؛ الجزء المستخدم للتدريب يظهر النموذج باللون الأزرق بينما جزء التقييم باللون الرمادي
  • يظهر المتوسط ​​المتداول كخط أحمر رفيع متراكب على المتسلسلة الزمنية
  • يتم عرض الملصقات في شريط أخضر بعنوان "الحالات الشاذة المعروفة" (افتراضيًا)
  • يتم عرض الأحداث المتوقعة في شريط أحمر بعنوان "الأحداث المكتشفة"

قم ببناء نماذج Amazon Lookout للمعدات وتدريبها ونشرها باستخدام Python Toolbox PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

ينفذ صندوق الأدوات جميع عمليات الرفع الثقيل لتحديد موقع ملفات JSON وتحميلها وتحليلها مع توفير تصورات جاهزة للاستخدام تقلل من الوقت للحصول على رؤى من نماذج اكتشاف العيوب لديك. في هذه المرحلة ، يتيح لك صندوق الأدوات التركيز على تفسير النتائج واتخاذ الإجراءات لتقديم قيمة تجارية مباشرة للمستخدمين النهائيين. بالإضافة إلى تصورات السلاسل الزمنية هذه ، توفر SDK مخططات أخرى مثل مقارنة مدرج تكراري لقيم إشاراتك بين الأوقات العادية وغير الطبيعية. لمعرفة المزيد حول إمكانيات التصور الأخرى التي يمكنك استخدامها فور إخراجها من الصندوق ، راجع ملف ابحث عن وثائق صندوق أدوات المعدات.

جدولة الاستدلال

دعونا نرى كيف يمكننا جدولة الاستدلالات باستخدام مربع الأدوات:

from lookout import scheduler #prepare dummy inference data
dataset.prepare_inference_data( root_dir='expander-data', sample_data_dict=data, bucket=bucket, prefix=prefix
) #setup the scheduler
lookout_scheduler = scheduler.LookoutEquipmentScheduler(scheduler_name='my_scheduler',model_name='my_model')
scheduler_params = { 'input_bucket': bucket, 'input_prefix': prefix + 'inference-data/input/', 'output_bucket': bucket, 'output_prefix': prefix + 'inference-data/output/', 'role_arn': role_arn, 'upload_frequency': 'PT5M', 'delay_offset': None, 'timezone_offset': '+00:00', 'component_delimiter': '_', 'timestamp_format': 'yyyyMMddHHmmss' } lookout_scheduler.set_parameters(**scheduler_params)
response = lookout_scheduler.create()

يقوم هذا الرمز بإنشاء برنامج جدولة يقوم بمعالجة ملف واحد كل 5 دقائق (يطابق تردد التحميل المحدد عند تكوين المجدول). بعد 15 دقيقة أو نحو ذلك ، يجب أن تكون لدينا بعض النتائج المتاحة. للحصول على هذه النتائج من المجدول في Pandas DataFrame ، علينا فقط تشغيل الأمر التالي:

results_df = lookout_scheduler.get_predictions()

من هنا ، يمكننا أيضًا رسم أهمية الميزة للتنبؤ باستخدام واجهات برمجة تطبيقات التصور الخاصة بصندوق الأدوات:

event_details = pd.DataFrame(results_df.iloc[0, 1:]).reset_index()
fig, ax = plot.plot_event_barh(event_details)

ينتج عنه تصور أهمية الميزة التالية على بيانات العينة.

قم ببناء نماذج Amazon Lookout للمعدات وتدريبها ونشرها باستخدام Python Toolbox PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

يوفر صندوق الأدوات أيضًا واجهة برمجة تطبيقات لإيقاف المجدول. انظر مقتطف الكود التالي:

scheduler.stop()

تنظيف

لحذف جميع القطع الأثرية التي تم إنشاؤها مسبقًا ، يمكننا استدعاء delete_dataset API باسم مجموعة البيانات الخاصة بنا:

dataset.delete_dataset(dataset_name='my_dataset', delete_children=True, verbose=True)

وفي الختام

عند التحدث إلى العملاء الصناعيين والتصنيعيين ، فإن التحدي المشترك الذي نسمعه فيما يتعلق بالاستفادة من الذكاء الاصطناعي والتعلم الآلي هو القدر الهائل من التخصيص والتطوير المحدد وعمل علم البيانات اللازم للحصول على نتائج موثوقة وقابلة للتنفيذ. يعد تدريب نماذج الكشف عن الشذوذ والحصول على تحذير مسبق عملي للعديد من الأجهزة الصناعية المختلفة شرطًا أساسيًا لتقليل جهود الصيانة وتقليل إعادة العمل أو الهدر وزيادة جودة المنتج وتحسين الكفاءة الكلية للمعدات (OEE) أو خطوط الإنتاج. حتى الآن ، تطلب هذا قدرًا هائلاً من أعمال التطوير المحددة ، والتي يصعب توسيعها والحفاظ عليها بمرور الوقت.

تتيح خدمات Amazon Applied AI مثل Lookout for Equipment للمصنعين بناء نماذج AI دون الوصول إلى فريق متعدد الاستخدامات من علماء البيانات ومهندسي البيانات ومهندسي العمليات. الآن ، مع مربع أدوات Lookout for Equipment ، يمكن للمطورين تقليل الوقت اللازم لاستكشاف الأفكار في بيانات السلاسل الزمنية الخاصة بك واتخاذ الإجراءات اللازمة. يوفر مربع الأدوات هذا واجهة سهلة الاستخدام وصديقة للمطورين لإنشاء نماذج اكتشاف الشذوذ بسرعة باستخدام Lookout for Equipment. صندوق الأدوات مفتوح المصدر ويمكن العثور على جميع أكواد SDK على ملف أمازون بالمرصاد لمعدات بيثون SDK جيثب ريبو. إنه متاح أيضًا كملف حزمة PyPi.

يغطي هذا المنشور عددًا قليلاً فقط من أهم واجهات برمجة التطبيقات. يمكن للقراء المهتمين التحقق من وثائق صندوق الأدوات للنظر في المزيد من القدرات المتقدمة لمربع الأدوات. جربه وأخبرنا برأيك في التعليقات!


حول المؤلف

قم ببناء نماذج Amazon Lookout للمعدات وتدريبها ونشرها باستخدام Python Toolbox PlatoBlockchain Data Intelligence. البحث العمودي. عاي.فيكيش باندي هو مهندس حلول متخصص في التعلم الآلي في AWS ، يساعد العملاء في المملكة المتحدة ومنطقة أوروبا والشرق الأوسط وإفريقيا على تصميم وبناء حلول تعلم الآلة. خارج العمل ، يستمتع Vikesh بتجربة المأكولات المختلفة وممارسة الرياضة في الهواء الطلق.

قم ببناء نماذج Amazon Lookout للمعدات وتدريبها ونشرها باستخدام Python Toolbox PlatoBlockchain Data Intelligence. البحث العمودي. عاي.ايوان كاتانا هو مهندس حلول متخصص في الذكاء الاصطناعي وتعلم الآلة في AWS. يساعد العملاء على تطوير وتوسيع نطاق حلول ML الخاصة بهم في سحابة AWS. يتمتع إيوان بخبرة تزيد عن 20 عامًا ، معظمها في تصميم هندسة البرمجيات وهندسة السحابة.

قم ببناء نماذج Amazon Lookout للمعدات وتدريبها ونشرها باستخدام Python Toolbox PlatoBlockchain Data Intelligence. البحث العمودي. عاي.مايكل هواراو هو مهندس حلول متخصص في الذكاء الاصطناعي / التعلم الآلي في AWS يتناوب بين عالم البيانات ومهندس التعلم الآلي ، اعتمادًا على اللحظة. إنه متحمس لجلب قوة الذكاء الاصطناعي / التعلم الآلي إلى أرضيات المتاجر لعملائه الصناعيين ، وقد عمل على مجموعة واسعة من حالات استخدام التعلم الآلي ، بدءًا من اكتشاف الأخطاء إلى جودة المنتج التنبؤية أو تحسين التصنيع. عندما لا يساعد العملاء على تطوير أفضل تجارب التعلم الآلي التالية ، فإنه يستمتع بمراقبة النجوم أو السفر أو العزف على البيانو.

الطابع الزمني:

اكثر من التعلم الآلي من AWS