Технический директор Крис Янс представил инструментальные средства машинного обучения SpiralData на встрече AWS

SpiralData представила Хорошее, плохое и архитектура аналитики данных на встрече Amazon Web Services в Аделаиде. Генеральный директор Кейл Нидхэм и технический директор Крис Янс продемонстрировали примеры машинного обучения в реальном времени для профилактического обслуживания, эталонную архитектуру SpiralData IoT-to-ML и способы преодоления проблем в проектах по анализу данных.

Посмотрите вторую часть презентации ниже с кратким изложением стенограммы:

SpiralData работает над внедрением архитектуры IoT и машинного обучения с 2017 года, начав с решения на основе GPS, отслеживающего 150 транспортных средств. Затем мы перешли к Google Maps, используя машинное обучение и обработку естественного языка для лидогенерации. Совсем недавно мы работали с SAGE Automation над получением данных с насосной установки, используя модули машинного обучения для выявления засоров в трубопроводных сетях.

Сама архитектура претерпела ряд изменений и итераций, основанных на реальном мировом опыте. Для каждого проекта, который реализует SpiralData, у нас есть ретроспектива лучших практик, и мы используем AWS Well-Architected Framework для постоянного обзора.

Эталонная архитектура SpiralData имеет две ключевые особенности. Во-первых, это модульная конструкция, при которой клиентам не нужно внедрять все услуги с первого дня. SpiralData проводит семинар по совместному проектированию, чтобы определить потребности и требования клиента. Мы проводим для них анкету по архитектуре, уровню безопасности и дизайну пользовательского интерфейса. Результатом этого семинара является четкое понимание требований, какие модули нам необходимо внедрить, рекомендации по безопасности и любые требования соответствия. Вторая функция — Well-Architected Framework для оценки всех сервисов, используемых в архитектуре, а также того, как мы их реализуем.

Переходя к самой архитектуре, мы начнем с модуля Ingest. Целью модуля Ingest является получение любых данных с датчиков IoT, корпоративных систем, финансовых или торговых систем, чтобы иметь возможность обрабатывать сотни тысяч устройств в потоковом режиме практически в режиме реального времени, сохраняя при этом затраты на управляемом уровне. Одним из сервисов, которые использует SpiralData, является IoTco, который управляет всеми входящими данными, безопасностью, подключением и потоковой передачей данных в реальном времени. У нас есть правила IoTco, которые определяют, куда попадают данные. Для мониторинга в режиме реального времени мы отправляем его в корзины Elasticsearch или S3, которые используем в качестве устройства для хранения необработанных данных. В дальнейшем, если клиент захочет проанализировать данные, собранные за последние шесть месяцев, нам не нужно ждать поступления еще одного набора данных. Lambda используется в качестве промежуточного шага для обработки и передачи данных в другие места назначения, а DynamoDB используется в качестве временного хранилища для выводов машинного обучения.

Второй модуль — это озеро данных, масштабируемое решение для обработки, связывания и хранения огромных объемов данных для аналитики. Он не ограничен источником данных, типом или структурой: это может быть IoT, корпоративная система или даже публичный API. Мы используем Lake Formation для управления безопасностью, каталогами и метками озера данных. Kinesis Firehose используется в качестве ETL-инструмента для обработки данных, а S3 — для многоэтапного хранения данных. У нас есть несколько корзин S3 для опубликованных данных, где можно выполнять специальную аналитику.

Еще одним модулем являются хранилища данных аналитики, которые основаны на требованиях клиентов. Когда мы проводим семинар по совместному проектированию, мы определяем, какие услуги они хотят реализовать, исходя из требований, бюджета и сроков. Например, мы можем настроить корзину S3 для очень экономичного способа анализа специальных данных. Мы используем Elasticsearch для аналитики временных рядов в реальном времени и расширенных возможностей поиска, а также API Gateway для внутренних и внешних приложений для доступа к данным в реальном времени и выводов машинного обучения.

Следующий модуль — это интерфейс. Когда дело доходит до интерфейсных инструментов BI, варианты безграничны. SpiralData добавил подмножество сервисов, в основном ориентированных на варианты использования временных рядов. До недавнего времени мы использовали Elasticsearch Kibana в качестве визуализации аналитики переднего плана, но у него есть свои ограничения, когда клиенту требуется очень настраиваемая панель инструментов. У нас была внутренняя оценка возможных решений или инструментов, и мы выбрали Plotly Dash в качестве визуализации по умолчанию для настраиваемых интерфейсов. Мы по-прежнему используем Elasticsearch Kibana, который имеет системы мониторинга и оповещения в режиме реального времени в SMS, электронной почте, каналах Slack или любое другое решение, поддерживающее веб-книги. Затем можно внедрить Athena, если конечному пользователю нужна специальная аналитика или запрос, а также быстрый сайт для информационных панелей. Некоторые из наших клиентов уже внедрили лицензирование Microsoft и не хотят вкладывать средства в другой интерфейсный инструмент, поэтому мы используем конечную точку API, позволяющую им получить доступ к Power BI. В целом, мы используем Cognito в качестве службы аутентификации и авторизации. Для клиентов, у которых есть Power BI, мы интегрируем Azure Redis с Cognito.

Последний модуль — это верстак ML. За прошедшие годы мы узнали, что наши клиенты хотят сосредоточиться на самом машинном обучении, прежде чем переходить к другим областям, потому что машинное обучение дает им очень быстрое понимание проблем, с которыми они сталкиваются, и возможность распределять бюджет. Используя модульный подход SpiralData, мы могли просто реализовать модули Ingest и ML, при этом клиент выделял бюджет на будущие проекты.

В этом модуле мы используем SageMaker. SageMaker используется для обучения и развертывания моделей, а также предоставляет записные книжки Jupyter в облаке, которые интегрируются с GitHub для контроля версий. Он также предоставляет возможность быстрой настройки среды разработки без необходимости установки пакетов Python на локальные машины. Если есть необходимость в непрерывном обучении и развертывании модели, модель можно настроить на запланированное переобучение и повторное развертывание в соответствии с определенными критериями. Мы можем повысить эффективность или точность некоторых моделей, если у нас будет больше данных по ходу работы, обучая их расширенному набору данных и повторно развертывая их. Вывод подключается к шлюзу API, что позволяет внешним приложениям использовать функцию вывода машинного обучения. Как минимум, мы используем AWS Control Tower и GuardDuty для управления безопасностью и мониторинга, но другие сервисы могут быть реализованы в зависимости от потребностей клиента в безопасности.

В настоящее время SpiralData использует комбинацию сценариев формирования облака и автоматизации. Формирование облака настраивает определенный набор сервисов, а скрипты автоматизации входят в создание профилей пользователей, настройку SageMaker и другие конфигурации.

О SpiralData:

SpiralData — это агентство по анализу данных с полным спектром услуг, предоставляющее стратегии данных, корпоративные технологии, науку о данных и индивидуальные решения в области искусственного интеллекта для организаций любого размера, стремящихся принимать решения на основе данных. Узнайте больше о том, как SpiralData помогает создавать более разумные организации с помощью анализа данных: https://spiraldatagroup.com.au/