تحسين أداء المعدات باستخدام البيانات التاريخية وRay وAmazon SageMaker | خدمات ويب أمازون

تحسين أداء المعدات باستخدام البيانات التاريخية وRay وAmazon SageMaker | خدمات ويب أمازون

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

استخدم حالات

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

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

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

حل نظرة عامة

يعمل الحل المقدم في هذا المنشور على أتمتة نشر سير العمل الشامل للتعلم المعزز دون اتصال بالإنترنت باستخدام البيانات التاريخية. يصف الرسم التخطيطي التالي البنية المستخدمة في سير العمل هذا. يتم إنتاج بيانات القياس عند الحافة بواسطة قطعة من المعدات الصناعية (هنا تتم محاكاتها بواسطة AWS لامدا وظيفة). يتم وضع البيانات في أمازون كينسيس Data Firehose، الذي يخزنها فيه خدمة تخزين أمازون البسيطة (أمازون إس 3). يعد Amazon S3 حل تخزين متينًا وعالي الأداء ومنخفض التكلفة يسمح لك بتقديم كميات كبيرة من البيانات لعملية التدريب على التعلم الآلي.

غراء AWS يقوم بفهرسة البيانات ويجعلها قابلة للاستعلام باستخدامها أمازون أثينا. تقوم Athena بتحويل بيانات القياس إلى نموذج يمكن لخوارزمية التعلم المعزز استيعابها ثم تفريغها مرة أخرى في Amazon S3. يقوم Amazon SageMaker بتحميل هذه البيانات في مهمة تدريبية وينتج نموذجًا مُدربًا. يقوم SageMaker بعد ذلك بتقديم هذا النموذج في نقطة نهاية SageMaker. يمكن للمعدات الصناعية بعد ذلك الاستعلام عن نقطة النهاية لتلقي توصيات الإجراء.

الشكل 1: مخطط معماري يوضح سير عمل التعلم المعزز الشامل.

الشكل 1: مخطط معماري يوضح سير عمل التعلم المعزز الشامل.

في هذه التدوينة، سنقوم بتقسيم سير العمل في الخطوات التالية:

  1. صياغة المشكلة. حدد الإجراءات التي يمكن اتخاذها، والقياسات التي يجب تقديم التوصيات بناءً عليها، وحدد رقميًا مدى جودة تنفيذ كل إجراء.
  2. تحضير البيانات. تحويل جدول القياسات إلى تنسيق يمكن أن تستهلكه خوارزمية التعلم الآلي.
  3. تدريب الخوارزمية على تلك البيانات.
  4. حدد أفضل تدريب بناءً على مقاييس التدريب.
  5. انشر النموذج إلى نقطة نهاية SageMaker.
  6. تقييم أداء النموذج في الإنتاج.

المتطلبات الأساسية المسبقة

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

  1. قم بتنزيل مستودع الكود باستخدام الأمر
    git clone https://github.com/aws-samples/sagemaker-offline-reinforcement-learning-ray-cql

  2. تغيير الدليل إلى الريبو:
    cd sagemaker-offline-reinforcement-learning-ray-cql

  3. بناء الريبو:
    sam build --use-container

  4. نشر الريبو
    sam deploy --guided --capabilities CAPABILITY_IAM CAPABILITY_AUTO_EXPAND

  5. استخدم الأوامر التالية لاستدعاء برنامج bash النصي، الذي يقوم بإنشاء بيانات وهمية باستخدام وظيفة AWS Lambda.
    1. sudo yum install jq
    2. cd utils
    3. sh generate_mock_data.sh

تجول الحل

صياغة المشكلة

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

ويبين الجدول التالي البيانات التاريخية التي تم جمعها من النظام.

موقف العربة سرعة العربة زاوية القطب السرعة الزاوية القطبية موقف الهدف القوة الخارجية مكافأة الوقت:
0.53 -0.79 -0.08 0.16 0.50 -0.04 11.5 5: 37: 54 PM
0.51 -0.82 -0.07 0.17 0.50 -0.04 11.9 5: 37: 55 PM
0.50 -0.84 -0.07 0.18 0.50 -0.03 12.2 5: 37: 56 PM
0.48 -0.85 -0.07 0.18 0.50 -0.03 10.5 5: 37: 57 PM
0.46 -0.87 -0.06 0.19 0.50 -0.03 10.3 5: 37: 58 PM

يمكنك الاستعلام عن معلومات النظام التاريخية باستخدام Amazon Athena من خلال الاستعلام التالي:

SELECT *
FROM "AWS CloudFormation Stack Name_glue_db"."measurements_table"
ORDER BY episode_id, epoch_time ASC
limit 10;

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

إعداد البيانات

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

{“obs”:[[0.53,-0.79,-0.08,0.16,0.5]], “action”:[[-0.04]], “reward”:[11.5] ,”next_obs”:[[0.51,-0.82,-0.07,0.17,0.5]]}

{“obs”:[[0.51,-0.82,-0.07,0.17,0.5]], “action”:[[-0.04]], “reward”:[11.9], “next_obs”:[[0.50,-0.84,-0.07,0.18,0.5]]}

{“obs”:[[0.50,-0.84,-0.07,0.18,0.5]], “action”:[[-0.03]], “reward”:[12.2], “next_obs”:[[0.48,-0.85,-0.07,0.18,0.5]]}

يحتوي مكدس AWS CloudFormation على مخرج يسمى AthenaQueryToCreateJsonFormatedData. قم بتشغيل هذا الاستعلام في Amazon Athena لإجراء التحويل وتخزين كائنات JSON في Amazon S3. تستخدم خوارزمية التعلم المعزز بنية كائنات JSON لفهم القيم التي ستبني عليها التوصيات ونتائج اتخاذ الإجراءات في البيانات التاريخية.

وكيل القطار

يمكننا الآن أن نبدأ مهمة تدريبية لإنتاج نموذج توصية عمل مدرب. يتيح لك Amazon SageMaker تشغيل وظائف تدريبية متعددة بسرعة لمعرفة مدى تأثير التكوينات المختلفة على النموذج المُدرب الناتج. اتصل بوظيفة Lambda المسماة TuningJobLauncherFunction لبدء مهمة ضبط المعلمات الفائقة التي تقوم بتجربة أربع مجموعات مختلفة من المعلمات الفائقة عند تدريب الخوارزمية.

اختيار أفضل تشغيل التدريب

للعثور على أي من وظائف التدريب أنتجت أفضل نموذج، قم بفحص منحنيات الخسارة الناتجة أثناء التدريب. يقوم نموذج CQL الناقد بتقدير أداء الممثل (يسمى قيمة Q) بعد اتخاذ الإجراء الموصى به. يتضمن جزء من دالة الخسارة الناقدة خطأ الفرق الزمني. يقيس هذا المقياس دقة قيمة Q للناقد. ابحث عن الدورات التدريبية ذات قيمة Q المتوسطة العالية وخطأ الفرق الزمني المنخفض. هذه الورقة، سير عمل للتعلم المعزز الآلي بدون نماذجتفاصيل كيفية اختيار أفضل مسار تدريبي. يحتوي مستودع التعليمات البرمجية على ملف، /utils/investigate_training.py، يؤدي ذلك إلى إنشاء شكل html يصف أحدث مهمة تدريبية. قم بتشغيل هذا الملف واستخدم الإخراج لاختيار أفضل تدريب.

يمكننا استخدام متوسط ​​قيمة Q للتنبؤ بأداء النموذج المدرب. يتم تدريب قيم Q للتنبؤ بشكل متحفظ بمجموع قيم المكافآت المستقبلية المخصومة. بالنسبة للعمليات طويلة الأمد، يمكننا تحويل هذا الرقم إلى متوسط ​​مرجح بشكل كبير عن طريق ضرب قيمة Q في (1-"سعر الخصم"). أفضل تدريب في هذه المجموعة حقق متوسط ​​قيمة Q قدره 539. معدل الخصم لدينا هو 0.99، لذا يتوقع النموذج متوسط ​​مكافأة يبلغ 5.39 على الأقل لكل خطوة زمنية. يمكنك مقارنة هذه القيمة بأداء النظام التاريخي للإشارة إلى ما إذا كان النموذج الجديد سيتفوق على سياسة التحكم التاريخية. في هذه التجربة، كان متوسط ​​مكافأة البيانات التاريخية لكل خطوة زمنية 4.3، لذلك يتوقع نموذج CQL أداءً أفضل بنسبة 25 بالمائة من النظام الذي تم تحقيقه تاريخيًا.

نشر النموذج

تتيح لك نقاط نهاية Amazon SageMaker خدمة نماذج التعلم الآلي بعدة طرق مختلفة لتلبية مجموعة متنوعة من حالات الاستخدام. في هذا المنشور، سنستخدم نوع نقطة النهاية بدون خادم بحيث تتكيف نقطة النهاية الخاصة بنا تلقائيًا مع الطلب، وندفع فقط مقابل استخدام الحوسبة عندما تقوم نقطة النهاية بإنشاء استنتاج. لنشر نقطة نهاية بدون خادم، قم بتضمين أ ProductionVariantServerlessConfig في ال متغير الإنتاج من SageMaker تكوين نقطة النهاية. يوضح مقتطف التعليمات البرمجية التالي كيفية نشر نقطة النهاية بدون خادم في هذا المثال باستخدام مجموعة تطوير برامج Amazon SageMaker لـ Python. ابحث عن نموذج التعليمات البرمجية المستخدم لنشر النموذج في sagemaker-offline-reinforcement-learning-ray-cql.

predictor = model.deploy( serverless_inference_config=ServerlessInferenceConfig( memory_size_in_mb=2048, max_concurrency=200 ), <…>
)

توجد ملفات النماذج المدربة في عناصر نموذج S3 لكل عملية تدريب. لنشر نموذج التعلم الآلي، حدد موقع ملفات النموذج لأفضل تدريب، واستدعاء وظيفة Lambda المسماة "ModelDeployerFunction"بحدث يحتوي على بيانات النموذج هذه. ستطلق وظيفة Lambda نقطة نهاية بدون خادم SageMaker لخدمة النموذج المُدرب. نموذج حدث لاستخدامه عند استدعاء "ModelDeployerFunction"

{ "DescribeTrainingJob": { "ModelArtifacts": { "S3ModelArtifacts": "s3://your-bucket/training/my-training-job/output/model.tar.gz"} } }

تقييم أداء النموذج المدرب

حان الوقت لنرى كيف يعمل نموذجنا المدرّب في الإنتاج! للتحقق من أداء النموذج الجديد، اتصل بوظيفة Lambda المسماة "RunPhysicsSimulationFunction" مع اسم نقطة نهاية SageMaker في الحدث. سيؤدي هذا إلى تشغيل المحاكاة باستخدام الإجراءات الموصى بها بواسطة نقطة النهاية. حدث نموذجي لاستخدامه عند استدعاء RunPhysicsSimulatorFunction:

{"random_action_fraction": 0.0, "inference_endpoint_name": "sagemaker-endpoint-name"}

استخدم استعلام Athena التالي لمقارنة أداء النموذج المُدرب مع أداء النظام التاريخي.

WITH sum_reward_by_episode AS ( SELECT SUM(reward) as sum_reward, m_temp.action_source FROM "<AWS CloudFormation Stack Name>_glue_db"."measurements_table" m_temp GROUP BY m_temp.episode_id, m_temp.action_source ) SELECT sre.action_source, AVG(sre.sum_reward) as avg_total_reward_per_episode
FROM sum_reward_by_episode sre
GROUP BY sre.action_source
ORDER BY avg_total_reward_per_episode DESC

فيما يلي مثال لجدول النتائج. نرى أن النموذج المدرب حقق مكافأة أكبر بمقدار 2.5 مرة من البيانات التاريخية! بالإضافة إلى ذلك، كان الأداء الحقيقي للنموذج أفضل مرتين من توقع الأداء المحافظ.

مصدر العمل متوسط ​​المكافأة لكل خطوة زمنية
trained_model 10.8
historic_data 4.3

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

تحسين أداء المعدات باستخدام البيانات التاريخية وRay وAmazon SageMaker | أمازون ويب سيرفيسز PlatoBlockchain Data Intelligence. البحث العمودي. منظمة العفو الدولية. تحسين أداء المعدات باستخدام البيانات التاريخية وRay وAmazon SageMaker | أمازون ويب سيرفيسز PlatoBlockchain Data Intelligence. البحث العمودي. منظمة العفو الدولية.

 تنظيف

لحذف الموارد المستخدمة في سير العمل هذا، انتقل إلى قسم الموارد في مكدس Amazon CloudFormation واحذف حاويات S3 وأدوار IAM. ثم قم بحذف مكدس CloudFormation نفسه.

وفي الختام

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

يخدش المنشور سطح ما يمكنك فعله باستخدام Amazon SageMaker RL. جربها، ويرجى إرسال تعليقات إلينا، إما في منتدى مناقشة أمازون SageMaker أو من خلال جهات اتصال AWS المعتادة.


حول المؤلف

تحسين أداء المعدات باستخدام البيانات التاريخية وRay وAmazon SageMaker | أمازون ويب سيرفيسز PlatoBlockchain Data Intelligence. البحث العمودي. منظمة العفو الدولية.والت مايفيلد هو مهندس الحلول في AWS ويساعد شركات الطاقة على العمل بشكل أكثر أمانًا وكفاءة. قبل انضمامه إلى AWS، عمل والت كمهندس عمليات في شركة Hilcorp Energy. يحب البستنة ويطير السمك في أوقات فراغه.

تحسين أداء المعدات باستخدام البيانات التاريخية وRay وAmazon SageMaker | أمازون ويب سيرفيسز PlatoBlockchain Data Intelligence. البحث العمودي. منظمة العفو الدولية.فيليبي لوبيز هو مهندس حلول أول في AWS مع التركيز على عمليات إنتاج النفط والغاز. قبل انضمامه إلى AWS، عمل فيليبي مع GE Digital وSchlumberger، حيث ركز على تصميم المنتجات وتحسينها للتطبيقات الصناعية.

تحسين أداء المعدات باستخدام البيانات التاريخية وRay وAmazon SageMaker | أمازون ويب سيرفيسز PlatoBlockchain Data Intelligence. البحث العمودي. منظمة العفو الدولية.ينغوي يو هو عالم تطبيقي في Geneative AI Incubator، AWS. لديه خبرة في العمل مع العديد من المنظمات عبر الصناعات على إثباتات مختلفة للمفهوم في التعلم الآلي، بما في ذلك معالجة اللغة الطبيعية، وتحليل السلاسل الزمنية، والصيانة التنبؤية. يستمتع في أوقات فراغه بالسباحة والرسم والمشي لمسافات طويلة وقضاء الوقت مع العائلة والأصدقاء.

تحسين أداء المعدات باستخدام البيانات التاريخية وRay وAmazon SageMaker | أمازون ويب سيرفيسز PlatoBlockchain Data Intelligence. البحث العمودي. منظمة العفو الدولية.Haozhu وانغ هو عالم أبحاث في Amazon Bedrock ويركز على بناء نماذج مؤسسة Amazon's Titan. كان يعمل سابقًا في Amazon ML Solutions Lab كقائد مشارك لـ Reinforcement Learning Vertical وساعد العملاء على بناء حلول ML متقدمة باستخدام أحدث الأبحاث حول التعلم المعزز ومعالجة اللغة الطبيعية وتعلم الرسم البياني. حصل Haozhu على درجة الدكتوراه في الهندسة الكهربائية وهندسة الكمبيوتر من جامعة ميشيغان.

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

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