Сбер развивает сервис SyntData – экосистему генерации и использования синтетических данных. Его задачей является повышение доступности данных для обучения ИИ-моделей: снятие барьеров для обработки обезличенных данных, а также данных с конфиденциальной информацией. SyntData позволяет создавать синтетические датасеты, в которых с высокой точностью воспроизводятся все статистические зависимости и структура исходных данных. Таким образом, митигируются риски раскрытия информации и нарушения ее конфиденциальности. О проекте рассказывают исполнительные директора по исследованию данных Сбербанка Сергей Кочетков и Юлдуз Фаттахова, – номинанты на премию Data Award.

- Как Сбербанк пришел к необходимости создания решения для генерации синтетических данных?

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

При правильном подходе к процессу синтеза, полученные синтетические данные полностью воспроизводят смысл и структуру реальных данных и сохраняют зависимости, которые есть в исходных датасетах. Такие данные можно использовать для обучения моделей, но при этом они являются полностью искусственными и, соответственно, не несут риска нарушения конфиденциальности и безопасности.

Юлдуз Фаттахова: Сбербанк разрабатывает большое количество ИТ-решений, ориентированных на внутреннего и внешнего клиента. Весь цикл разработки приложений до вывода в промышленную эксплуатацию ведется на отдельных стендах разработки и тестирования, где специалисты не видят реальных клиентских данных. Для того чтобы понимать структуру и особенности реальных данных, аналитики изучают особенности и свойства данных, чтобы затем имитировать их при разработке приложений.

Если делать все вручную, это достаточно ресурсоемкий процесс. Часто нужно обработать терабайты данных, структура которых имеет много вариантов и особенностей. Если же это не учитывать, то на тестовых стендах не получится найти все возможные ошибки, они «переедут» на этап эксплуатации.

Синтез данных помогает и здесь. SyntData – готовый инструмент, который полностью воспроизводит структуру «боевых» данных в любых объемах, и качество тестирования возрастает.

- Почему это важно для Сбербанка?

С.К.: Поскольку данные являются основой развития ИИI, преимущество на рынке получает тот, кто имеет доступ к максимальному количеству качественных и доступных данных для обучения моделей.

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

Для соблюдения законодательства и требований к безопасности работы с данными необходимо повышать их доступность для развития ИИ и сервисов по работе с данными. Синтез становится таким решением для всех участников рынка.

Качественные синтетические данные, с одной стороны – безопасны, а с другой – позволяют исследователям разрабатывать ИИ-решения на синтетике благодаря тому, что в таких датасетах повторяются все свойства оригинальных данных. Эксперименты показали, что прогнозные модели, построенные на синтетических данных, уступают моделям на реальных данных всего 2-3% точности.

Также важно не только разработать алгоритм синтеза данных, но и создать инфраструктуру работы с этим алгоритмом: от подготовки обучающей выборки до оценки качества полученных синтетических данных. Доверие к качеству полученных синтетических данных – ключ к их широкому использованию.

- Что собой представляет сервис SyntData?

Ю.Ф.: Он состоит из пяти больших модулей: универсальный модуль Data-connector для выгрузки обучающих семплов; модуль профилирования для выделения чувствительных данных; модуль обучения генератора (ИИ-ядро сервиса); модуль расчета метрик качества и безопасности синтетики; модуль генерации синтетических данных.

Этот набор модулей позволяет генерировать любые структурированные данные, а также структурированные данные с «неструктурированными текстами» внутри. С помощью сервиса можно генерировать любые таблицы или даже связанные базы данных целиком, без ограничений по объему генерируемых данных.

Сервис работает на микросервисной архитектуре. Все задачи обрабатываются и оркестрируются внутренним инструментом контроля и исполнения задач пользователя. Каждая задача состоит из двух больших этапов — создание генератора синтетических данных и непосредственно генерация синтетического датасета или базы данных.

Сервис доступен пользователям как в виде коробочного решения (может быть самостоятельно установлен на внутреннем сервере), так и в формате облачного сервиса (SaaS-решение).

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

- Какими силами реализован проект, сколько времени он занял?

Ю.Ф.: SyntData на данный момент – это команда, состоящая из разработчиков, ML-инженеров, DevOps-инженеров, тестировщиков и аналитиков и владельца продукта. В момент запуска MVP команда состояла из пяти человек, три из которых занимались разработкой ключевой технологии продукта – созданием ИИ-алгоритмов для обучения генераторов синтетических данных. За полгода команда разработала первое MVP, которое затем развивалось и тиражировалось для всех внутренних команд.

От идеи до полномасштабного запуска готового инструмента на весь банк прошло два года, что весьма неплохой результат с учетом масштаба компании и тех возможностей, которые были заложены в систему.

- Каков принцип работы SyntData?

Ю.Ф.: Он состоит из пяти этапов. Первый шаг – сбор данных для обучения модели. Для создания генератора синтетических данных необходимо получить примеры реальных данных, на котором в дальнейшем обучится ИИ-модель. Для этого реализован специальный модуль: Data-connector. Он способен быстро выгружать необходимые семплы данных (сохраняя связи в данных) даже из баз данных, объемы информации в которых исчисляются терабайтами.

Далее все выгруженные данные проходят обязательный алгоритм разметки колонок с чувствительными данными. Для этой задачи реализована специальная архитектура модели, основанная на трансформерах, которая умеет выделять более 50 типов чувствительных данных из которых формируется метаинформация для обучения. После этапа разметки начинается обучение генератора.

Алгоритм генератора представляет собой ИИ-ядро, в котором под тип датасета и его свойства автоматически подбирается свой собственный пайплайн обучения модели генератора. На данный момент ИИ-ядро содержит как нейросетевые алгоритмы (основанные на генеративных SOTA-архитектурах), так и классические методы, использующие древовидные и кластеризационные подходы. Благодаря тому, что ИИ-ядро под каждый датасет составляет свой пайплайн обработки и генерации данных и достигается максимальная адаптируемость алгоритма генерации под разные датасеты.

На выходе алгоритм отдает обученную модель в виде бинарного файла с весами и всеми настройками генератора.

Четвертый шаг – расчет метрик качества генератора. Генератор становится доступным для генерации только после прохождения специального валидационного модуля, в котором замеряется около 30 метрик качества и безопасности данных.

Наконец, генерация синтетических данных. При получении запроса на генерацию данных полностью воссоздается структура исходного датасета. При этом все связи между таблицами, если они были, также воспроизводятся. Колонки с персональными данными будут заполнены значениями. Пользователь может сделать любые объединяющие запросы на нескольких таблицах и получить результат, схожий с реальными данными.

При генерации синтетических данных клиент может запросить любое количество данных. Даже если на вход алгоритм получил выборки из 10 тыс. записей, на выходе могут быть сгенерированы миллионы.

- Каковы самые сложные из возникавших в ходе проекта задач? Как их решали?

С.К.: Самое сложное для нас – это осуществлять мониторинг качества синтезированных данных и поддерживать обработку всех возможных типов данных, учитывать их особенности. Например, слабоструктурированные данные, такие как JSON и взаимосвязи внутри них, транзакционные данные и так далее. Поскольку мы не храним на своей стороне никаких исходных данных клиента, мы не можем понять, на каких именно данных мы получили просадку по метрикам качества, если такое произошло.

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

- Как на практике используется SyntData?

Ю.Ф.: Сервис используется для обучения ML-моделей во внешнем контуре без доступа к реальным данным, для увеличения объемов датасетов при разработке ИИ-решений, для тестирования ИТ-приложений при разработке (синтезирование данных для тестовых стендов), для создания датасетов для хакатонов и исследований, а также обмена данными с другими компаниями, киберучений и т.п.

- Каковы результаты?

Ю.Ф.: Использование синтетических данных позволило существенно ускорить и упростить доступ к данным. Во-первых, для обучения моделей и тестирования разработок не требуется получать доступы к реальным данным. Можно использовать внешние среды обучения, а из процесса исключены проверки безопасности. Во-вторых, для обмена тестовыми данными не требуется заключать договоры и настраивать безопасные каналы обмена. Кроме того, не требуется сложных согласований для передачи синтетических датасетов за пределы организации.

Сервис SyntData ежемесячно используют более 100 команд Сбербанка. Средний показатель качества сгенерированных датасетов составляет 98%. При этом 60 атрибутов (колонок) генерируется за одну минуту. Для каждого генератора синтетических данных реализовано более 30 автоматических проверок безопасности и качества.

На самых сложных датасетах, а также целых базах данных, синтезированные данные позволяют строить ML-модели с отклонением в точности менее 3% в сравнении с обучением на реальных данных. Мы превзошли зарубежные аналоги по точности синтеза. Мы проводили тесты на открытых данных, задача регрессии по предсказанию стоимости лечения для страховой компании (алгоритм Catboost, кросс-валидация на 4 группах) и получили следующие результаты: реальные данные – (R2 0,841151; MAE 2657,1333), SyntData – (R2 0,818143; MAE 2765,4648), известная зарубежная платформа MostlyAI – (R2 0,78138; MAE 3569,7217)

- Чем можно гордиться?

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

Алгоритм SyntData запатентован в российском и евразийском патентных ведомствах.

- В чем роль проекта для бизнеса Сбербанка и отрасли данных в целом?

С.К.: Качественные синтетические данные сегодня – необходимый пререквизит обучения больших ИИ-моделей. Мы добились повышения безопасности работы с данными, снижения рисков утечки и их компрометации за счет использования синтетических датасетов.

В целом же доступность данных – один из краеугольных камней развития рынка данных и ИИ в России. Качественные синтетические данные – один из основных инструментов решения проблемы доступности данных для исследований.

Наработки команды SyntData легли в основу серии разрабатываемых Ассоциацией больших данных предварительных Национальных стандартов синтеза данных в России. Они должны способствовать распространению синтетических данных в отрасли, которые должны сыграть большую роль в развитие искусственного интеллекта в стране.