Створіть рішення для прогнозованого обслуговування за допомогою Amazon Kinesis, AWS Glue і Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Створіть рішення для прогнозованого обслуговування за допомогою Amazon Kinesis, AWS Glue і Amazon SageMaker

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

Незважаючи на те, що бізнес-цінність і переваги рішень на базі ML майже в реальному часі добре відомі, архітектура, необхідна для впровадження цих рішень у масштабі з оптимальною надійністю та продуктивністю, є складною. У цьому дописі описано, як можна поєднувати Амазонський кінезіс, Клей AWS та Amazon SageMaker створити рішення для проектування функцій і логічних висновків майже в реальному часі для прогнозованого обслуговування.

Огляд варіантів використання

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

У цій публікації ми зосередимося на застосуванні машинного навчання до синтетичного набору даних, що містить несправності машини через такі характеристики, як температура повітря, температура процесу, швидкість обертання, крутний момент і знос інструменту. Використаний набір даних отримано з Репозиторій даних UCI.

Відмова машини складається з п'яти незалежних станів відмови:

  • Відмова від зносу інструменту (TWF)
  • Порушення розсіювання тепла (HDF)
  • Збій живлення (PWF)
  • Відмова від перенапруження (OSF)
  • Випадкова помилка (RNF)

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

Огляд рішення

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

На наступній діаграмі показано архітектуру нашого загального рішення.

Рішення загалом складається з таких розділів, які детально пояснюються далі в цій публікації:

  • Джерело потокових даних і прийом - Ми використовуємо Потоки даних Amazon Kinesis щоб збирати потокові дані від польових датчиків у масштабі та робити їх доступними для подальшої обробки.
  • Розробка функцій майже в реальному часі – Ми використовуємо потокові завдання AWS Glue, щоб зчитувати дані з потоку даних Kinesis і виконувати обробку даних і розробку функцій перед збереженням похідних функцій у Служба простого зберігання Amazon (Amazon S3). Amazon S3 забезпечує надійний і економічно ефективний варіант для зберігання великих обсягів даних.
  • Навчання моделі та розгортання – Ми використовуємо набір даних прогнозованого обслуговування AI4I зі сховища даних UCI для навчання моделі ML на основі алгоритму XGBoost за допомогою SageMaker. Потім ми розгортаємо навчену модель до кінцевої точки асинхронного висновку SageMaker.
  • Висновки ML майже в реальному часі – Після того, як функції стануть доступними в Amazon S3, нам потрібно зробити висновки на основі розгорнутої моделі майже в реальному часі. Кінцеві точки асинхронного висновку SageMaker добре підходять для цієї вимоги, оскільки вони підтримують більші розміри корисного навантаження (до 1 ГБ) і можуть генерувати висновки протягом декількох хвилин (максимум 15 хвилин). Ми використовуємо сповіщення про події S3 для запуску AWS Lambda функція для виклику кінцевої точки асинхронного висновку SageMaker. Кінцеві точки асинхронного висновку SageMaker приймають розташування S3 як вхідні дані, генерують висновки з розгорнутої моделі та записують ці висновки в Amazon S3 майже в реальному часі.

Вихідний код цього рішення знаходиться на GitHub. Рішення перевірено та має бути запущено в us-east-1.

Ми використовуємо AWS CloudFormation шаблон, розгорнутий за допомогою Модель безсерверного додатка AWS (AWS SAM) і ноутбуки SageMaker для розгортання рішення.

Передумови

Щоб розпочати роботу, як обов’язкова умова, ви повинні мати СЕМ КЛІ, Python 3 та PIP встановлено. Ви також повинні мати Інтерфейс командного рядка AWS (AWS CLI) налаштовано належним чином.

Розгорніть рішення

Ви можете використовувати AWS CloudShell щоб виконати ці кроки. CloudShell — це оболонка на основі браузера, яка попередньо автентифікована за допомогою облікових даних вашої консолі та містить попередньо встановлені загальні інструменти розробки та операцій (такі як AWS SAM, AWS CLI та Python). Тому локальна інсталяція чи конфігурація не потрібні.

  • Ми починаємо зі створення сегмента S3, де ми зберігаємо сценарій для потокового завдання AWS Glue. Виконайте таку команду в терміналі, щоб створити нове відро:
aws s3api create-bucket --bucket sample-script-bucket-$RANDOM --region us-east-1

  • Запишіть назву створеного відра.

ML-9132 Solution Arch

  • Далі ми локально клонуємо репозиторій коду, який містить шаблон CloudFormation для розгортання стеку. Виконайте таку команду у вашому терміналі:
git clone https://github.com/aws-samples/amazon-sagemaker-predictive-maintenance

  • Перейдіть до каталогу sam-template:
cd amazon-sagemaker-predictive-maintenance/sam-template

ML-9132 git clone repo

  • Виконайте таку команду, щоб скопіювати сценарій завдання AWS Glue (з glue_streaming/app.py) до створеного вами сегмента S3:
aws s3 cp glue_streaming/app.py s3://sample-script-bucket-30232/glue_streaming/app.py

ML-9132 сценарій копіювання

  • Тепер ви можете продовжити створення та розгортання рішення за допомогою шаблону CloudFormation через AWS SAM. Виконайте таку команду:

ML-9132 SAM Build

sam deploy --guided

  • Надайте аргументи для розгортання, наприклад ім’я стека, бажаний регіон AWS (us-east-1), А також GlueScriptsBucket.

Переконайтеся, що ви надали те саме відро S3, яке ви створили раніше для сценарію AWS Glue S3 (параметр GlueScriptsBucket на наступному знімку екрана).

ML-9132 SAM Deploy Param

Після надання необхідних аргументів AWS SAM починає розгортання стека. На наступному знімку екрана показано створені ресурси.

ЗРК ML-9132 розгорнуто

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

ЗРК ML-9132 CF розгорнуто

  • На консолі AWS CloudFormation відкрийте стек (для цієї публікації nrt-streaming-inference), який було надано під час розгортання шаблону CloudFormation.
  • на ресурси зверніть увагу на ідентифікатор екземпляра блокнота SageMaker.
  1. Створено ноутбук ML-9132 SM
  • На консолі SageMaker відкрийте цей екземпляр.

ML-9132 зображення018

Екземпляр записника SageMaker уже має попередньо завантажені необхідні блокноти.

Перейдіть до папки блокнотів, відкрийте та дотримуйтесь інструкцій у блокнотах (Data_Pre-Processing.ipynb та ModelTraining-Evaluation-and-Deployment.ipynb), щоб дослідити набір даних, виконати попередню обробку та розробку функцій, а також навчити та розгорнути модель на кінцевій точці асинхронного висновку SageMaker.

ML-9132 Ноутбуки Open SM

Джерело потокових даних і прийом

Kinesis Data Streams — це безсерверна, масштабована та довговічна служба потокової передачі даних у реальному часі, яку можна використовувати для збору й обробки великих потоків записів даних у режимі реального часу. Kinesis Data Streams дозволяє отримувати, обробляти та зберігати потоки даних із різноманітних джерел, таких як дані журналів ІТ-інфраструктури, журнали додатків, соціальні мережі, канали ринкових даних, дані веб-потоку кліків, пристрої та датчики Інтернету речей тощо. Ви можете надати потік даних Kinesis у режимі на вимогу або в режимі ініціалізації залежно від пропускної здатності та вимог до масштабування. Для отримання додаткової інформації див Вибір режиму пропускної здатності потоку даних.

Для нашого випадку використання ми припускаємо, що різні датчики надсилають такі вимірювання, як температура, швидкість обертання, крутний момент і знос інструменту, у потік даних. Kinesis Data Streams діє як воронка для збору та прийому потоків даних.

Ми використовуємо Генератор даних Amazon Kinesis (KDG) далі в цьому дописі, щоб генерувати та надсилати дані в потік даних Kinesis, імітуючи дані, що генеруються датчиками. Дані з потоку даних sensor-data-stream приймаються та обробляються за допомогою потокового завдання AWS Glue, яке ми обговоримо далі.

Розробка функцій майже в реальному часі

Потокові завдання AWS Glue забезпечують зручний спосіб масової обробки потокових даних без необхідності керування обчислювальним середовищем. AWS Glue дозволяє виконувати операції вилучення, трансформації та завантаження (ETL) над потоковими даними за допомогою постійно запущених завдань. AWS Glue streaming ETL побудовано на механізмі Apache Spark Structured Streaming і може отримувати потоки з Kinesis, Apache Kafka та Amazon керував потоковим передаванням для Apache Kafka (Amazon MSK).

Потокове завдання ETL може використовувати як вбудовані перетворення AWS Glue, так і перетворення, які є рідними для Apache Spark Structured Streaming. Ви також можете використовувати Spark ML і MLLib бібліотеки в завданнях AWS Glue для полегшення обробки функцій за допомогою доступних допоміжних бібліотек.

Якщо схема джерела потокових даних визначена заздалегідь, ви можете вказати її в таблиці каталогу даних AWS. Якщо визначення схеми неможливо визначити заздалегідь, ви можете ввімкнути виявлення схеми в потоковому завданні ETL. Потім завдання автоматично визначає схему з вхідних даних. Крім того, ви можете використовувати Реєстр схем AWS Glue для централізованого виявлення, контролю та еволюції схем потоку даних. Ви можете додатково інтегрувати реєстр схем із каталогом даних, щоб додатково використовувати схеми, що зберігаються в реєстрі схем, під час створення або оновлення таблиць або розділів AWS Glue у каталозі даних.

Для цієї публікації ми створюємо таблицю каталогу даних AWS Glue (sensor-stream) із нашим потоком даних Kinesis як джерелом і визначте схему для даних наших датчиків.

Ми створюємо динамічний фрейм даних AWS Glue із таблиці Data Catalog для читання потокових даних із Kinesis. Ми також вказуємо такі параметри:

  • Розмір вікна 60 секунд, щоб завдання AWS Glue читало й обробляло дані в 60-секундних вікнах
  • Початкове положення TRIM_HORIZON, щоб дозволити читання з найстаріших записів у потоці даних Kinesis

Ми також використовуємо Spark MLlib StringIndexer перетворювач функцій для кодування типу рядкового стовпця в індекси міток. Це перетворення реалізовано за допомогою Spark ML Pipelines. Трубопроводи Spark ML надати єдиний набір API високого рівня для алгоритмів ML, щоб полегшити поєднання кількох алгоритмів в один конвеєр або робочий процес.

Ми використовуємо foreachBatch API для виклику функції під назвою processBatch, яка, у свою чергу, обробляє дані, на які посилається цей кадр даних. Перегляньте наступний код:

# Read from Kinesis Data Stream
sourceStreamData = glueContext.create_data_frame.from_catalog(database = "sensordb", table_name = "sensor-stream", transformation_ctx = "sourceStreamData", additional_options = {"startingPosition": "TRIM_HORIZON"})
type_indexer = StringIndexer(inputCol="type", outputCol="type_enc", stringOrderType="alphabetAsc")
pipeline = Pipeline(stages=[type_indexer])
glueContext.forEachBatch(frame = sourceStreamData, batch_function = processBatch, options = {"windowSize": "60 seconds", "checkpointLocation": checkpoint_location})

Функція processBatch виконує вказані перетворення та розбиває дані в Amazon S3 на основі року, місяця, дня та ідентифікатора партії.

Ми також повторно розділяємо розділи AWS Glue на один розділ, щоб уникнути надто великої кількості маленьких файлів в Amazon S3. Наявність кількох невеликих файлів може перешкоджати читанню, оскільки це збільшує накладні витрати, пов’язані з пошуком, відкриттям і читанням кожного файлу. Нарешті ми пишемо функції для створення висновків у префікс (функції) у сегменті S3. Перегляньте наступний код:

# Function that gets called to perform processing, feature engineering and writes to S3 for every micro batch of streaming data from Kinesis.
def processBatch(data_frame, batchId):
transformer = pipeline.fit(data_frame)
now = datetime.datetime.now()
year = now.year
month = now.month
day = now.day
hour = now.hour
minute = now.minute
if (data_frame.count() > 0):
data_frame = transformer.transform(data_frame)
data_frame = data_frame.drop("type")
data_frame = DynamicFrame.fromDF(data_frame, glueContext, "from_data_frame")
data_frame.printSchema()
# Write output features to S3
s3prefix = "features" + "/year=" + "{:0>4}".format(str(year)) + "/month=" + "{:0>2}".format(str(month)) + "/day=" + "{:0>2}".format(str(day)) + "/hour=" + "{:0>2}".format(str(hour)) + "/min=" + "{:0>2}".format(str(minute)) + "/batchid=" + str(batchId)
s3path = "s3://" + out_bucket_name + "/" + s3prefix + "/"
print("-------write start time------------")
print(str(datetime.datetime.now()))
data_frame = data_frame.toDF().repartition(1)
data_frame.write.mode("overwrite").option("header",False).csv(s3path)
print("-------write end time------------")
print(str(datetime.datetime.now()))

Модель навчання та розгортання

SageMaker — це повністю керована та інтегрована служба ML, яка дає змогу науковцям із обробки даних та інженерам ML швидко й легко створювати, навчати та розгортати моделі ML.

У блокноті Data_Pre-Processing.ipynb, ми спочатку імпортуємо набір даних AI4I Predictive Maintenance зі сховища даних UCI і виконуємо пошуковий аналіз даних (EDA). Ми також виконуємо розробку функцій, щоб зробити наші функції більш корисними для навчання моделі.

Наприклад, у наборі даних ми маємо функцію під назвою type, яка представляє тип якості продукту як L (низька), M (середня) або H (висока). Оскільки це категорична функція, нам потрібно закодувати її перед навчанням нашої моделі. Для цього ми використовуємо LabelEncoder від Scikit-Learn:

from sklearn.preprocessing import LabelEncoder
type_encoder = LabelEncoder()
type_encoder.fit(origdf['type'])
type_values = type_encoder.transform(origdf['type'])

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

Навчальні завдання SageMaker забезпечують потужний і гнучкий спосіб навчання моделей ML на SageMaker. SageMaker керує основною обчислювальною інфраструктурою та забезпечує кілька варіантів на вибір, для різноманітних вимог до навчання моделі, залежно від випадку використання.

xgb = sagemaker.estimator.Estimator(container,
role,
instance_count=1,
instance_type='ml.c4.4xlarge',
output_path=xgb_upload_location,
sagemaker_session=sagemaker_session)
xgb.set_hyperparameters(max_depth=5,
eta=0.2,
gamma=4,
min_child_weight=6,
subsample=0.8,
silent=0,
objective='binary:hinge',
num_round=100)

xgb.fit({'train': s3_train_channel, 'validation': s3_valid_channel})

Коли навчання моделі завершено та оцінка моделі буде задовільною на основі бізнес-вимог, ми можемо розпочати розгортання моделі. Спочатку ми створюємо конфігурацію кінцевої точки за допомогою параметра об’єкта AsyncInferenceConfig і використовуючи навчену раніше модель:

endpoint_config_name = resource_name.format("EndpointConfig")
create_endpoint_config_response = sm_client.create_endpoint_config(
EndpointConfigName=endpoint_config_name,
ProductionVariants=[
{
"VariantName": "variant1",
"ModelName": model_name,
"InstanceType": "ml.m5.xlarge",
"InitialInstanceCount": 1,
}
],
AsyncInferenceConfig={
"OutputConfig": {
"S3OutputPath": f"s3://{bucket}/{prefix}/output",
#Specify Amazon SNS topics
"NotificationConfig": {
"SuccessTopic": "arn:aws:sns:<region>:<account-id>:<success-sns-topic>",
"ErrorTopic": "arn:aws:sns:<region>:<account-id>:<error-sns-topic>",
}},
"ClientConfig": {"MaxConcurrentInvocationsPerInstance": 4},
},)

Потім ми створюємо кінцеву точку асинхронного висновку SageMaker, використовуючи створену конфігурацію кінцевої точки. Після цього ми можемо почати викликати кінцеву точку для асинхронного створення висновків.

endpoint_name = resource_name.format("Endpoint")
create_endpoint_response = sm_client.create_endpoint(
EndpointName=endpoint_name, EndpointConfigName=endpoint_config_name)

Висновки майже в реальному часі

SageMaker асинхронний висновок кінцеві точки надають можливість ставити в чергу вхідні запити на висновок і обробляти їх асинхронно майже в реальному часі. Це ідеально підходить для програм, які мають запити на висновок із більшим розміром корисного навантаження (до 1 ГБ), можуть вимагати більшого часу обробки (до 15 хвилин) і мають вимоги до затримки майже в реальному часі. Асинхронний висновок також дає змогу заощадити на витратах завдяки автоматичному масштабуванню кількості екземплярів до нуля, коли немає запитів для обробки, тому ви платите лише тоді, коли ваша кінцева точка обробляє запити.

Ви можете створити кінцеву точку асинхронного висновку SageMaker подібно до того, як ви створюєте кінцеву точку висновку в реальному часі, і додатково вказати AsyncInferenceConfig під час створення конфігурації кінцевої точки за допомогою поля EndpointConfig в API CreateEndpointConfig. На наступній діаграмі показано робочий процес висновку та те, як кінцева точка асинхронного висновку генерує висновок.

ML-9132 SageMaker Asych Arch

Щоб викликати кінцеву точку асинхронного висновку, корисне навантаження запиту має зберігатися в Amazon S3, а посилання на це корисне навантаження потрібно надати як частину запиту InvokeEndpointAsync. Після виклику SageMaker ставить запит у чергу на обробку та повертає ідентифікатор і місце виведення як відповідь. Після обробки SageMaker розміщує результат у розташуванні Amazon S3. Додатково можна вибрати сповіщення про успіх або помилку Служба простих сповіщень Amazon (Amazon SNS).

Перевірте наскрізне рішення

Щоб перевірити рішення, виконайте такі дії:

  • На консолі AWS CloudFormation відкрийте створений раніше стек (nrt-streaming-inference).
  • на Виходи скопіюйте назву сегмента S3 (EventsBucket).

Це відро S3, до якого наше потокове завдання AWS Glue записує функції після зчитування та обробки з потоку даних Kinesis.

Відро подій ML-9132 S3

Далі ми налаштовуємо сповіщення про події для цього відра S3.

  • На консолі Amazon S3 перейдіть до сегмента EventsBucket.
  • на властивості вкладка, в Повідомлення про події розділ, вибрати Створити сповіщення про подію.

Властивості сегмента подій ML-9132 S3

ML-9132 S3 сповіщення про сегменти подій

  • для Назва події, введіть invoke-endpoint-lambda.
  • для префікс, введіть features/.
  • для суфікс, введіть .csv.
  • для Типи подійвиберіть Усі об’єкти створюють події.

Конфігурація сповіщень сегмента подій ML-9132 S3
Конфігурація сповіщень сегмента подій ML-9132 S3

  • для призначеннявиберіть Лямбда-функція.
  • для Лямбда-функціяі виберіть функцію invoke-endpoint-asynch.
  • Вибирати зберегти зміни.

ML-9132 S3 лямбда конфігурації сповіщень сегмента подій

  • На консолі AWS Glue відкрийте завдання GlueStreaming-Kinesis-S3.
  • Вибирати Виконати роботу.

ML-9132 Запуск клею

Далі ми використовуємо генератор даних Kinesis (KDG), щоб імітувати датчики, які надсилають дані в наш потік даних Kinesis. Якщо ви вперше використовуєте KDG, див огляд для початкового налаштування. KDG надає шаблон CloudFormation для створення користувача та призначення достатньої кількості дозволів для використання KDG для надсилання подій до Kinesis. Запустіть Шаблон CloudFormation в обліковому записі AWS, який ви використовуєте для створення рішення в цій публікації. Після налаштування KDG увійдіть і отримайте доступ до KDG, щоб надсилати тестові події в наш потік даних Kinesis.

  • Використовуйте регіон, у якому ви створили потік даних Kinesis (us-east-1).
  • У спадному меню виберіть потік даних sensor-data-stream.
  • У Записи в секунду розділ, виберіть Постійне і введіть 100.
  • Скасувати вибір Стискати записи.
  • для Шаблон запису, використовуйте такий шаблон:
{
"air_temperature": {{random.number({"min":295,"max":305, "precision":0.01})}},
"process_temperature": {{random.number({"min":305,"max":315, "precision":0.01})}},
"rotational_speed": {{random.number({"min":1150,"max":2900})}},
"torque": {{random.number({"min":3,"max":80, "precision":0.01})}},
"tool_wear": {{random.number({"min":0,"max":250})}},
"type": "{{random.arrayElement(["L","M","H"])}}"
}

  • Натисніть Надіслати дані щоб розпочати надсилання даних у потік даних Kinesis.

ML-9132 Kineses Data Gen

Завдання потокового передавання AWS Glue зчитує та витягує мікропакет даних (що представляє показання датчиків) із потоку даних Kinesis на основі наданого розміру вікна. Потім потокове завдання обробляє та виконує розробку функцій для цього мікропакета перед розділенням і записом його до префіксних функцій у сегменті S3.

Оскільки нові функції, створені потоковим завданням AWS Glue, записуються в сегмент S3, функція Lambda (invoke-endpoint-asynch) запускається, що викликає кінцеву точку асинхронного висновку SageMaker, надсилаючи запит на виклик, щоб отримати висновки з нашої розгорнутої моделі ML. Кінцева точка асинхронного висновку ставить запит на асинхронний виклик у чергу. Після завершення обробки SageMaker зберігає результати висновків у розташуванні Amazon S3 (S3OutputPath), який було зазначено під час конфігурації кінцевої точки асинхронного висновку.

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

ML-9132 Висновки моделі

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

ML-9132 Підписатися на електронну пошту SNS

Для реальних програм ви можете інтегрувати сповіщення SNS з іншими службами, такими як Служба простої черги Amazon (Amazon SQS) і Lambda для додаткової постобробки згенерованих висновків або інтеграції з іншими програмами нижнього рівня відповідно до ваших вимог. Наприклад, для нашого сценарію використання прогнозованого технічного обслуговування ви можете викликати функцію Lambda на основі сповіщення SNS, щоб прочитати згенерований висновок із Amazon S3, додатково обробляти його (наприклад, агрегацію чи фільтрацію) та ініціювати робочі процеси, такі як надсилання робочих нарядів для ремонт обладнання тех.

Прибирати

Завершивши тестування стека, видаліть ресурси (особливо потік даних Kinesis, завдання потокової передачі Glue і теми SNS), щоб уникнути неочікуваних стягнень.

Запустіть наступний код, щоб видалити стек:

sam delete nrt-streaming-inference

Також видаліть такі ресурси, як кінцеві точки SageMaker, дотримуючись розділу очищення в блокноті ModelTraining-Evaluation-and-Deployment.

Висновок

У цьому дописі ми використали сценарій використання прогнозованого обслуговування, щоб продемонструвати, як використовувати різні служби, такі як Kinesis, AWS Glue і SageMaker, для створення конвеєра висновків майже в реальному часі. Ми рекомендуємо вам спробувати це рішення та повідомити нам свою думку.

Якщо у вас залишилися запитання, діліться ними в коментарях.


Про авторів

Створіть рішення для прогнозованого обслуговування за допомогою Amazon Kinesis, AWS Glue і Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai. Рахул Шарма є архітектором рішень у AWS Data Lab, допомагаючи клієнтам AWS проектувати та створювати рішення AI/ML. До того, як приєднатися до AWS, Рахул кілька років працював у фінансовому та страховому секторі, допомагаючи клієнтам створювати дані та аналітичні платформи.

Створіть рішення для прогнозованого обслуговування за допомогою Amazon Kinesis, AWS Glue і Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Пет Рейлі є архітектором у лабораторії даних AWS, де він допомагає клієнтам проектувати та створювати робочі навантаження даних для підтримки їхнього бізнесу. До AWS Пет консультував партнера AWS, створюючи робочі навантаження даних AWS у різних галузях.

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

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