Генериране на синтетични данни
Генериране на синтетични данни с помощта на LLM — това е технология за изкуствено създаване на данни, които по своите статистически и структурни характеристики имитират реални данни, но не съдържат фактическа лична информация. Този подход, използващ възможностите на големите езикови модели (LLM), се превърна в ключов инструмент в съвременното машинно обучение за решаване на проблемите с дефицит на данни, поверителност и висока цена на ръчното анотиране[1].
Определение и предпоставки
Какво представляват синтетичните данни?
Синтетичните данни — това е изкуствено генерирана информация, която възпроизвежда статистическите свойства и закономерности на изходния, реален набор от данни. Националният институт по стандарти и технологии на САЩ (NIST) ги определя като данни, запазващи статистическите свойства на оригинала, но неразкриващи индивидуални детайли[2]. За разлика от простото обезличаване (анонимизиране), синтезът на данни създава изцяло нови записи, което осигурява по-високо ниво на защита на поверителността.
Защо възникна необходимостта?
Нарастващият интерес към синтетичното генериране се дължи на редица фактори:
- Дефицит на данни: В много области, особено в тясноспециализираните, качествените анотирани данни са недостатъчни за обучение на robust-модели.
- Висока цена на анотирането: Ръчното анотиране на данни е трудоёмък и скъп процес.
- Изисквания за поверителност: Правни и етични норми (например GDPR) ограничават използването на реални данни, съдържащи лична, медицинска или финансова информация.
- Дисбаланс на класовете: В реалните данни някои важни, но редки събития (edge cases) може да са представени недостатъчно, което пречи на модела да ги научи.
LLM, обучени върху огромни корпуси от текст и код, се превърнаха в мощен инструмент за решаване на тези проблеми, тъй като са способни да генерират свързано и разнообразно съдържание, имитиращо стиловете и разпределенията на реалните данни.
Основни методи за генериране с помощта на LLM
Съществуват няколко ключови подхода за създаване на синтетични данни с използване на LLM.
1. Генериране по подсказки (Prompt-based)
Това е директен метод, при който LLM генерира данни въз основа на текстова заявка (prompt).
- Zero-shot (от нулата): Моделът генерира примери само въз основа на описанието на задачата, без предоставяне на образци. Този подход насърчава разнообразието, но може да води до по-малко релевантни резултати.
- Few-shot (с няколко примера): В prompt-а се включват няколко примера (образца) от желания изход. Това насочва модела и повишава релевантността на генерираните данни, но носи риск от дублиране и загуба на разнообразие, тъй като моделът е склонен да копира шаблони[1].
2. Генериране с допълване от външна информация (Retrieval-Augmented)
Този метод цели да повиши фактическата коректност на синтетичните данни и да намали риска от халюцинации. Моделът не разчита единствено на своите вътрешни знания, а използва предоставен контекст от надежден външен източник. Например, за генериране на двойка „въпрос-отговор" първо се извлича релевантен абзац от Уикипедия, след което LLM се приканва да формулира въпрос и отговор, основани строго на този текст.
3. Итеративно уточняване и самообучение (Self-Refinement)
Този клас методи използва цикъл на обратна връзка за подобряване на качеството на данните. Най-известният пример е методът Self-Instruct[1].
- Моделът генерира първоначален набор от данни.
- Тези данни се използват за дообучение на самия модел (или негово копие).
- Анализират се грешките и слабите места на модела върху генерираните данни.
- Моделът се приканва да генерира нови, по-сложни примери, подобни на тези, в които е сгрешил.
Тъкмо по тази схема е създаден известният набор от данни Stanford Alpaca — 52 000 двойки „инструкция-отговор", генерирани от модела GPT-3, които позволиха да се дообучи отвореният модел LLaMA до нивото на асистент, следващ инструкции.
4. Следгенерационна обработка и филтриране
След генерирането на данните винаги се прилага филтриране за отстраняване на некачествени примери. Методите варират от прости (премахване на дубликати, проверка на формата) до сложни, като:
- Използване на модел-критик: Обучава се отделен класификатор, който разграничава реални данни от синтетични и отсява най-нереалистичните образци.
- Филтриране по увереност: Запазват се само онези примери, за които LLM с висока увереност предсказва правилния отговор/етикет.
- Претегляне на данните: На примерите, за които се подозира, че съдържат грешки или халюцинации, се присвоява по-малко тегло във функцията на загубата при обучение, за да се намали негативното им влияние (метод SunGen).
5. Обучение с обратна връзка при изпълнение (Execution Feedback)
Този метод е особено ефективен за генериране на програмен код. За разлика от текста на естествен език, кодът има формален критерий за коректност — може да бъде изпълнен. Цикълът изглежда така:
- LLM генерира код за решаване на задача.
- Кодът автоматично се изпълнява и се проверява за съответствие с тестовете.
- Коректните решения се включват в обучаващия набор. Некоректните се отхвърлят или моделът получава сигнал (reward) за коригиране на грешката.
Приложение на синтетичните данни
- Подобряване на задачи при недостиг на данни: Синтетичните данни са най-ефективни, когато реалните анотирани данни са малко. Изследванията показват, че добавянето на 100 синтетични примера към 100 реални може да повиши точността на класификатора с 3–26%[3].
- Създаване на набори с инструкции (Instruction Tuning): Проекти като Alpaca и Code Alpaca демонстрираха, че с помощта на LLM могат да се създават големи и качествени набори от данни за обучение на модели-асистенти практически от нулата.
- Търсене на информация и отговори на въпроси (QA): Методът InPars използва LLM за генериране на търсещи заявки към съществуващи документи. Това позволява автоматично създаване на двойки „въпрос — релевантен документ" за обучение на търсачки.
- Защита на поверителността: В медицината и финансите синтетичните данни се използват за обучение на модели без достъп до реални лични данни. Например Министерството по въпросите на ветераните на САЩ генерира синтетични медицински данни по време на пандемията COVID-19 за споделяне на информация[2].
Предимства и рискове
Предимства
- Намаляване на разходите и ускоряване на разработката: Генерирането на данни от модел е значително по-евтино и по-бързо от ръчното анотиране.
- Мащабируемост: Синтетичните данни могат да се генерират в практически неограничени количества.
- Управляемост: Разработчикът може гъвкаво да настройва състава, стила и сложността на генерираните данни.
- Спазване на поверителността: Предоставят обезличена алтернатива за работа с чувствителни данни.
- Устойчивост на моделите (Robustness): Обучението върху разнообразни и дори „трудни" синтетични примери прави моделите по-малко склонни към преобучение и по-устойчиви към нестандартни входни данни.
Ограничения и рискове
- Фактически неточности (халюцинации): LLM могат да генерират грешни факти, които, веднъж включени в обучаващия набор, се закрепват в новите модели.
- Недостатъчна реалистичност: Синтетичните текстове могат да бъдат прекалено шаблонни, формални или да не отразяват цялото многообразие на живия език, което намалява обобщаващата способност на модела.
- Усилване на системните отклонения (Bias): LLM наследяват и могат да усилват социалните стереотипи и предразсъдъци, присъстващи в техните обучаващи данни.
- Риск от „колапс на модела": Явление, при което повторното обучение на модели върху данни, генерирани от предишни версии на модели, води до постепенна деградация на качеството и „забравяне" на редки явления.
- Възможни изтичания на поверителна информация: Без специални мерки (например диференциална поверителност) LLM могат случайно да възпроизведат фрагменти от реални данни от своя обучаващ набор, което носи риск от деанонимизация[4].
Перспективи и насоки на изследванията
- Автоматизация на подбора на подсказки: Развитие на методи, които автоматично намират оптимални prompt-ове за генериране на качествени данни.
- Мултимодално синтетично генериране: Разширяване на методологиите към генериране на комбинирани данни (текст + изображение, аудио, видео).
- Развитие на метрики за качество: Създаване на стандартизирани benchmark-ове за оценка на полезността, разнообразието и реализма на синтетичните данни.
- Управление на отклоненията: Разработване на методи за контрол и намаляване на предубедеността в генерираните данни, например чрез генериране на контрафактуални примери.
- Безопасно внедряване в индустрията: Разработване на правни и етични стандарти за използване на синтетични данни в критични области.
Връзки
- Обзорна статия: Synthetic Data Generation Using Large Language Models (2025)
- Блог на Google Research за генериране на данни с диференциална поверителност
Литература
- Ye, J. et al. (2025). Synthetic Data Generation Using Large Language Models: Advances in Text and Code. arXiv:2503.14023.
- Wang, Y. et al. (2022). Self-Instruct: Aligning Language Models with Self-Generated Instructions. arXiv:2212.10560.
- Gao, J. et al. (2022). Self-Guided Noise-Free Data Generation for Efficient Zero-Shot Learning. arXiv:2205.12679.
- Jeronymo, V. et al. (2023). InPars-v2: Large Language Models as Efficient Dataset Generators for Information Retrieval. arXiv:2301.01820.
- Li, Z. et al. (2023). Synthetic Data Generation with Large Language Models for Text Classification: Potential and Limitations. ACL 2023.
- Shumailov, I. et al. (2023). Nepotistically Trained Generative-AI Models Collapse. arXiv:2311.12202.
- Long, L. et al. (2024). On LLMs-Driven Synthetic Data Generation, Curation, and Evaluation: A Survey. ACL Findings 2024.
- Gao, J. C. et al. (2024). Not All LLM-Generated Data Are Equal: Rethinking Data Weighting in Synthetic Datasets. OpenReview.
- Gehring, J. et al. (2025). RLEF: Grounding Code LLMs in Execution Feedback with Reinforcement Learning. arXiv:2410.02089.
- Barr, A. A. et al. (2025). Large Language Models Generating Synthetic Clinical Datasets: A Feasibility and Comparative Analysis with Real-World Perioperative Data. Frontiers in AI.
- Rao, H. et al. (2025). A Scoping Review of Synthetic Data Generation for Biomedical Research and Applications. arXiv:2506.16594.
Бележки
- ↑ 1.0 1.1 1.2 Ye, J., et al. «Synthetic Data Generation Using Large Language Models: Advances in Text and Code». arXiv:2503.14023 [cs.CL], 20 марта 2025 г. [1]
- ↑ 2.0 2.1 «Federal chief data officers seek information on synthetic data generation». FedScoop. [2]
- ↑ Li, Zhuoyan, et al. «Synthetic Data Generation with Large Language Models for Text Classification: Potential and Limitations». ACL Anthology, 2023. [3]
- ↑ Schoen, F. P., et al. «Large language models generating synthetic clinical datasets: a feasibility and comparative analysis with real-world perioperative data». Frontiers in Artificial Intelligence, 2025. [4]