بهینه سازی عملکرد تجهیزات با داده های تاریخی، Ray و Amazon SageMaker | خدمات وب آمازون

بهینه سازی عملکرد تجهیزات با داده های تاریخی، Ray و Amazon SageMaker | خدمات وب آمازون

سیاست‌های کنترل کارآمد شرکت‌های صنعتی را قادر می‌سازد تا با به حداکثر رساندن بهره‌وری، سودآوری خود را افزایش دهند و در عین حال، زمان توقف برنامه‌ریزی نشده و مصرف انرژی را کاهش دهند. یافتن سیاست‌های کنترل بهینه یک کار پیچیده است زیرا سیستم‌های فیزیکی، مانند راکتورهای شیمیایی و توربین‌های بادی، اغلب به سختی مدل‌سازی می‌شوند و به این دلیل که رانش در دینامیک فرآیند می‌تواند باعث بدتر شدن عملکرد در طول زمان شود. یادگیری تقویتی آفلاین یک استراتژی کنترلی است که به شرکت‌های صنعتی اجازه می‌دهد تا سیاست‌های کنترلی را کاملاً از داده‌های تاریخی و بدون نیاز به مدل فرآیند صریح بسازند. این رویکرد نیازی به تعامل مستقیم با فرآیند در مرحله اکتشاف ندارد، که یکی از موانع را برای پذیرش یادگیری تقویتی در برنامه‌های کاربردی حیاتی از بین می‌برد. در این پست، ما یک راه حل سرتاسر برای یافتن سیاست های کنترل بهینه با استفاده از داده های تاریخی ایجاد می کنیم آمازون SageMaker با استفاده از Ray's RLlib کتابخانه برای کسب اطلاعات بیشتر در مورد یادگیری تقویتی، نگاه کنید از آموزش تقویتی با Amazon SageMaker استفاده کنید.

موارد استفاده

کنترل صنعتی شامل مدیریت سیستم های پیچیده مانند خطوط تولید، شبکه های انرژی و کارخانه های شیمیایی برای اطمینان از عملکرد کارآمد و قابل اعتماد است. بسیاری از استراتژی‌های کنترل سنتی مبتنی بر قوانین و مدل‌های از پیش تعریف‌شده هستند که اغلب به بهینه‌سازی دستی نیاز دارند. در برخی از صنایع، نظارت بر عملکرد و تنظیم خط مشی کنترل زمانی که، برای مثال، تجهیزات شروع به تخریب می کنند یا شرایط محیطی تغییر می کند، یک روش استاندارد است. تنظیم مجدد می تواند هفته ها طول بکشد و ممکن است نیاز به تزریق تحریکات خارجی در سیستم برای ثبت پاسخ آن در رویکرد آزمون و خطا داشته باشد.

یادگیری تقویتی به عنوان یک پارادایم جدید در کنترل فرآیند برای یادگیری سیاست های کنترل بهینه از طریق تعامل با محیط ظاهر شده است. این فرآیند مستلزم تقسیم داده ها به سه دسته است: 1) اندازه گیری های موجود از سیستم فیزیکی، 2) مجموعه اقداماتی که می توان بر روی سیستم انجام داد، و 3) یک متریک عددی (پاداش) عملکرد تجهیزات. یک خط مشی آموزش داده می شود تا عملی را در یک مشاهده مشخص پیدا کند که احتمالاً بالاترین پاداش های آینده را به همراه دارد.

در یادگیری تقویتی آفلاین، می توان یک خط مشی را در مورد داده های تاریخی قبل از استقرار در تولید آموزش داد. الگوریتم آموزش داده شده در این پست وبلاگ "یادگیری محافظه کارانه Q” (CQL). CQL شامل یک مدل "بازیگر" و یک مدل "منتقد" است و برای پیش بینی محافظه کارانه عملکرد خود پس از انجام یک اقدام توصیه شده طراحی شده است. در این پست، این فرآیند با یک مشکل کنترل گاری-قطب گویا نشان داده شده است. هدف این است که یک عامل را آموزش دهیم تا یک قطب را روی یک گاری متعادل کند و همزمان گاری را به سمت یک مکان هدف تعیین شده حرکت دهد. روش آموزش از داده‌های آفلاین استفاده می‌کند و به عامل اجازه می‌دهد از اطلاعات از قبل موجود بیاموزد. این مطالعه موردی چرخ دستی، فرآیند آموزش و اثربخشی آن را در کاربردهای بالقوه دنیای واقعی نشان می‌دهد.

بررسی اجمالی راه حل

راه حل ارائه شده در این پست، استقرار یک گردش کار پایان به انتها را برای یادگیری تقویتی آفلاین با داده های تاریخی خودکار می کند. نمودار زیر معماری مورد استفاده در این گردش کار را شرح می دهد. داده های اندازه گیری در لبه توسط یک قطعه از تجهیزات صنعتی تولید می شود (در اینجا توسط یک شبیه سازی شده است AWS لامبدا تابع). داده ها در یک قرار داده می شوند آمازون کینسیس Data Firehose که آن را در آن ذخیره می کند سرویس ذخیره سازی ساده آمازون (Amazon S3). Amazon S3 یک راه حل ذخیره سازی بادوام، کارآمد و کم هزینه است که به شما امکان می دهد حجم زیادی از داده ها را به فرآیند آموزش یادگیری ماشین ارائه دهید.

چسب AWS داده ها را فهرست بندی می کند و با استفاده از آنها قابل پرس و جو می کند آمازون آتنا. آتنا داده‌های اندازه‌گیری را به شکلی تبدیل می‌کند که یک الگوریتم یادگیری تقویتی می‌تواند جذب کند و سپس آن را در آمازون 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

می توانید اطلاعات سیستم تاریخی را با استفاده از آمازون آتنا با پرس و جو زیر جستجو کنید:

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

وضعیت این سیستم با موقعیت گاری، سرعت چرخ دستی، زاویه قطب، سرعت زاویه ای قطب و موقعیت هدف تعریف می شود. اقدامی که در هر مرحله زمانی انجام می شود نیروی خارجی اعمال شده به گاری است. محیط شبیه‌سازی‌شده مقدار پاداشی را به دست می‌دهد که وقتی گاری به موقعیت هدف نزدیک‌تر است و قطب قائم‌تر است، بیشتر است.

داده ها را آماده کنید

برای ارائه اطلاعات سیستم به مدل یادگیری تقویتی، آن را با کلیدهایی به اشیاء JSON تبدیل کنید که مقادیر را به دسته‌های حالت (همچنین مشاهده)، کنش و پاداش دسته‌بندی می‌کنند. این اشیاء را در آمازون 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 درصد عملکرد بهتری را نسبت به سیستم به دست آمده در تاریخ پیش بینی می کند.

استقرار مدل

نقاط پایانی آمازون SageMaker به شما امکان می‌دهد مدل‌های یادگیری ماشینی را به روش‌های مختلف ارائه دهید تا موارد استفاده مختلف را برآورده کنید. در این پست، ما از نوع نقطه پایانی بدون سرور استفاده می‌کنیم تا نقطه پایانی ما به‌طور خودکار با تقاضا مقیاس‌پذیر شود و فقط زمانی هزینه محاسبه را پرداخت می‌کنیم که نقطه پایانی استنتاج ایجاد می‌کند. برای استقرار یک نقطه پایانی بدون سرور، یک را شامل شود ProductionVariantServerlessConfig در نوع تولید از SageMaker پیکربندی نقطه پایانی. قطعه کد زیر نشان می دهد که چگونه نقطه پایانی بدون سرور در این مثال با استفاده از کیت توسعه نرم افزار آمازون SageMaker برای پایتون مستقر شده است. کد نمونه مورد استفاده برای استقرار مدل را پیدا کنید 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"} } }

عملکرد مدل آموزش دیده را ارزیابی کنید

وقت آن است که ببینیم مدل آموزش دیده ما در تولید چگونه عمل می کند! برای بررسی عملکرد مدل جدید، تابع لامبدا را با نام " فراخوانی کنید.RunPhysicsSimulationFunction” با نام نقطه پایانی SageMaker در رویداد. این شبیه سازی را با استفاده از اقدامات توصیه شده توسط نقطه پایانی اجرا می کند. رویداد نمونه برای استفاده در هنگام تماس با RunPhysicsSimulatorFunction:

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

برای مقایسه عملکرد مدل آموزش‌دیده شده با عملکرد سیستم تاریخی، از کوئری آتنا زیر استفاده کنید.

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 برابر بیشتر از داده های تاریخی پاداش کسب کرده است! علاوه بر این، عملکرد واقعی مدل 2 برابر بهتر از پیش‌بینی عملکرد محافظه‌کارانه بود.

منبع اقدام میانگین پاداش در هر مرحله زمانی
trained_model 10.8
historic_data 4.3

انیمیشن‌های زیر تفاوت بین یک اپیزود نمونه از داده‌های آموزشی و قسمتی را نشان می‌دهند که در آن از مدل آموزش‌دیده برای انتخاب اقدامی که باید انجام شود استفاده شده است. در انیمیشن ها جعبه آبی گاری، خط آبی قطب و مستطیل سبز محل هدف است. فلش قرمز نیروی وارد شده به گاری در هر مرحله زمانی را نشان می دهد. فلش قرمز در داده های آموزشی کمی به جلو و عقب می پرد زیرا داده ها با استفاده از 50 درصد اقدامات متخصص و 50 درصد اقدامات تصادفی تولید شده اند. مدل آموزش دیده یک خط مشی کنترلی را آموخت که گاری را به سرعت به سمت موقعیت هدف حرکت می دهد، در حالی که ثبات را حفظ می کند، کاملاً از مشاهده تظاهرات غیرمتخصص.

بهینه سازی عملکرد تجهیزات با داده های تاریخی، Ray و Amazon SageMaker | خدمات وب آمازون هوش داده پلاتو بلاک چین. جستجوی عمودی Ai. بهینه سازی عملکرد تجهیزات با داده های تاریخی، Ray و Amazon SageMaker | خدمات وب آمازون هوش داده پلاتو بلاک چین. جستجوی عمودی Ai.

 پاک کردن

برای حذف منابع مورد استفاده در این گردش کار، به بخش منابع پشته Amazon CloudFormation بروید و سطل های S3 و نقش های IAM را حذف کنید. سپس خود پشته CloudFormation را حذف کنید.

نتیجه

یادگیری تقویتی آفلاین می تواند به شرکت های صنعتی کمک کند تا با استفاده از داده های تاریخی، جستجوی سیاست های بهینه را بدون به خطر انداختن ایمنی انجام دهند. برای پیاده‌سازی این رویکرد در عملیات خود، با شناسایی اندازه‌گیری‌هایی که یک سیستم تعیین‌شده توسط حالت را تشکیل می‌دهند، اقداماتی که می‌توانید کنترل کنید و معیارهایی که عملکرد مطلوب را نشان می‌دهند، شروع کنید. سپس، دسترسی داشته باشید این مخزن GitHub برای اجرای یک راه حل خودکار انتها به انتها با استفاده از Ray و Amazon SageMaker.

این پست فقط سطح کارهایی را که می توانید با Amazon SageMaker RL انجام دهید خراش می دهد. آن را امتحان کنید و لطفاً بازخورد خود را برای ما ارسال کنید انجمن بحث آمازون SageMaker یا از طریق مخاطبین معمولی AWS شما.


درباره نویسنده

بهینه سازی عملکرد تجهیزات با داده های تاریخی، Ray و Amazon SageMaker | خدمات وب آمازون هوش داده پلاتو بلاک چین. جستجوی عمودی Ai.والت میفیلد یک معمار راه حل در AWS است و به شرکت های انرژی کمک می کند تا ایمن تر و کارآمدتر کار کنند. قبل از پیوستن به AWS، والت به عنوان مهندس عملیات برای شرکت انرژی هیلکورپ کار می کرد. او دوست دارد در اوقات فراغت خود باغبانی کند و با ماهی پرواز کند.

بهینه سازی عملکرد تجهیزات با داده های تاریخی، Ray و Amazon SageMaker | خدمات وب آمازون هوش داده پلاتو بلاک چین. جستجوی عمودی Ai.فیلیپه لوپز یک معمار ارشد راه حل در AWS با تمرکز در عملیات تولید نفت و گاز است. قبل از پیوستن به AWS، فیلیپ با GE Digital و Schlumberger کار می‌کرد و در آنجا بر مدل‌سازی و بهینه‌سازی محصولات برای کاربردهای صنعتی تمرکز کرد.

بهینه سازی عملکرد تجهیزات با داده های تاریخی، Ray و Amazon SageMaker | خدمات وب آمازون هوش داده پلاتو بلاک چین. جستجوی عمودی Ai.یینگ وی یو یک دانشمند کاربردی در Generative AI Incubator، AWS است. او تجربه کار با چندین سازمان در سراسر صنایع را در زمینه اثبات مفهومی مختلف در یادگیری ماشین، از جمله پردازش زبان طبیعی، تجزیه و تحلیل سری های زمانی، و نگهداری پیش بینی دارد. او در اوقات فراغت خود از شنا، نقاشی، پیاده روی و گذراندن وقت با خانواده و دوستان لذت می برد.

بهینه سازی عملکرد تجهیزات با داده های تاریخی، Ray و Amazon SageMaker | خدمات وب آمازون هوش داده پلاتو بلاک چین. جستجوی عمودی Ai.هائوزو وانگ یک دانشمند پژوهشی در Amazon Bedrock است که بر ساخت مدل های پایه تیتان آمازون تمرکز دارد. او پیش از این در آزمایشگاه راه حل های آمازون ام ال به عنوان یکی از رهبران آموزش تقویتی عمودی کار می کرد و به مشتریان کمک کرد تا راه حل های پیشرفته ML را با آخرین تحقیقات در مورد یادگیری تقویتی، پردازش زبان طبیعی و یادگیری نمودار بسازند. هائوزو دکترای خود را در رشته مهندسی برق و کامپیوتر از دانشگاه میشیگان دریافت کرد.

تمبر زمان:

بیشتر از آموزش ماشین AWS