Синтетичні дані: як тренувати AI без реальних користувацьких даних
- Таїсія Красноштан

- 2 дні тому
- Читати 8 хв

Як навчати й тестувати AI-системи, якщо реальних даних бракує або доступ до них обмежений? Одне з рішень — synthetic data, тобто штучно створені дані, які відтворюють потрібні властивості реальних. Але чи можуть синтетичні дані повністю замінити реальні, і наскільки вони безпечні з погляду приватності?
Разом із Сергієм Алєксєєнко, Lead AI Engineer у Wise IT, HBJ розбирається, як створюють синтетичні дані, для яких задач їх використовують та як вони допомагають забезпечувати захист персональних даних.

Що таке синтетичні дані простими словами
Синтетичні дані — це штучно створені дані, які імітують властивості реальних, але не копіюють записи реальних користувачів. Їх генерують за допомогою алгоритмів, моделей або симуляцій — залежно від типу даних і завдання.
Уявімо, що компанія має таблицю з інформацією про тисячу клієнтів. Замість того щоб передавати реальні записи команді для навчання чи тестування моделі, можна створити synthetic dataset — новий набір даних із подібними статистичними характеристиками. Наприклад, він може зберігати розподіл віку користувачів, типові суми покупок або зв’язки між окремими показниками, але не копіювати вихідні записи один в один.
Тобто алгоритм працює не за принципом «взяти реальну людину й приховати її ім'я», а створює нові приклади на основі закономірностей у вихідних даних.
Як генерують синтетичні дані
Підхід до synthetic data generation залежить від типу даних і задачі. Основних методів кілька.
Статистичні моделі та правила відтворюють розподіли, залежності й обмеження вихідних даних, створюючи нові комбінації значень.
Симуляції моделюють сам процес, у якому виникають дані. Наприклад, так створюють дорожні ситуації для автономного транспорту або сценарії поведінки користувачів, зокрема рідкісні чи небезпечні для відтворення в реальності.
Генеративні моделі (GAN, VAE, дифузійні та великі мовні моделі) навчаються на вихідних даних і створюють нові приклади зі схожими властивостями: таблиці, зображення, тексти, діалоги чи журнали подій.
Ці методи можна комбінувати: наприклад, правила задають обмеження, симуляції — потрібні сценарії, а генеративна модель додає варіативність. Мета — зберегти достатню data fidelity, тобто важливі властивості й закономірності реального набору без прямого копіювання його записів.
Для яких задач використовують синтетичні датасети
Синтетичні дані можуть доповнювати наявний датасет, балансувати рідкісні класи, моделювати складні сценарії та використовуватися для тестування систем. Один із поширених підходів — data augmentation, коли набір розширюють новими прикладами.
Наприклад, якщо шахрайські транзакції становлять лише невелику частку операцій, синтетичні приклади можуть допомогти збільшити представлення цього рідкісного класу під час навчання.
За словами Сергія Алєксєєнко, Lead AI Engineer, найбільшу практичну користь синтетичні дані дають у трьох напрямах.
Рідкісні, небезпечні або дорогі для збору сценарії.
«Це особливо актуально для автономного водіння, робототехніки та комп'ютерного зору. У реальному світі можна дуже довго чекати на конкретне поєднання погодних умов, поведінки об'єктів або відмови датчика. Натомість у симуляції такий сценарій можна відтворити тисячі разів, контрольовано змінюючи параметри. І головне — ми можемо генерувати не просто більше даних, а саме ті випадки, у яких модель найчастіше помиляється», — говорить Сергій.
Навчання моделей у задачах, де правильність синтетичного прикладу можна перевірити автоматично.
Йдеться про математику, програмування, формалізовані задачі на міркування та частину задач комп'ютерного зору. Відповідь можна обчислити, код — прогнати через тести, а в симуляції наперед відомий правильний стан середовища. Тому якість синтетичних прикладів можна перевірити незалежно від моделі, яка їх згенерувала.
Розробка та тестування систем без постійного доступу до персональної інформації.
«Для інтеграційних тестів, перевірки конвеєрів обробки, API, перенесення баз даних або демонстраційних середовищ розробнику часто не потрібні реальні дані конкретної людини. Йому потрібна правильна структура запису, зв'язки між таблицями, формати, обмеження та крайні випадки», — додає Сергій.
Тобто в таких задачах синтетичні дані дають змогу відтворювати потрібну структуру даних і сценарії роботи системи без постійного доступу до реальних користувацьких записів.
Водночас Сергій не радить покладатися лише на них під час фінальної перевірки систем, де ціна помилки особливо висока: у медицині, кредитуванні, боротьбі з шахрайством, біометрії, автономному водінні та критичній робототехніці.
Як синтетичні дані допомагають захищати приватність
Одна з головних переваг синтетичних даних — захист персональних даних, адже так можна рідше використовувати реальну персональну інформацію під час розробки, навчання й тестування систем. Компанія може зберігати конфіденційні дані в захищеному середовищі, а розробникам та іншим командам надавати синтетичний датасет. Це дає змогу працювати з потрібними властивостями реальних даних.
Зазвичай перед створенням датасету варто мінімізувати кількість полів, видалити або псевдонімізувати прямі ідентифікатори, визначити необхідні залежності й обмеження, а вже після цього створювати синтетичні записи, радить Сергій Алексєєнко. «У результаті розробники, фахівці з тестування або зовнішні дослідники можуть працювати з похідним набором замість початкових записів реальних людей».
При цьому видалення чи маскування ідентифікаторів не варто плутати зі створенням синтетичних даних. Анонімізація даних передбачає роботу з реальними записами, тоді як синтетичний датасет складається з нових записів, створених на основі властивостей вихідного набору.
Однак і сам факт генерації ще не гарантує приватності. Як зауважує Сергій, звичайний генератор може запам'ятати частину вихідних даних або надто точно відтворити рідкісні записи. Тому для чутливої інформації можуть знадобитися додаткові механізми захисту:
«Сильніший підхід — використання диференційної приватності. У такому випадку процес створення даних спеціально обмежує вплив окремого запису на результат. Це дає математично формалізований рівень захисту, хоча має свою ціну: що сильніший захист приватності, то більше інформації доводиться приховувати або спотворювати, тому може знижуватися корисність набору».
Differential privacy належить до ширшої групи privacy-enhancing technologies, які допомагають зменшувати ризик розкриття інформації про конкретну людину.
Синтетичні дані не скасовують необхідності безпечно працювати з реальними даними під час створення генератора. Їхню основну цінність Сергій формулює так:
«Вони дозволяють суттєво скоротити кількість людей, систем і середовищ, де реальні персональні дані взагалі присутні».
Чому синтетичні дані не гарантують повної анонімності
«"Синтетичні" описує спосіб створення даних, а "анонімні" — рівень захисту приватності. Це не одне й те саме, — зауважує Сергій. — Наприклад, у початковому наборі може бути людина з дуже рідкісною комбінацією характеристик: певний вік, невеликий населений пункт, рідкісне захворювання та конкретна професія. Навіть якщо синтетичний запис не міститиме її імені, генератор може відтворити настільки схожу комбінацію, що людину потенційно можна буде виділити або пов'язати із зовнішнім джерелом інформації».
Саме тому синтетичні дані не гарантують анонімності автоматично: навіть новий, згенерований запис може зберегти достатньо інформації про вихідні дані, щоб створити ризик повторної ідентифікації. Тож оцінка synthetic data privacy не обмежується пошуком імен, номерів телефонів чи інших прямих ідентифікаторів.
На практиці Сергій радить перевіряти кілька сценаріїв:
чи можна виділити конкретну людину за унікальною комбінацією ознак;
чи можна пов'язати запис з іншою базою даних;
чи можна відновити приховану характеристику, наприклад діагноз або дохід;
чи можна визначити, чи була конкретна людина присутня у навчальних даних генератора.
Особливої уваги при такій перевірці потребують рідкісні випадки. Але тут виникає певний парадокс:
«Подібні випадки часто найбільш цікаві для машинного навчання, наприклад, при шахрайстві, рідкісних захворюваннях або виявленні аномалій. Але одночасно такі записи можуть створювати найбільший ризик повторної ідентифікації.
Є й проблема запам'ятовування навчальних даних. Якщо генератор перенавчився, він може створювати записи, які дуже близькі до реальних прикладів. Тому надзвичайно висока схожість із реальним набором не завжди є перевагою: вона може покращувати корисність для моделі й одночасно погіршувати приватність».
Отже, синтетичний датасет не варто автоматично вважати анонімним лише через спосіб його створення. Потрібна окрема перевірка ризиків, а за необхідності — додаткові механізми захисту.
«Правильний підхід такий: створити синтетичні дані, оцінити ризик атак і повторної ідентифікації, за необхідності додати диференційну приватність та обмеження доступу. І лише після цього вирішувати, наскільки широко набір можна використовувати або поширювати», — підсумовує Сергій.
Як перевіряти якість синтетичних даних
Під час Synthetic data validation важливо оцінювати набір комплексно:
«Як мінімум, варто подивитися на відповідність реальним даним, практичну корисність і приватність. Для виробничої системи я б також перевіряв охоплення рідкісних випадків, окремі групи користувачів, дотримання бізнесових обмежень і стійкість до змін у часі», — пояснює Сергій.
Розпочинати перевірку варто з базової структури: типів даних, пропусків, допустимих діапазонів, зовнішніх ключів і неможливих комбінацій. Далі оцінюють data fidelity — розподіли ознак і взаємозв'язки між ними, а також різноманітність і репрезентативність даних. Особливої уваги потребують хвости розподілу, рідкісні класи та невеликі групи, які генератори можуть втрачати.
Але навіть хороший результат таких перевірок ще не гарантує, що модель працюватиме на реальних даних:
«Перше, що я б перевірив, — розрив між синтетичним і реальним розподілами. Генератор може неправильно відтворювати крайні значення, взаємозв'язки між ознаками, шум датчиків або поведінку користувачів. У результаті модель добре навчається працювати у штучному середовищі, але не в реальному».
Причиною можуть бути й неправильні кореляції, втрата рідкісних подій або поява штучних ознак, яких у реальному світі немає. Ще один ризик — занадто «ідеальні» синтетичні дані: без помилок анотації, шуму, пропусків і неоднозначностей, з якими модель зіткнеться в реальному середовищі.
Тому для машинного навчання Сергій вважає ключовою перевіркою data utility принцип: «Навчити на синтетичних даних — перевірити на незалежних реальних».
Для цього ще до генерації потрібно відокремити реальний контрольний набір, якого генератор ніколи не бачив. На ньому можна порівняти моделі, навчені на реальних, синтетичних та змішаних даних. При цьому варто аналізувати не лише загальні F1 або AUC, а й результати для рідкісних класів та окремих груп, калібрування ймовірностей і типові помилки. Для складних предметних областей потрібна й експертна оцінка: статистично правдоподібний запис може бути неможливим з погляду медицини, фінансів або бізнес-логіки.
Окремою частиною перевірки залишається synthetic data privacy — оцінка ризиків повторної ідентифікації, надмірної схожості з вихідними записами та можливого витоку інформації про навчальний набір.
Якщо тестування виявило розрив між синтетичними та реальними даними, не завжди варто просто збільшувати датасет. Спочатку потрібно визначити, де саме виникають помилки, і за потреби генерувати додаткові приклади саме для проблемних сценаріїв. Якщо ж після кількох ітерацій розрив не зникає, Сергій радить повернутися до реальних даних:
«Це зазвичай означає не те, що потрібно ще краще налаштувати генератор, а те, що команді бракує інформації про реальний світ і потрібно збирати нові реальні приклади саме з проблемних груп».
Зрештою, якість синтетичного датасету визначає не максимальна схожість з оригіналом, а те, чи зберігає він властивості, важливі саме для конкретної задачі.
Коли синтетичні дані не можуть замінити реальні
Межа з'являється там, де потрібно вже не відтворити відомі закономірності, а виміряти те, що насправді відбувається у реальному середовищі.
«Якщо питання у тому, чи працює наша система на реальних користувачах у поточному реальному середовищі, відповідь має базуватися на даних саме з цього середовища», — пояснює Сергій.
Є кілька ознак, що команді вже потрібно повертатися до реальних даних.
модель, навчена на синтетичних даних, стабільно поступається на незалежній реальній вибірці, навіть після покращення генератора;
помилки концентруються у рідкісних або крайніх випадках;
змінився реальний розподіл даних: з'явився новий регіон, пристрій, тип користувачів, версія продукту або нова поведінка, якої генератор раніше не бачив.
Окремий ризик — bias (систематичні перекоси в даних або результатах моделі). Якщо такі перекоси вже є у вихідному датасеті, генеративна модель може перенести їх у синтетичні дані або навіть посилити.
Інша проблема може виникнути вже на етапі перевірки. Як пояснює Сергій, якщо одна модель створює синтетичні відповіді, а та сама або дуже схожа модель їх оцінює, спільна для них помилка може пройти весь цикл перевірки непоміченою. Тому коли потрібно дізнатися щось нове про реальний світ або остаточно перевірити систему, реальні дані залишаються незамінними.
«Оптимальну архітектуру я бачу так: надійне ядро реальних даних + керований шар синтетичних даних + незалежна реальна контрольна вибірка. Реальні дані дають нам зв'язок із реальністю, синтетичні дозволяють масштабувати й розширювати охоплення, а незалежні реальні дані залишаються остаточним критерієм того, чи справді система працює».
FAQ
Чим синтетичні дані відрізняються від анонімізованих?
Анонімізація даних працює з реальними записами: у них видаляють або змінюють ідентифікатори. Синтетичні дані створюються заново на основі властивостей вихідного набору. Водночас сам факт генерації ще не гарантує повної анонімності.
Чи можна навчити AI лише на синтетичних даних?
Іноді — так, наприклад для прототипування, тестування або моделювання рідкісних сценаріїв. Але якщо потрібно перевірити, як система працює в реальному середовищі, потрібна незалежна реальна вибірка.
Як перевірити приватність синтетичного датасету?
Варто оцінити ризик повторної ідентифікації, надмірної схожості з вихідними записами, можливість відновити приховані атрибути або визначити присутність конкретної людини в навчальних даних. За потреби використовують differential privacy та додаткові обмеження доступу.
Чи можуть синтетичні дані містити упередження?
Так. Якщо вихідні дані містять перекоси, генератор може їх відтворити або посилити. Окремий ризик виникає, коли синтетичні дані створює й оцінює та сама або дуже схожа модель — тоді одна й та сама помилка може пройти весь цикл перевірки.





