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

Создайте решение для профилактического обслуживания с помощью Amazon Kinesis, AWS Glue и Amazon SageMaker

Организации все чаще создают и используют решения на основе машинного обучения (МО) для различных случаев использования и решения проблем, включая профилактическое обслуживание деталей машин, рекомендации по продуктам на основе предпочтений клиентов, кредитное профилирование, модерацию контента, обнаружение мошенничества и многое другое. Во многих из этих сценариев эффективность и преимущества, получаемые от этих решений на основе машинного обучения, могут быть дополнительно повышены, если они могут обрабатывать и извлекать ценные сведения из событий данных в режиме, близком к реальному времени.

Хотя бизнес-ценность и преимущества решений на основе машинного обучения, работающих практически в реальном времени, хорошо известны, архитектура, необходимая для реализации этих решений в масштабе с оптимальной надежностью и производительностью, сложна. Этот пост описывает, как вы можете комбинировать Амазонка Кинезис, Клей AWSи Создатель мудреца Амазонки для создания решения для разработки функций и логических выводов в режиме, близком к реальному времени, для профилактического обслуживания.

Обзор вариантов использования

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

В этом посте мы сосредоточимся на применении машинного обучения к синтетическому набору данных, содержащему отказы машин из-за таких характеристик, как температура воздуха, температура процесса, скорость вращения, крутящий момент и износ инструмента. Используемый набор данных получен из Хранилище данных UCI.

Отказ машины состоит из пяти независимых режимов отказа:

  • Отказ из-за износа инструмента (TWF)
  • Нарушение рассеивания тепла (HDF)
  • Сбой питания (PWF)
  • Отказ от перенапряжения (OSF)
  • Случайный отказ (RNF)

Метка сбоя машины указывает, произошел ли сбой машины для конкретной точки данных, если любой из предыдущих режимов сбоя верен. Если хотя бы один из режимов сбоя соответствует действительности, процесс завершается сбоем, и метка сбоя машины устанавливается на 1. Целью модели машинного обучения является правильное определение сбоев машины, чтобы можно было инициировать последующие действия по профилактическому обслуживанию.

Обзор решения

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

На следующей диаграмме показана архитектура нашего общего решения.

Решение в целом состоит из следующих разделов, которые подробно объясняются далее в этом посте:

  • Источник потоковой передачи данных и прием - Мы используем Потоки данных Amazon Kinesis собирать потоковые данные с полевых датчиков в масштабе и делать их доступными для дальнейшей обработки.
  • Разработка функций в режиме, близком к реальному времени – Мы используем задания потоковой передачи AWS Glue для чтения данных из потока данных Kinesis и выполнения обработки данных и разработки функций перед сохранением производных функций в Простой сервис хранения Amazon (Амазон С3). Amazon S3 — это надежный и экономичный вариант для хранения больших объемов данных.
  • Обучение модели и развертывание – Мы используем набор данных профилактического обслуживания AI4I из репозитория данных UCI для обучения модели машинного обучения на основе алгоритма XGBoost с использованием SageMaker. Затем мы развертываем обученную модель в конечной точке асинхронного вывода SageMaker.
  • Вывод машинного обучения почти в реальном времени – После того, как функции станут доступны в Amazon S3, нам нужно сделать выводы из развернутой модели почти в реальном времени. Конечные точки асинхронного вывода SageMaker хорошо подходят для этого требования, поскольку они поддерживают большие размеры полезной нагрузки (до 1 ГБ) и могут генерировать выводы в течение нескольких минут (максимум до 15 минут). Мы используем уведомления о событиях S3 для запуска AWS Lambda для вызова конечной точки асинхронного вывода SageMaker. Конечные точки асинхронного вывода SageMaker принимают местоположения S3 в качестве входных данных, генерируют выводы на основе развернутой модели и записывают эти выводы обратно в Amazon S3 почти в реальном времени.

Исходный код этого решения находится на GitHub. Решение было протестировано и должно быть запущено в us-east-1.

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

Предпосылки

Для начала необходимо иметь САМ CLI, Python 3и PIP установлены. Вы также должны иметь Интерфейс командной строки AWS (AWS CLI) настроен правильно.

Разверните решение

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

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

  • Запишите имя созданного ведра.

Арка решения ML-9132

  • Затем мы локально клонируем репозиторий кода, который содержит шаблон 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

  • Выполните следующую команду, чтобы скопировать сценарий задания 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 deploy --guided

  • Предоставьте аргументы для развертывания, такие как имя стека, предпочтительный регион AWS (us-east-1), а также расширение GlueScriptsBucket.

Убедитесь, что вы предоставили ту же корзину S3, которую вы создали ранее для корзины S3 скрипта AWS Glue (параметр GlueScriptsBucket на следующем скриншоте).

ML-9132 Параметр развертывания SAM

После того как вы предоставите необходимые аргументы, AWS SAM начнет развертывание стека. На следующем снимке экрана показаны созданные ресурсы.

ЗРК МЛ-9132 развернут

После успешного развертывания стека вы должны увидеть следующее сообщение.

ЗРК МЛ-9132 CF развернут

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

МЛ-9132 image018

В экземпляре блокнота SageMaker уже предварительно загружены необходимые блокноты.

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

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

Источник потоковой передачи данных и прием

Kinesis Data Streams — это бессерверная, масштабируемая и надежная служба потоковой передачи данных в реальном времени, которую можно использовать для сбора и обработки больших потоков записей данных в режиме реального времени. Kinesis Data Streams позволяет собирать, обрабатывать и хранить потоки данных из различных источников, таких как данные журналов ИТ-инфраструктуры, журналы приложений, социальные сети, потоки рыночных данных, данные веб-посещений, устройства и датчики IoT и многое другое. Вы можете подготовить поток данных 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 Managed Streaming для Apache Kafka (Амазон МСК).

Задание потоковой передачи 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 из таблицы каталога данных для чтения потоковых данных из Kinesis. Также указываем следующие параметры:

  • Размер окна 60 секунд, чтобы задание AWS Glue считывало и обрабатывало данные в 60-секундных окнах.
  • Исходное положение TRIM_HORIZON, чтобы разрешить чтение самых старых записей в потоке данных Kinesis.

Мы также используем Spark MLlib Строковый индексатор преобразователь функций для кодирования строкового типа столбца в индексы меток. Это преобразование реализовано с помощью Spark ML Pipelines. Конвейеры Spark ML предоставить единый набор высокоуровневых API-интерфейсов для алгоритмов машинного обучения, чтобы упростить объединение нескольких алгоритмов в один конвейер или рабочий процесс.

Мы используем API foreachBatch для вызова функции с именем 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 — это полностью управляемая и интегрированная служба машинного обучения, которая позволяет специалистам по данным и инженерам машинного обучения быстро и легко создавать, обучать и развертывать модели машинного обучения.

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

Вакансии для обучения SageMaker предоставить мощный и гибкий способ обучения моделей машинного обучения в 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 Асыч Арка

Чтобы вызвать конечную точку асинхронного вывода, полезная нагрузка запроса должна храниться в Amazon S3, а ссылка на эту полезную нагрузку должна быть предоставлена ​​как часть запроса InvokeEndpointAsync. При вызове SageMaker ставит запрос в очередь на обработку и возвращает идентификатор и выходное местоположение в качестве ответа. После обработки SageMaker помещает результат в папку Amazon S3. При желании вы можете выбрать получение уведомлений об успехах или ошибках с помощью Amazon Простая служба уведомлений (Амазон СНС).

Протестируйте комплексное решение

Чтобы протестировать решение, выполните следующие действия:

  • В консоли 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.
  • Unselect Сжать записи.
  • Что касается Шаблон записи, используйте следующий шаблон:
{
"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

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

По мере того как новые функции, созданные заданием потоковой передачи AWS Glue, записываются в корзину S3, функция Lambda (invoke-endpoint-asynch), который вызывает конечную точку асинхронного вывода SageMaker, отправляя запрос вызова для получения выводов из нашей развернутой модели машинного обучения. Конечная точка асинхронного вывода ставит в очередь запрос на асинхронный вызов. Когда обработка завершена, 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. Вертикальный поиск. Ай. Рахул Шарма является архитектором решений в лаборатории данных AWS, помогая клиентам AWS разрабатывать и создавать решения AI/ML. До прихода в AWS Рахул несколько лет проработал в финансовом и страховом секторе, помогая клиентам создавать платформы данных и аналитические платформы.

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

Отметка времени:

Больше от Машинное обучение AWS