Максут Испусинов, старший аналитик департамента «Экономика данных», компания «Диасофт»
Данные – ценнейший актив любой организации. Их следует брать на вооружение, поскольку управление ими помогает руководству принимать оптимальные решения и повышает эффективность бизнес-процессов. В результате цифровой трансформации происходит накопление больших объемов данных, а скорость их появления растет в геометрической прогрессии. В связи с этим управленческие решения требуют более точного, умного подхода к обработке и анализу данных, и здесь пригодятся инструменты искусственного интеллекта и машинного обучения.
Подготовка данных к использованию
Прежде чем данные будут загружены в какую-либо IT-систему и станут приносить пользу, необходимо:
- определить, какими данными располагает организация и как они взаимосвязаны;
- создать каталог данных и поддерживать его в актуальном состоянии;
- настроить процессы преобразования данных для их транспортировки между системами;
- обеспечить контроль качества данных и легкое встраивание инструментов контроля в процессы их обработки.
Для решения этих задач в экосистеме цифровой трансформации Digital Q компании «Диасофт» существует технологическая платформа Digital Q.DataFlows – единый конвейер подготовки данных, использующий искусственный интеллект. Платформа включает в себя три компонента, отвечающих за каталогизацию данных (DataCatalog), контроль их качества (DataQuality) и интеграцию в системы – потребители информации (DataStreamer).
Организация учета и хранения данных
Компонент DataCatalog (Каталог данных) технологической платформы Digital Q.DataFlows автоматизирует сбор и хранение информации о многочисленных источниках и структурах данных организации. С его помощью можно связать физические данные с их бизнес-терминами и определениями, а также проследить взаимосвязи между данными и потоками данных (data lineage). Пользователи могут найти необходимую информацию о данных организации по классификатору и тегам, а также создавать структуры объектов хранилища и шаблонные процессы обработки данных, вручную или автоматически собирать метаданные из всех источников информации и организовать их ведение.
Компонент DataCatalog обеспечивает:
- хранение метаданных с возможностью использования классификатора и постановки тегов, ручного редактирования метаданных;
- поиск метаданных по хранилищу (data discovery);
- построение графов связи объектов (data lineage);
- захват данных из внешних источников;
- генерацию объектов с помощью адаптеров к различным системам, что позволяет создавать физические структуры данных и процессы трансформации по шаблонам.
Проверка качества данных
Важный этап подготовки данных – проверка их качества. Компонент DataQuality (Контроль качества данных) технологической платформы Digital Q.DataFlows позволяет осуществить мониторинг метрик проверки качества данных, поступающих из разных источников, и устранить ошибки в них. Настройка данных осуществляется с учетом индивидуальных требований к параметрам качества и периодичности контроля, который встраивается в бизнес-процессы организации. По результатам проверок создаются подробные отчеты и аналитические справки с возможностью визуализации на дашборде качества данных.
Загрузка данных в ETL и контроль потоков данных
Сбор и обработку данных, их загрузку в хранилище или другие системы – потребители информации (ETL) обеспечивает компонент DataStreamer технологической платформы Digital Q.DataFlows, который позволяет интегрировать данные из различных информационных систем. Автоматизация процессов преобразования данных из множества систем экономит время их обработки, сохраняя при этом контроль над потоками данных.
В зависимости от бизнес-задач или формата работы источников и приемников данных, компонент DataStreamer поддерживает сценарии потоковой и пакетной обработки данных, а также сценарии интеграции данных.
Функционал позволяет загружать данные из разных источников – файлов форматов CSV, XLSX или XML, реляционных баз данных (PostgreSQL, Oracle, MS SQL Server), а также Rest API и Apache Kafka. Кроме того, возможна передача данных в разные типы приемников: Apache Kafka и реляционные базы данных (PostgreSQL, Oracle, MS SQL Server). Компонент DataStreamer поддерживает такие действия, как фильтрация данных, расчетные атрибуты, объединение данных из разных источников, выполнение SQL-блоков для нетиповых преобразований. Low-code инструменты позволяют настроить расписание запуска процессов, в том числе через Apache Kafka.
DataStreamer включает в себя:
- дизайнер потоков данных (ETL-процессов) с low-code инструментами;
- инструменты запуска и исполнения настроенных ETL-процессов;
- инструменты мониторинга исполнения ETL-процессов и выявления ошибок;
- планировщик для настройки расписаний выполнения ETL-процессов.
Антон Шебалкин, архитектор технологической платформы Digital Q.AIML, компания «Диасофт»
Создание бизнес-приложений
После того как данные обработаны и их качество проверено, они готовы для использования. Полученные массивы данных применяются для создания умных приложений, которые включаются в бизнес-процессы и повышают эффективность их работы. Для этого применяется искусственный интеллект и машинное обучение.
Особенности разработки ПО с использованием ML
Если сравнивать подходы к разработке классических решений и решений на базе AI/ML, то вместо простой компиляции исходного кода для ML-решений требуется дообучение и переобучение модели. Эти процессы должны строиться на огромном массиве данных, заранее подготовленных и очищенных. При этом данные постоянно меняются. В основном это происходит при изменении IT-ландшафта и появлении новых систем, что влечет за собой изменение способов сбора и обработки данных, а также в результате изменений в поведении объектов системы, на которое могли повлиять ранее использованные алгоритмы ML-модели.
Помимо версионирования измененного кода нужно учитывать изменения и в моделях, и в данных. Потребуется версионировать сами модели и сформировать реестр выпущенных моделей, процессов сбора и подготовки данных.
Сложность производства программных продуктов на базе AI/ML заключается в необходимости предварительной обработки и подготовки большого объема данных. Необходимо спроектировать архитектуру нейтронной сети и изучить ML-алгоритмы, способные решить задачу эффективно. При этом окончательный результат зависит от того, как будет реализована модель, каким образом она будет упакована в контейнер и развернута в кластерном окружении продуционной среды. Увеличивает время производства конечного решения также необходимость взаимодействия специалистов различных профилей.
Использование методологии MLOps
Для преодоления сложностей, описанных выше, и достижения действительно значимых результатов стоит применять методологию MLOps на каждом этапе создания промышленных ML-решений. Методология представляет собой лучшие практики автоматизированного управления жизненным циклом систем машинного обучения – с момента проектирования до размещения в продуционной среде, а также сопровождения системы в течение срока ее работы. Она обеспечивает непрерывный цикл обучения, тестирования, валидации и выпуска ML-моделей, является связующим звеном между командами разработки и позволяет им уделять больше времени анализу данных, подготовке моделей и проведению исследований.
Методология MLOps легла в основу технологической платформы Digital Q.AIML компании «Диасофт». Платформа предназначена для простого и быстрого создания умных бизнес-приложений и тоже входит в экосистему цифровой трансформации Digital Q.
Архитектура MLOps-системы, которая используется в компании «Диасофт», включает:
- платформу для сбора и предобработки данных Digital Q.DataFlows;
- фабрику обучения моделей, которая используется для анализа и подготовки данных к моделированию, выполнению вычислений и аналитики;
- автоматизированный конвейер развертывания для прохождения моделями данных и созданных на их основе программных продуктов через стадии их жизненного цикла;
- монитор жизни модели для отслеживания качества данных и работы модели в продуционной среде (если потребуется, этот инструмент сообщит о необходимости переобучения модели).
В компании «Диасофт» в основном все продукты в составе платформ развития Digital Q реализуется на языке разработки Java. При этом отдельное место занимает платформа Digital Q.AIML, на которой создаются приложения на базе искусственного интеллекта и машинного обучения. Для таких задач наиболее подходящий язык разработки – Python. Разнородность языков программирования может быть источником ошибок. Для бесшовной интеграции IT-систем, вне зависимости от языков их разработки, используется единый конвейер автоматизации установки контейнеров – как контейнеров сервисов Java, так и контейнеров, содержащих обученные ML-модели. Это единое пространство для непрерывного тестирования, доставки и управления жизненным циклом моделей, где можно с помощью различных метрик отследить результаты обучения моделей.
Для обучения модели и упаковки результата используется open-source решение MLFlow. Оно автоматически управляет требуемыми зависимостями при обучении и формировании модели. Сборка на Jenkins позволяет сформировать рабочее приложение. Вместо интерфейса командной строки разработчики используют генерируемый docker-файл, который собирает воедино требуемые библиотеки, базовые образы, а также полученные в ходе экспериментального обучения артефакты в виде runtime-скриптов и сами модели. Результатом работы становится единый образ приложения, доступный для установки.
Область хранения признаков (feature store) используется для стандартизации способов поиска, отслеживания логических входов для ML-моделей и является связующим звеном между моделями и данными.
Таким образом, применение методологии MLOps в основе технологической платформы Digital Q.AIML позволяет:
- сократить время получения требуемых результатов за счет надежного и эффективного процесса управления жизненным циклом моделей машинного обучения;
- обеспечить непрерывный цикл процессов тестирования, интеграции, доставки решений и изменений заказчикам;
- унифицировать процесс выпуска программных продуктов, в состав которых включены компоненты на базе AI/ML;
- сократить затраты на развертывание ML-моделей в любом окружении;
- автоматизировать процессы тестирования артефактов машинного обучения (данных, моделей, результатов интеграции).
Описанный выше подход к использованию больших данных позволяет сформировать автоматизированный конвейер сборки умных бизнес-приложений и сервисов, который подходит для реализации самых разных задач организаций любой сферы экономики: от создания чат-ботов для общения с клиентами до систем прогнозирования результатов любого проекта.