Створюйте, навчайте та розгортайте моделі Amazon Lookout for Equipment за допомогою Python Toolbox PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Створюйте, навчайте та розгортайте моделі Amazon Lookout for Equipment за допомогою панелі інструментів Python

Прогнозне технічне обслуговування може бути ефективним способом запобігти збоям промислового обладнання та дорогим простоям за допомогою проактивного моніторингу стану вашого обладнання, щоб ви могли бути попереджені про будь-які аномалії до того, як виникне збій обладнання. Встановлення датчиків і необхідної інфраструктури для підключення даних, зберігання, аналітики та оповіщення є основоположними елементами для впровадження рішень з прогнозованого обслуговування. Однак навіть після встановлення спеціальної інфраструктури багато компаній використовують базову аналітику даних і прості підходи до моделювання, які часто неефективні для виявлення проблем досить рано, щоб уникнути простоїв. Крім того, впровадження рішення машинного навчання (ML) для вашого обладнання може бути складним і трудомістким.

з Amazon Lookout для обладнання, ви можете автоматично аналізувати дані датчиків для свого промислового обладнання, щоб виявляти ненормальну поведінку машини — без досвіду ML. Це означає, що ви можете швидко й точно виявляти несправності обладнання, швидко діагностувати проблеми та вживати заходів для скорочення дорогих простоїв.

Lookout for Equipment аналізує дані від ваших датчиків і систем, як-от тиск, швидкість потоку, кількість обертів за хвилину, температуру та потужність, щоб автоматично навчити модель, специфічну для вашого обладнання на основі ваших даних. Він використовує вашу унікальну модель ML для аналізу вхідних даних датчиків у режимі реального часу та визначення ранніх попереджувальних ознак, які можуть призвести до збоїв машини. Для кожного виявленого сповіщення Lookout for Equipment точно визначає, які конкретні датчики вказують на проблему, і ступінь впливу на виявлену подію.

Маючи на меті надати ML кожному розробнику, ми хочемо представити ще одне доповнення до Lookout for Equipment: панель інструментів Python з відкритим кодом що дозволяє розробникам і дослідникам даних створювати, навчати та розгортати моделі Lookout for Equipment подібно до того, до чого ви звикли Amazon SageMaker. Ця бібліотека є обгорткою над API Lookout for Equipment boto3 python і надається, щоб розпочати вашу подорож із цією службою. Якщо у вас є пропозиції щодо покращення чи помилки, про які ви хочете повідомити, надішліть скаргу на панель інструментів GitHub сховище.

У цій публікації ми надаємо покроковий посібник із використання панелі інструментів Python з відкритим кодом Lookout for Equipment у блокноті SageMaker.

Налаштування оточення

Щоб використовувати панель інструментів Lookout for Equipment з відкритим кодом із блокнота SageMaker, нам потрібно надати блокноту SageMaker необхідні дозволи для виклику API Lookout for Equipment. Для цієї публікації ми припускаємо, що ви вже створили екземпляр блокнота SageMaker. Інструкції див Почніть роботу з екземплярами ноутбуків Amazon SageMaker. Примірник блокнота автоматично пов’язується з роллю виконання.

  1. Щоб знайти роль, приєднану до примірника, виберіть примірник на консолі SageMaker.
    Створюйте, навчайте та розгортайте моделі Amazon Lookout for Equipment за допомогою Python Toolbox PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.
  2. На наступному екрані прокрутіть вниз, щоб знайти Управління ідентифікацією та доступом AWS (IAM) роль, прикріплена до примірника в Дозволи та шифрування .
  3. Виберіть роль, щоб відкрити консоль IAM.
    Створюйте, навчайте та розгортайте моделі Amazon Lookout for Equipment за допомогою Python Toolbox PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Далі ми додаємо вбудовану політику до нашої ролі IAM SageMaker.

  1. на Дозволи вкладку ролі, яку ви відкрили, виберіть Додати вбудовану політику.
    Створюйте, навчайте та розгортайте моделі Amazon Lookout for Equipment за допомогою Python Toolbox PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.
  2. на JSON введіть наступний код. Ми використовуємо дію символу підстановки (lookoutequipment:*) для послуги в демонстраційних цілях. Для реальних випадків використання надайте лише необхідні дозволи для запуску відповідних викликів API SDK.
     { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lookoutequipment:*" ], "Resource": "*" } ] }

  3. Вибирати Огляд політики.
  4. Введіть назву політики та створіть її.

На додаток до попередньої вбудованої політики для тієї самої ролі IAM нам потрібно налаштувати довірчі відносини, щоб дозволити Lookout for Equipment взяти на себе цю роль. Роль SageMaker уже має відповідний доступ до даних Служба простого зберігання Amazon (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
  • Створюйте візуалізації для оцінки своєї моделі
  • Налаштуйте та запустіть планувальник висновків
  • Візуалізуйте результати висновків планувальника

Давайте розберемося, як ми можемо використовувати інструментарій для кожної з цих можливостей.

Підготуйте набір даних

Lookout for Equipment потребує створення та прийому набору даних. Щоб підготувати набір даних, виконайте такі кроки:

  1. Перш ніж створити набір даних, нам потрібно завантажити зразок набору даних і завантажити його в Служба простого зберігання Amazon (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 даних
    • A позначає 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, де зберігаються навчальні дані.

Після запуску попередніх API наш набір даних було створено.

  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 рядками коду. Він створює всі рядки запиту на створення довжини, необхідні низькорівневому API від вашого імені, позбавляючи вас необхідності створювати довгі, схильні до помилок документи JSON.

Після навчання моделі ми можемо або перевірити результати протягом періоду оцінювання, або налаштувати планувальник висновків за допомогою панелі інструментів.

Оцініть навчену модель

Після того, як модель буде навчена, Описати модель API від Lookout for Equipment записує показники, пов’язані з навчанням. Цей API повертає документ 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 for Equipment за допомогою Python Toolbox PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Набір інструментів виконує всю важку роботу з пошуку, завантаження та аналізу файлів 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()

Звідси ми також можемо побудувати важливість функції для прогнозу за допомогою API візуалізації панелі інструментів:

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

Він виробляє наведену нижче візуалізацію важливості ознак на зразках даних.

Створюйте, навчайте та розгортайте моделі Amazon Lookout for Equipment за допомогою Python Toolbox PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Панель інструментів також надає API для зупинки планувальника. Перегляньте наступний фрагмент коду:

scheduler.stop()

Прибирати

Щоб видалити всі артефакти, створені раніше, ми можемо викликати delete_dataset API з назвою нашого набору даних:

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

Висновок

Розмовляючи з промисловими та виробничими клієнтами, ми чуємо загальну проблему, пов’язану з використанням переваг штучного інтелекту та машинного навчання, — це величезна кількість налаштувань і спеціальної розробки та наукової роботи з даними, необхідні для отримання надійних і практичних результатів. Навчання моделям виявлення аномалій і отримання дієвих попереджень для багатьох різних промислових машин є необхідною умовою для скорочення зусиль на технічне обслуговування, зменшення кількості переробок або відходів, підвищення якості продукції та підвищення загальної ефективності обладнання (OEE) або лінійок продуктів. Досі це вимагало величезного обсягу конкретної розробки, яку важко масштабувати та підтримувати з часом.

Сервіси прикладного штучного інтелекту Amazon, такі як Lookout for Equipment, дозволяють виробникам створювати моделі штучного інтелекту, не маючи доступу до різноманітної команди спеціалістів із обробки даних, інженерів із обробки даних та інженерів-технологів. Тепер, за допомогою панелі інструментів Lookout for Equipment, ваші розробники можуть ще більше скоротити час, необхідний для вивчення статистичних даних у ваших часових рядах даних і вжиття заходів. Цей інструментарій забезпечує простий у використанні інтерфейс, зручний для розробників, для швидкого створення моделей виявлення аномалій за допомогою Lookout for Equipment. Набір інструментів є відкритим, і весь код SDK можна знайти на amazon-lookout-for-equipment-python-sdk Репо GitHub. Він також доступний як a Пакет PyPi.

Ця публікація охоплює лише деякі з найважливіших API. Зацікавлені читачі можуть переглянути документація інструментарію щоб переглянути розширені можливості панелі інструментів. Спробуйте й поділіться своєю думкою в коментарях!


Про авторів

Створюйте, навчайте та розгортайте моделі Amazon Lookout for Equipment за допомогою Python Toolbox PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Вікеш Панді є фахівцем з машинного навчання та архітектором спеціалізованих рішень в AWS, допомагаючи клієнтам у Великій Британії та ширшому регіоні EMEA проектувати та створювати рішення для машинного навчання. Поза роботою Вікеш любить пробувати різні кухні та займатися спортом на свіжому повітрі.

Створюйте, навчайте та розгортайте моделі Amazon Lookout for Equipment за допомогою Python Toolbox PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Іоан Катана є архітектором рішень зі штучного інтелекту та машинного навчання в AWS. Він допомагає клієнтам розробляти та масштабувати їхні рішення ML у хмарі AWS. Йоан має понад 20 років досвіду, переважно в розробці архітектури програмного забезпечення та хмарній інженерії.

Створюйте, навчайте та розгортайте моделі Amazon Lookout for Equipment за допомогою Python Toolbox PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Майкл Хоарау є спеціалістом з розробки рішень AI/ML в AWS, який чергує спеціаліста з обробки даних і архітектора машинного навчання залежно від моменту. Він захоплений тим, щоб перенести потужність AI/ML на цехи своїх промислових клієнтів і працював над широким спектром випадків використання ML, починаючи від виявлення аномалій до прогнозування якості продукції або оптимізації виробництва. Коли він не допомагає клієнтам розвивати найкращий досвід машинного навчання, він із задоволенням спостерігає за зірками, подорожує або грає на піаніно.

Часова мітка:

Більше від AWS Машинне навчання