- Published on
합성 데이터 생성 2026 완벽 가이드 — Gretel · MOSTLY AI · Tonic · Hazy · Synthea · SDV · Mimesis · Faker · Distilabel · Argilla 심층 분석
- Authors

- Name
- Youngju Kim
- @fjvbn20031
프롤로그 — 2026년, 합성 데이터의 두 번째 봄
2018년에 합성 데이터를 처음 들었을 때, 그것은 마치 "진짜 데이터가 없을 때 어쩔 수 없이 만드는 차선책" 같았다. CTGAN 논문이 2019년에 나왔을 때조차, 합성 데이터는 GAN 연구자의 장난감에 가까웠다. 분위기가 완전히 바뀐 것은 2023년 ChatGPT 이후다. LLM이 수조 토큰의 새로운 학습 데이터를 필요로 하기 시작했고, 동시에 GDPR과 HIPAA의 압박이 진짜 데이터의 흐름을 막았다. 두 흐름이 만나 합성 데이터의 두 번째 봄을 만들었다.
2024년 8월, 합성 데이터 시장은 결정적 사건을 맞았다 — MOSTLY AI가 Gretel을 인수했다(보도 기준 정보, 정확한 거래 조건은 비공개). 이로써 표 형식 합성 데이터 시장의 1·2위가 한 지붕 아래로 들어왔다. 같은 해 Tonic AI는 Ephemeral(데이터베이스 클론) 제품을 공개하고, Synthea는 MITRE에서 독립한 오픈소스 의료 시뮬레이터로 자리 잡았다. LLM 측에서는 Anthropic의 Constitutional AI 학습용 합성 데이터 파이프라인이 화제가 됐고, Hugging Face의 Argilla 인수(2024)로 Distilabel이 합성 데이터의 표준 파이프라인이 됐다.
합성 데이터는 진짜 데이터의 대체재가 아니다. 진짜 데이터로는 도달할 수 없는 곳을 채우는 도구다. — 프라이버시 벽, 희귀 클래스, 적대적 케이스, 그리고 LLM이 갈망하는 다양성.
이 글이 다루는 것:
- 2026년 합성 데이터 지도
- 합성 데이터가 풀려는 5가지 문제
- 표 형식 합성 데이터의 수학 — GAN, VAE, Diffusion
- SDV(Synthetic Data Vault) — MIT 발 오픈소스
- CTGAN, TVAE, TabDDPM 핵심 모델
- MOSTLY AI — 표 형식 합성의 글로벌 리더
- Gretel AI — Differential Privacy의 챔피언
- Tonic AI — Structural · Textual · Ephemeral
- Hazy, YData, Syntegra — 유럽·헬스케어 진영
- Synthea — 의료 합성 데이터의 사실상 표준
- 이미지·영상 합성 — Omniverse Replicator, Unity Perception
- LLM 합성 데이터 파이프라인 — Distilabel, Magpie, Self-Instruct
- Constitutional AI와 RLAIF — 합성 선호 데이터
- Faker 라이브러리 — Python Faker, Mimesis, Faker.js
- 구조화 출력 — Outlines, Instructor, DSPy
- 합성 데이터 품질 평가
- 프라이버시 보장 — Differential Privacy와 MIA
- 법·규제 — GDPR, HIPAA, K-PIPA, APPI
- 한국 합성 데이터 — KAIST, ETRI, NAVER LABS
- 일본 합성 데이터 — PFN, NTT, NICT
- 어떤 도구를 골라야 하나 — 의사결정 트리
- 참고 자료
1장 · 2026년 합성 데이터 지도
먼저 큰 그림. 합성 데이터 도구를 어떤 데이터 타입을 다루느냐로 분류하면 다음과 같다.
표 형식 (Tabular) — 엔터프라이즈의 주류
- MOSTLY AI (오스트리아) — 표 형식 합성 데이터의 글로벌 리더. 2024년 Gretel을 인수했다고 알려졌다.
- Gretel AI (미국) — Differential Privacy + GAN 기반. 클라우드 API와 SDK 모두 제공.
- Tonic AI (미국) — Tonic Structural(RDBMS 서브셋팅), Tonic Textual(PII 마스킹), Tonic Ephemeral(DB 클론).
- Hazy (영국) — 엔터프라이즈, 특히 금융권 강세.
- YData (포르투갈) — Synthetic Data + ydata-profiling.
- Syntegra — 임상 데이터 특화.
- SDV (Synthetic Data Vault) — MIT 오픈소스. CTGAN, TVAE, PAR.
의료·헬스케어 (Healthcare)
- Synthea (MITRE) — 인구 단위 임상 시뮬레이션. 사실상 표준.
- HealthShare (InterSystems) — 의료 데이터 플랫폼.
- Clinical Synthetic Data Generator — 미 HHS·CMS 합성 데이터 이니셔티브.
이미지·영상 (Image/Video)
- NVIDIA Omniverse Replicator — 3D 시뮬레이션 기반.
- Unity Perception — 게임 엔진을 데이터 생성기로.
- Datagen, Synthesis AI — 사람 얼굴·자세 합성.
- AI.Reverie (Meta가 인수, 2021) — 자율주행·국방.
LLM·텍스트 (Text/Instruction)
- Distilabel (Argilla → Hugging Face) — 합성 지시문·선호 데이터 표준 파이프라인.
- Magpie (Princeton) — 모델 자기-지시.
- Self-Instruct (Yizhong Wang) — LLM 자가 학습 데이터 생성의 시조.
- OpenHermes 2.5, OpenOrca, UltraChat — 합성 데이터 셋의 대표.
Faker — 가짜 식별자·이름·주소
- Python Faker (joke2k) — 가장 널리 쓰이는 가짜 데이터.
- Mimesis (Python) — Faker보다 빠르고 다국어.
- Faker.js — Marak 사건 이후 커뮤니티가 인수한 npm 패키지.
- mockaroo.com — 웹 UI 가짜 데이터 생성기.
구조화 출력 (Structured Output)
- Outlines, Instructor, DSPy — LLM에 JSON 스키마 강제.
이 지도가 의미하는 건: "합성 데이터"라는 단어 한 개로 묶이지만, 실제로는 5개의 다른 시장이다. 표 형식의 프라이버시 보존이, 의료의 인구 시뮬레이션이, LLM의 지시문 합성이, 자율주행의 시뮬레이션이 — 같은 단어 아래서 완전히 다른 문제를 풀고 있다.
2장 · 합성 데이터가 풀려는 5가지 문제
합성 데이터를 쓰는 이유를 5개로 정리하면 다음과 같다.
문제 1: 프라이버시 (Privacy) — GDPR(EU), HIPAA(US), K-PIPA(한국), APPI(일본)는 식별 가능한 개인정보의 전송·공유를 강하게 제한한다. 합성 데이터는 통계적 분포는 보존하지만 개인을 재식별할 수 없도록 만들어진다. "유럽 본사가 한국 지사에 고객 데이터를 보낼 수 없다 → 합성 데이터를 보낸다" 같은 시나리오가 가장 흔하다.
문제 2: 데이터 희소성 (Scarcity) — 자율주행에서 "차가 어린이를 칠 뻔한 상황"의 진짜 데이터는 모으기 어렵다(다행히). 의료에서 희귀 질환은 환자 수 자체가 적다. 사기 탐지에서 양성 클래스는 0.1%다. 시뮬레이션으로 부족한 데이터를 합성한다.
문제 3: 클래스 불균형 (Class Imbalance) — 이상 탐지, 사기 탐지, 의료 진단의 양성 클래스는 1% 미만이다. SMOTE, ADASYN 같은 전통 기법부터 GAN·VAE 기반 오버샘플링까지, 클래스 불균형 해소는 합성 데이터의 고전적 응용이다.
문제 4: 증강 (Augmentation) — 진짜 데이터에 변형(회전, 노이즈, 색 변환)을 더해 학습 데이터를 늘린다. 이미지 분야의 cutout·mixup, NLP의 back-translation·EDA가 대표적이다. 좁은 의미의 합성 데이터는 아니지만 같은 목적이다.
문제 5: LLM 학습 데이터 (LLM Training Data) — 2024년 이후 가장 뜨거운 응용. 인터넷 텍스트가 고갈되고, 인간 라벨러는 비싸다. 그래서 LLM이 다른 LLM을 위해 데이터를 합성한다. Self-Instruct, Magpie, Constitutional AI, RLAIF가 모두 이 흐름이다.
이 5가지 문제 중 어떤 것을 풀려고 하는지에 따라, 그리고 그 데이터가 표 형식이냐 이미지냐 텍스트냐에 따라 — 골라야 할 도구가 달라진다.
3장 · 표 형식 합성 데이터의 수학 — GAN, VAE, Diffusion
표 형식 합성의 코어는 결합 분포 P(X1, X2, ..., Xn)을 학습하고 거기서 새 샘플을 뽑는 것이다. 2026년 현재 3가지 패러다임이 경쟁한다.
패러다임 1: GAN 기반 — CTGAN
# CTGAN 핵심 아이디어: 조건부 생성기 + Mode-specific 정규화
# (개념 의사코드)
class CTGAN:
def fit(self, data, discrete_columns):
# 1. 연속형 컬럼은 Gaussian Mixture로 다중 모드 분리
self.gmm = fit_gmm_per_column(data)
# 2. 이산형은 one-hot
self.ohe = one_hot(data, discrete_columns)
# 3. 클래스 불균형 → conditional sampling
self.cond_sampler = ConditionalSampler(discrete_columns)
# 4. Wasserstein GAN with gradient penalty
train_wgan_gp(generator, critic, epochs=300)
def sample(self, n):
cond = self.cond_sampler.sample(n)
return self.generator(noise, cond)
패러다임 2: VAE 기반 — TVAE
TVAE는 CTGAN과 같은 전처리(GMM + one-hot)를 쓰지만 디코더가 VAE다. GAN보다 학습이 안정적이고 mode collapse가 덜하다는 장점.
패러다임 3: Diffusion 기반 — TabDDPM, TabSyn
TabDDPM(Kotelnikov et al., 2023)은 이미지에서 검증된 diffusion을 표 형식에 적용했다. 연속형은 Gaussian diffusion, 이산형은 multinomial diffusion. 2024-2025년에 TabSyn(Zhang et al.)이 latent diffusion으로 한 단계 더 나아갔다.
| 모델 | 패러다임 | 강점 | 약점 |
|---|---|---|---|
| CTGAN | GAN | 빠른 샘플링, 산업계 표준 | 학습 불안정 |
| TVAE | VAE | 안정적, mode 보존 | 다양성 ↓ |
| TabDDPM | Diffusion | SOTA 품질 | 샘플링 느림 |
| TabSyn | Latent Diffusion | 품질·속도 균형 | 새로움 |
| ARF | Adversarial Random Forest | 작은 데이터에 강함 | 큰 데이터 ↓ |
산업계 도구(MOSTLY AI, Gretel, Tonic)는 이 모델들의 개선판을 자체적으로 갖고 있다. 일부는 논문화되어 있고, 일부는 영업비밀이다.
4장 · SDV (Synthetic Data Vault) — MIT 발 오픈소스
SDV는 MIT의 DAI Lab에서 2016년에 시작된 오픈소스 프로젝트로, 2026년 현재 표 형식 합성 데이터 오픈소스의 사실상 표준이다. 단일 테이블, 다중 테이블(관계 보존), 시계열을 모두 다룬다.
# SDV 단일 테이블 합성 (대표 예제)
from sdv.single_table import CTGANSynthesizer
from sdv.metadata import SingleTableMetadata
import pandas as pd
# 1) 데이터 로드
real_data = pd.read_csv('customers.csv')
# 2) 메타데이터 자동 추출
metadata = SingleTableMetadata()
metadata.detect_from_dataframe(real_data)
# 3) 모델 학습
synthesizer = CTGANSynthesizer(metadata, epochs=300)
synthesizer.fit(real_data)
# 4) 합성 데이터 1만 행 생성
synthetic = synthesizer.sample(num_rows=10_000)
# 5) 품질 평가 — SDMetrics 패키지가 함께 제공
from sdv.evaluation.single_table import evaluate_quality
report = evaluate_quality(real_data, synthetic, metadata)
print(report.get_score()) # 0..1, 1에 가까울수록 좋음
SDV의 강점은 다중 테이블 관계 보존이다. HMA(Hierarchical Modeling Algorithm), HSA, GaussianCopula 같은 모델은 외래 키 제약을 깨지 않으면서 부모-자식 테이블을 함께 합성한다. 시계열은 PAR(Probabilistic AutoRegressive)이 담당한다.
라이선스는 Business Source License(MIT 변종)다 — 비상업적·연구용은 자유, 상업적으로는 Datacebo가 운영하는 SDV Enterprise가 별도 라이선스다.
5장 · CTGAN, TVAE, TabDDPM — 핵심 모델 비교
세 모델을 같은 데이터(UCI Adult, n=48,842)로 비교하면 다음 같은 경향이 보고된다(공개 벤치 기준).
| 지표 | CTGAN | TVAE | TabDDPM |
|---|---|---|---|
| 단변량 분포 (KS) | 0.05 | 0.04 | 0.02 |
| 결합 분포 (TVD) | 0.12 | 0.10 | 0.07 |
| 다운스트림 ML F1 | 0.81 | 0.83 | 0.85 |
| 학습 시간 | 1x | 1.2x | 5x |
| 샘플링 시간 | 1x | 1x | 30x |
해석: TabDDPM이 품질에서 가장 좋지만 학습·샘플링 비용이 크다. 대량 합성이 필요하다면 TVAE/CTGAN, 품질이 절대적이면 TabDDPM/TabSyn 쪽이다. 실제 산업 도구는 데이터 크기·민감도·생성량에 따라 여러 모델을 자동 선택한다.
6장 · MOSTLY AI — 표 형식 합성의 글로벌 리더
MOSTLY AI는 오스트리아 빈에서 2017년 창업한, 표 형식 합성 데이터의 가장 큰 플레이어다. 금융(에르스테 그룹, ING), 보험, 통신, 그리고 EU 공공 부문에 강하다.
제품 라인
- MOSTLY AI Platform — 클라우드 SaaS 또는 온프레미스 도커 배포. 웹 UI + REST API.
- mostlyai SDK — 2024년 오픈소스로 푼 Python SDK. 자체 환경에서 합성 모델을 학습·실행할 수 있다.
- AI Assistants — 자연어로 합성 작업을 지시.
# MOSTLY AI 오픈소스 SDK (대표 예제)
from mostlyai.sdk import MostlyAI
mostly = MostlyAI(local=True) # 로컬 모드
# 1) 학습
g = mostly.train(
data='customers.csv',
name='customer-synth-v1',
)
# 2) 합성
syn = mostly.generate(g, size=50_000)
syn.data().to_csv('synthetic_customers.csv', index=False)
# 3) 품질 리포트 — HTML로 출력됨
print(syn.report_path)
기술적 특징
- 자체 trnasformer 기반 생성 모델(2023 발표). 표 형식에서 PFN과 함께 transformer 진영의 양대 산맥.
- Differential Privacy를 옵션으로 켤 수 있고, 켰을 때 ε(epsilon) 예산을 명시한다.
- 다중 테이블 관계 보존, 시계열 합성 모두 지원.
2024년 Gretel 인수설(매체 보도 기준)로 MOSTLY AI는 사실상 표 형식 합성 시장의 압도적 1위가 됐다. 단, 두 제품 라인은 한동안 별개로 운영되고 있다.
7장 · Gretel AI — Differential Privacy의 챔피언
Gretel은 2019년 미국 캘리포니아에서 창업한 합성 데이터 회사다. Differential Privacy를 1급 시민으로 둔다는 점에서 MOSTLY AI와 차별화된다.
제품
- Gretel Cloud — SaaS 형태. 표 형식, 텍스트(자유 텍스트 PII 합성), 시계열을 다룬다.
- gretel-synthetics — 오픈소스 Python 라이브러리. ACTGAN, TimeSeries, LSTM, GPT 기반 텍스트 합성 모델을 포함.
- Gretel Tuner — 합성 모델의 하이퍼파라미터 자동 탐색.
# Gretel SDK로 합성 데이터 생성 (대표 예제)
from gretel_client import Gretel
gretel = Gretel(api_key='prompt') # 또는 환경변수
project = gretel.projects.create(name='customer-synth')
# 표 형식 합성 모델 생성 (Gretel 클라우드에서 학습)
trained = project.create_model_obj(
model_config='synthetics/tabular-actgan',
data_source='customers.csv',
)
trained.submit_cloud()
trained.poll() # 학습 완료까지 대기
# 합성 데이터 생성
record_handler = trained.create_record_handler_obj(params={'num_records': 50_000})
record_handler.submit_cloud()
record_handler.poll()
synthetic_df = record_handler.get_artifact_handle('data_preview').download_to_dataframe()
기술적 특징
- Differential Privacy GAN — DP-SGD로 모델 파라미터의 사적 정보 누출을 ε으로 한정.
- PII redaction + synthesis 결합 — 텍스트에서 이름·주소를 마스킹한 뒤, 그 자리에 가짜를 채워 넣는 파이프라인.
- Gretel Tuner — 자동 모델 선택.
2024년 MOSTLY AI 인수 이후에도 Gretel 브랜드는 유지되고 있고, API는 호환된다. 단, 신규 기능 추가가 한 라인으로 통합되는 시점은 2026년 현재도 진행 중이다.
8장 · Tonic AI — Structural · Textual · Ephemeral
Tonic AI는 2018년 샌프란시스코에서 창업한, "엔지니어를 위한 합성 데이터" 회사다. MOSTLY/Gretel이 데이터사이언티스트가 모델을 학습할 때를 가정한다면, Tonic은 개발자가 운영 DB의 안전한 복제본을 받는 시나리오를 1급으로 둔다.
3개의 제품 라인
- Tonic Structural — 운영 RDBMS(PostgreSQL/MySQL/SQL Server/Oracle)에서 외래 키 관계를 보존하며 서브셋 + 마스킹/합성. CI/CD 파이프라인에 통합된다.
- Tonic Textual — 자유 텍스트에서 PII를 NER로 검출 + 마스킹 + 합성 치환. 의료 노트, 콜센터 트랜스크립트.
- Tonic Ephemeral (2024 GA) — 단명(短命) 데이터베이스 인스턴스. PR마다 합성 DB를 띄우고, PR 닫히면 DB도 삭제.
# Tonic Structural 워크스페이스 설정 (대표 예제)
workspace: customer-app
source:
type: postgres
host: prod-readonly.example.com
database: app
subset:
root_table: public.customers
target_size: 10%
generators:
public.customers.email:
type: fake_email
public.customers.phone:
type: random_phone
public.orders.notes:
type: tonic_textual # 자유 텍스트 PII 합성
destination:
type: postgres
host: dev-db.internal
database: app_dev
시장 포지셔닝
- MOSTLY/Gretel은 데이터를 보호하면서도 통계가 유지된 합성 데이터셋을 만든다(ML 학습용).
- Tonic은 개발/테스트를 위한 안전한 DB 복제본을 만든다(엔지니어링용).
- 둘은 같은 단어("synthetic data")를 쓰지만 풀려는 문제가 다르다.
9장 · Hazy, YData, Syntegra — 유럽·헬스케어 진영
Hazy (영국, 런던, 2017 창업)
- 금융·공공 부문 강세. 영국 정부의 ONS Secure Research Service와 협업.
- 자체 GAN 변형 + Differential Privacy. 폐쇄 환경(에어갭) 배포에 강하다.
- 2024년 NatWest, HSBC와의 사례가 공개된 바 있다.
YData (포르투갈, 2019 창업)
- ydata-synthetic — 오픈소스 합성 라이브러리. CTGAN, TimeGAN, DragonGAN.
- ydata-profiling (구 pandas-profiling) — 데이터 프로파일링 표준 도구. 2022년 합류.
- YData Fabric — 데이터 준비·합성·평가의 통합 SaaS.
Syntegra (미국, 2020 창업)
- 임상 데이터 합성에 특화. EMR, 청구 데이터, 유전체.
- 자체 transformer 기반 모델 + HIPAA Safe Harbor 평가 보고서를 자동 생성.
- Mayo Clinic, Columbia 등과의 협업 사례.
이 진영의 공통점은 규제 산업(금융·의료)에 깊이 들어간 도메인 지식이다. 일반 표 형식 도구로는 처리하기 어려운, 도메인 특유의 검증(예: 임상 코딩 정합성)을 자동화한다.
10장 · Synthea — 의료 합성 데이터의 사실상 표준
Synthea는 MITRE Corporation이 2017년에 공개한 오픈소스 의료 인구 시뮬레이터로, 2026년 현재 의료 합성 데이터의 사실상 표준이다. 표 형식 모델이 "기존 데이터의 분포"를 학습하는 것과 달리, Synthea는 임상 가이드라인을 명시적으로 모델링한 룰 기반 시뮬레이션이다.
아키텍처
- Generic Module Framework — JSON으로 정의된 임상 모듈(고혈압, 당뇨, 임신, COVID-19 등 100여 개).
- 각 모듈은 상태 머신이다: 진단 → 검사 → 치료 → 추적관찰.
- 환자는 출생부터 사망까지 시뮬레이션되며, 연령·성별·인종·지역에 따라 발병률이 달라진다.
# Synthea 실행 (대표 예제) - 자바 jar로 동작
# 매사추세츠 주의 1만 명 합성 환자를 FHIR R4 형식으로 출력
java -jar synthea-with-dependencies.jar \
-p 10000 \
-s 1234 \
--exporter.fhir.export true \
--exporter.csv.export true \
Massachusetts
출력 형식
- FHIR R4 (JSON) — 가장 많이 쓰인다.
- C-CDA — HL7 임상 문서.
- CSV — 표 형식 분석용.
- CPCDS — 청구 데이터.
한계
- 진짜 환자의 통계를 학습하지 않으므로, "분포가 진짜 데이터와 같다"는 보장은 없다. 가이드라인 기반이라 가이드라인의 한계(예: 희귀 질환의 디테일 부족)를 그대로 갖는다.
- 그래서 2024년 이후 등장한 흐름은 Synthea로 골격을 만들고, GAN/diffusion으로 디테일을 채우는 하이브리드다.
11장 · 이미지·영상 합성 — Omniverse Replicator, Unity Perception
NVIDIA Omniverse Replicator — 2021년 공개. USD(Universal Scene Description) 기반의 3D 시뮬레이션으로 RGB·세그멘테이션·뎁스·바운딩박스를 동시에 생성한다. 자율주행, 로봇 매니퓰레이션, 창고 자동화에 강하다. 2024년 Isaac Sim과 통합되어 로봇 학습 데이터의 표준이 됐다.
Unity Perception — 게임 엔진 Unity가 데이터 생성기로 변신. SynthDet 같은 공개 베이스라인 데이터셋이 있다.
Datagen, Synthesis AI — 사람 얼굴·자세·표정에 특화. 자율주행의 운전자 모니터링, AR/VR 아바타에 쓰인다.
AI.Reverie (Meta 인수, 2021) — 위성 영상·드론 영상·국방 시뮬레이션 강세였고, Meta가 2021년 인수한 뒤 사실상 내부 도구가 됐다.
# Omniverse Replicator (대표 의사코드)
import omni.replicator.core as rep
with rep.new_layer():
camera = rep.create.camera()
cube = rep.create.cube(position=(0, 0, 0))
light = rep.create.light()
with rep.trigger.on_frame(num_frames=1000):
with cube:
rep.modify.pose(position=rep.distribution.uniform((-5, 0, -5), (5, 0, 5)))
writer = rep.WriterRegistry.get('BasicWriter')
writer.initialize(output_dir='out/', rgb=True, bounding_box_2d_tight=True)
writer.attach([camera])
rep.orchestrator.run()
이미지·영상 합성의 핵심 어려움은 sim-to-real gap이다. 시뮬레이션이 진짜와 다르면, 합성으로 학습한 모델이 실제에선 망한다. 도메인 랜덤화(domain randomization)와 도메인 적응(domain adaptation)이 이 갭을 줄이는 핵심 기법이다.
12장 · LLM 합성 데이터 파이프라인 — Distilabel, Magpie, Self-Instruct
2023년 이후 LLM 학습 데이터의 갈증이 합성 데이터의 새 영역을 열었다.
Self-Instruct (Yizhong Wang et al., 2022) — LLM 자가 학습 데이터 생성의 시조. 사람이 만든 작은 시드 지시문 풀에서, LLM이 새 지시문 + 응답을 자가 생성한다. Alpaca, Vicuna, WizardLM이 이 흐름의 직계 후손이다.
Magpie (Princeton, 2024) — Self-Instruct를 한 단계 더. 시드도 없이, Chat 템플릿의 user 토큰만 입력한 뒤 LLM이 알아서 지시문을 만들고 그에 대한 답을 만든다. Llama-3-Instruct로 시도해 100만 건 규모의 합성 데이터셋이 만들어졌다.
Distilabel (Argilla → Hugging Face, 2024) — 합성 데이터 파이프라인의 표준 라이브러리. 노드 그래프로 합성 워크플로를 짠다.
# Distilabel — 합성 지시문 + 선호 데이터 (대표 예제)
from distilabel.pipeline import Pipeline
from distilabel.steps.tasks import TextGeneration
from distilabel.llms import OpenAILLM
with Pipeline(name='preference-synthesis') as pipeline:
generator_a = TextGeneration(
name='gen_a',
llm=OpenAILLM(model='gpt-4o'),
)
generator_b = TextGeneration(
name='gen_b',
llm=OpenAILLM(model='gpt-4o-mini'),
)
# 두 응답에 대해 GPT-4가 어느 게 좋은지 판정 → 선호 페어 생성
# (생략) JudgeStep ...
distiset = pipeline.run(
parameters={
'gen_a': {'llm': {'generation_kwargs': {'temperature': 0.7}}},
},
)
distiset.push_to_hub('username/synthetic-prefs')
OpenHermes 2.5, OpenOrca, UltraChat — 모두 합성 데이터셋의 대표 사례. 100만 ~ 수백만 건 규모의 지시문-응답 페어. 라이선스가 까다로워 상업적 사용은 주의가 필요하다.
13장 · Constitutional AI와 RLAIF — 합성 선호 데이터
LLM 정렬(alignment)에서 가장 비싼 부분이 인간 선호 라벨링이다. 그래서 합성 선호 데이터가 핵심 주제가 됐다.
Constitutional AI (Anthropic, 2022) — 모델이 자기 출력을 헌법(원칙 목록)에 비추어 비판하고 수정한다. 그렇게 만든 (응답, 수정된 응답) 페어가 선호 학습 데이터가 된다.
RLAIF (RL from AI Feedback) (Google, 2023) — RLHF의 사람 라벨러 자리에 LLM 판정자를 놓는다. 사람 라벨러 대비 90% 이상 일치한다는 결과.
Constitutional AI 파이프라인 (대표)
1. 초기 모델이 사용자 질문에 응답한다
2. 헌법의 원칙 중 하나를 무작위로 골라, 모델이 자기 응답을 비판한다
3. 비판을 바탕으로 모델이 자기 응답을 수정한다
4. (질문, 원래 응답, 수정된 응답) → SFT 학습 데이터
5. (질문, 원래 응답 vs 수정된 응답) → DPO/PPO 선호 데이터
자기 보상 (Self-Reward) (Meta, 2024) — 같은 모델이 응답자이자 판정자가 되는 자기 강화 학습. 합성 데이터의 극한 형태.
이 흐름의 핵심은 사람 없이도 점점 더 잘하게 만드는 루프다. 다만 모델이 자기 편향을 강화할 위험(model collapse, mode collapse)이 보고되고 있어, 합성 데이터의 비율과 검증이 중요해진다.
14장 · Faker 라이브러리 — Python Faker, Mimesis, Faker.js
가장 가벼운 합성 데이터는 통계 학습 없이 가짜를 만드는 Faker류다.
Python Faker (joke2k, 2014~) — 가장 널리 쓰이는 가짜 데이터 라이브러리. 70개 이상의 locale.
from faker import Faker
fake = Faker('ko_KR')
print(fake.name()) # 김민준
print(fake.address()) # 서울특별시 강남구 ...
print(fake.phone_number()) # 010-1234-5678
print(fake.email()) # gildong@example.kr
print(fake.company()) # 주식회사 ...
Mimesis (Python) — Faker보다 빠르고(C 확장 일부) 다국어 지원이 풍부하다.
from mimesis import Generic
g = Generic('ja')
print(g.person.full_name()) # 田中 一郎
print(g.address.address())
print(g.business.company())
Faker.js (npm) — 2022년 1월 원작자 Marak이 의도적으로 npm 패키지를 망가뜨린 사건(소위 "node-ipc" 사건의 동반자) 이후, 커뮤니티가 fork한 @faker-js/faker가 표준이 됐다. 원래의 faker는 npm에서 deprecated.
import { faker } from '@faker-js/faker/locale/ko';
console.log(faker.person.fullName());
console.log(faker.location.streetAddress());
console.log(faker.phone.number());
mockaroo.com — 웹 UI로 가짜 데이터 컬럼을 설계하고 CSV/JSON으로 내려받는다. 200개 이상의 데이터 타입.
Faker류의 한계: 컬럼 간 상관관계가 보존되지 않는다. 나이와 직업, 도시와 우편번호의 상관이 가짜다. 통계가 중요하면 SDV/MOSTLY/Gretel 쪽으로 올라가야 한다.
15장 · 구조화 출력 — Outlines, Instructor, DSPy
LLM이 합성 데이터를 만들 때 가장 큰 골칫거리는 출력 포맷이다. JSON 스키마를 강제하는 라이브러리가 합성 파이프라인의 필수 부품이 됐다.
Outlines (dottxt-ai) — 토큰 레벨에서 JSON 스키마/정규식/문맥자유문법을 강제한다. logits를 마스킹해 잘못된 토큰을 아예 생성하지 않게 만든다.
import outlines
model = outlines.models.transformers('meta-llama/Llama-3.1-8B-Instruct')
generator = outlines.generate.json(model, schema='''
{
"type": "object",
"properties": {
"name": {"type": "string"},
"age": {"type": "integer", "minimum": 0, "maximum": 120},
"city": {"type": "string"}
},
"required": ["name", "age", "city"]
}
''')
print(generator('서울에 사는 가상의 한국인 한 명의 프로필을 JSON으로 만들어라'))
Instructor (Jason Liu) — OpenAI/Anthropic API 위에서 Pydantic 모델을 그대로 출력 스키마로 쓴다. 가장 인기 있는 추상화.
DSPy (Stanford) — 프롬프트를 손으로 짜는 대신, "시그니처"를 선언하고 컴파일러가 프롬프트를 최적화한다. 합성 데이터 파이프라인의 메타 도구.
이 도구들은 합성 데이터 생성기의 출력 형식을 강제해, 파이프라인이 정해진 스키마로 흐르도록 만든다. 합성 데이터의 신뢰성 베이스라인이다.
16장 · 합성 데이터 품질 평가
합성 데이터의 품질은 4개의 축으로 본다.
축 1: 단변량 분포 (Marginal) — 각 컬럼의 히스토그램이 진짜 데이터와 비슷한가. KS-test, Total Variation Distance.
축 2: 결합 분포 (Joint) — 컬럼 간 상관·의존이 보존되는가. Pearson/Spearman 상관 행렬의 차이, mutual information.
축 3: 다운스트림 유틸리티 (Utility) — 합성 데이터로 ML 모델을 학습해 진짜 데이터로 평가했을 때 정확도가 얼마나 떨어지는가. TSTR(Train Synthetic, Test Real).
축 4: 프라이버시 (Privacy) — 합성 데이터로부터 원본 개인을 재식별할 수 있는가. Distance to Closest Record(DCR), Membership Inference Attack(MIA), Attribute Inference Attack(AIA).
# SDMetrics로 합성 데이터 평가 (대표 예제)
from sdmetrics.reports.single_table import QualityReport
from sdmetrics.single_table import (
NewRowSynthesis, # 진짜에 정확히 같은 행이 있는지 (프라이버시)
BoundaryAdherence, # 컬럼 경계 준수
CategoryCoverage, # 카테고리 커버리지
)
report = QualityReport()
report.generate(real_data, synthetic_data, metadata)
print(report.get_score()) # 0..1, 종합 점수
print(report.get_details('Column Shapes')) # 단변량
print(report.get_details('Column Pair Trends')) # 결합
이 4개의 축은 trade-off다. 프라이버시를 강하게 보장하면 유틸리티가 떨어지고, 유틸리티를 극대화하면 원본을 외워버릴 위험이 생긴다. 어디서 균형을 잡느냐가 합성 데이터 엔지니어링의 핵심 기예다.
17장 · 프라이버시 보장 — Differential Privacy와 MIA
Differential Privacy (DP) — 2006년 Dwork가 정의한 개념. 데이터셋에서 한 사람을 빼거나 넣어도 알고리즘의 출력 분포가 거의 같다는 보장. (ε, δ) 파라미터로 강도를 표현한다.
정의 — (ε, δ)-DP
이웃 데이터셋 D, D' (한 행 차이)에 대해, 모든 출력 집합 S:
Pr[A(D) ∈ S] ≤ e^ε · Pr[A(D') ∈ S] + δ
ε이 작을수록 강한 보장. ε ≤ 1이 일반적 권장.
δ는 1/n보다 훨씬 작아야 한다 (예: 1e-6).
DP-SGD (Abadi et al., 2016) — 신경망 학습 시 그래디언트에 노이즈를 더하고 클리핑하여 DP를 보장. 합성 데이터 생성 모델에 적용된다.
Membership Inference Attack (MIA) — 공격자가 "이 사람이 학습 데이터에 있었는가?"를 맞히려 하는 공격. 합성 데이터에서 공격자는 합성 결과만 보고 원본 멤버를 추론한다. MIA 성공률이 50%(랜덤 추측)에 가까울수록 안전.
Attribute Inference Attack (AIA) — "이 사람의 나이는 모르지만, 직업과 도시는 안다. 나이를 추론할 수 있는가?" 합성 데이터의 부분 노출이 다른 속성을 누설하는가의 문제.
산업적 함의 — MOSTLY AI와 Gretel은 DP를 옵션으로 켤 수 있고, 켰을 때 ε 예산을 명시한다. 의료·금융 등 강 규제 산업은 DP-on을 사실상 디폴트로 쓴다. 단, ε이 작을수록 유틸리티가 떨어지므로 도메인별 적정 값을 정하는 게 어렵다.
18장 · 법·규제 — GDPR, HIPAA, K-PIPA, APPI
GDPR (EU, 2018) — 개인정보의 처리·전송에 엄격한 동의를 요구. 합성 데이터가 "더 이상 개인정보가 아니다"고 인정받으려면, 재식별이 사실상 불가능해야 한다. EDPB의 Anonymisation Guideline(2014의 Article 29 WP Opinion 05/2014를 EDPB가 계승)이 기준점이다. 단일화·연관·추론 3가지 위험이 모두 낮아야 진짜 익명이다.
HIPAA (US, 1996) — Safe Harbor(18개 식별자 제거) 또는 Expert Determination(통계 전문가가 재식별 위험을 평가) 둘 중 하나로 De-identification. 합성 데이터는 보통 Expert Determination 경로다. Syntegra 같은 도구는 Expert Determination 보고서를 자동 생성한다.
K-PIPA (한국 개인정보보호법) — 가명정보·익명정보 개념. 가명정보는 동의 없이 통계·연구 목적 사용 가능, 익명정보는 더 자유롭다. 합성 데이터는 일반적으로 익명정보로 분류되는 방향이지만, 케이스별 검토가 필요하다. 2020년 데이터3법 이후 가명·익명의 법적 지위가 명확해졌다.
APPI (일본 개인정보보호법) — 익명가공정보(匿名加工情報) 개념. 한국의 익명정보와 비슷하나, 작성 시 일정한 기술적 처리 기준을 충족해야 한다. PPC(개인정보보호위원회) 가이드라인 참조.
미국 주별 법 — CCPA/CPRA(캘리포니아), 그리고 2024년 현재 20개 이상의 주가 자체 개인정보법을 통과시켰다. 통일 연방법은 아직 없다.
법적 포지셔닝의 핵심: 합성 데이터를 "비식별"로 인정받으려면 단순히 "이름을 가렸다"가 아니라, 통계적 재식별 위험을 객관 지표로 보여줘야 한다. 그래서 합성 도구가 자동으로 만드는 프라이버시 보고서(DCR, MIA, k-anonymity 등)가 법무 문서의 일부가 된다.
19장 · 한국 합성 데이터 — KAIST, ETRI, NAVER LABS
한국의 합성 데이터 생태계는 공공 주도 + 대기업 자체 개발의 이중 구조다.
KAIST · 서울대 · POSTECH — CTGAN, TabDDPM 라인의 후속 연구가 활발하다. 2024년 KAIST에서 발표된 표 형식 diffusion 변형이 NeurIPS에 채택된 사례가 있다.
ETRI (한국전자통신연구원) — 가명·익명정보 생성 도구를 정부 사업으로 개발. 공공 데이터 개방에 활용된다.
NAVER LABS, Kakao Brain — LLM 학습용 합성 한국어 데이터셋. 자체 모델(HyperCLOVA X, KoGPT 등) 학습에 쓰인다.
금융·통신 — 마이데이터 시대 — 2022년 마이데이터 본격화 이후, 가명·익명 결합 데이터의 산업적 활용이 늘면서 합성 데이터 수요가 커졌다. 신한은행, KB국민은행, KT 등이 자체 도구 또는 외부 솔루션(MOSTLY/Gretel)을 도입한 사례가 보도됐다.
한국 데이터산업진흥원(K-DATA) — 가명·익명 정보 활용 안내서, 적정성 평가 가이드를 발행한다. 합성 데이터의 법적 위치를 정리한 주요 정부 문헌.
의료 — 보건복지부의 의료 마이데이터 추진(2023~), 국립암센터·서울아산병원 등의 합성 EMR 시범 사업. Synthea 한국화(인구 통계, 발병률, 임상 코딩)가 학계 과제다.
20장 · 일본 합성 데이터 — PFN, NTT, NICT
PFN (Preferred Networks) — 자율주행·로봇 시뮬레이션 데이터. Toyota 협업으로 합성 영상 데이터셋 구축.
NTT Data, NTT 연구소 — 표 형식 합성 데이터 사내 도구. 통신 사용자 분석에 활용. 외부에는 일부 논문으로만 공개.
NICT (정보통신연구기구) — 다국어 NLP 데이터, 음성 합성 데이터. ASTREC의 음성 합성 코퍼스가 대표.
RIKEN AIP — 의료 AI용 합성 EMR 연구. 일본의 의료 데이터 폐쇄성 때문에 합성이 사실상 유일한 외부 공유 수단인 분야가 있다.
상업적 도입 — 일본 금융권은 MUFG, SMBC가 자체 도구 + Hazy/MOSTLY 시범. 보험은 동경해상이 합성 보험 청구 데이터로 사기 탐지 모델을 학습한 사례가 보도됐다.
APPI 운용 — 익명가공정보 작성 기준이 명확해, 합성 데이터가 그 카테고리에 들어가도록 설계하는 게 현장의 표준 접근.
한국과의 차이 — 일본은 공공 부문 데이터 개방이 한국보다 느려, 합성 데이터의 동기가 "공공 데이터를 풀기 위해"보다 "민간 내부에서 안전하게 옮기기 위해"에 가깝다.
21장 · 어떤 도구를 골라야 하나 — 의사결정 트리
| 시나리오 | 권장 도구 |
|---|---|
| 표 형식, 오픈소스, 빠른 프로토타입 | SDV (CTGAN/TVAE) |
| 표 형식, 엔터프라이즈, 클라우드 | MOSTLY AI 또는 Gretel |
| 표 형식, 엔터프라이즈, 온프레미스 + DP | MOSTLY AI 온프레미스 / Hazy |
| 운영 RDBMS 복제 + 마스킹 | Tonic Structural |
| PR마다 일회용 DB | Tonic Ephemeral |
| 자유 텍스트(노트, 콜센터) PII | Tonic Textual / Gretel |
| 의료 EHR 인구 시뮬레이션 | Synthea |
| 임상 데이터 합성 (분포 기반) | Syntegra |
| 자율주행·로봇 학습 영상 | NVIDIA Omniverse Replicator |
| LLM 지시문 합성 | Distilabel + Magpie |
| 단순 가짜 이름·주소 | Python Faker / Mimesis / Faker.js |
| 가짜 JSON 스키마 강제 | Outlines / Instructor |
고려해야 할 4개의 차원
- 데이터 타입 — 표·텍스트·영상·시계열 중 무엇?
- 목적 — ML 학습용? DEV/QA용? 데이터 공유용?
- 규제 — DP가 필수인가? HIPAA Safe Harbor가 필요한가?
- 운영 환경 — 클라우드 OK? 에어갭 필수?
이 4개를 종이에 적고, 도구 후보를 매핑하면 보통 2-3개로 좁혀진다. 그 다음 POC다.
22장 · 참고 / References
공식 문서와 주요 논문/보고서만 모았다.
표 형식 합성 (공식 문서)
- MOSTLY AI — https://mostly.ai/
- mostlyai 오픈소스 SDK — https://github.com/mostly-ai/mostlyai
- Gretel AI — https://gretel.ai/
- gretel-synthetics — https://github.com/gretelai/gretel-synthetics
- Tonic AI — https://www.tonic.ai/
- Hazy — https://hazy.com/
- YData — https://ydata.ai/
- ydata-synthetic — https://github.com/ydataai/ydata-synthetic
- Syntegra — https://www.syntegra.io/
- SDV (Synthetic Data Vault) — https://sdv.dev/
- SDV GitHub — https://github.com/sdv-dev/SDV
- SDMetrics — https://docs.sdv.dev/sdmetrics/
의료
- Synthea — https://synthetichealth.github.io/synthea/
- Synthea GitHub — https://github.com/synthetichealth/synthea
- HHS Synthetic Data — https://www.hhs.gov/cto/initiatives/innovation/synthetic-data/
이미지·영상
- NVIDIA Omniverse Replicator — https://developer.nvidia.com/omniverse/replicator
- Unity Perception — https://github.com/Unity-Technologies/com.unity.perception
LLM·지시문 합성
- Distilabel — https://distilabel.argilla.io/
- Argilla — https://argilla.io/
- Self-Instruct (Wang et al., 2022) — https://arxiv.org/abs/2212.10560
- Magpie (Xu et al., 2024) — https://arxiv.org/abs/2406.08464
- Constitutional AI (Bai et al., 2022) — https://arxiv.org/abs/2212.08073
- RLAIF (Lee et al., 2023) — https://arxiv.org/abs/2309.00267
Faker
- Python Faker — https://faker.readthedocs.io/
- Mimesis — https://mimesis.name/
- Faker.js — https://fakerjs.dev/
- Mockaroo — https://www.mockaroo.com/
구조화 출력
- Outlines — https://dottxt-ai.github.io/outlines/
- Instructor — https://python.useinstructor.com/
- DSPy — https://dspy.ai/
핵심 논문
- CTGAN (Xu et al., 2019) — https://arxiv.org/abs/1907.00503
- TabDDPM (Kotelnikov et al., 2023) — https://arxiv.org/abs/2209.15421
- TabSyn (Zhang et al., 2024) — https://arxiv.org/abs/2310.09656
- Differential Privacy (Dwork, 2006) — https://www.microsoft.com/en-us/research/publication/differential-privacy/
- DP-SGD (Abadi et al., 2016) — https://arxiv.org/abs/1607.00133
법·규제
- EDPB Guidelines on Anonymisation — https://www.edpb.europa.eu/
- HIPAA De-identification — https://www.hhs.gov/hipaa/for-professionals/privacy/special-topics/de-identification/
- 개인정보보호위원회(한국) — https://www.pipc.go.kr/
- PPC(일본 개인정보보호위원회) — https://www.ppc.go.jp/
에필로그 — 합성은 진짜를 대체하지 않는다
이 글의 한 문장 요약: 합성 데이터는 진짜 데이터의 대체재가 아니라, 진짜로는 도달할 수 없는 자리를 채우는 도구다. 프라이버시의 벽 뒤, 희귀 클래스의 빈자리, LLM이 갈망하는 다양성 — 그 자리에만 합성을 넣어야 한다. 모든 자리를 합성으로 채우면, 우리는 자기 그림자만 학습하는 모델을 갖게 된다.
2026년 합성 데이터의 가장 큰 위험은 model collapse다. LLM이 만든 데이터로 다시 LLM을 학습시키는 루프가 길어지면, 모델은 진짜 세계의 다양성을 잃는다. 그래서 합성과 진짜의 비율, 합성 데이터의 다양성 측정, 그리고 결정적 평가용 진짜 holdout이 — 앞으로 5년의 핵심 엔지니어링 주제다.
다음 글 후보: AI 모델 평가 시스템 심층 (Inspect AI·Promptfoo·OpenAI Evals), LLM 데이터 큐레이션 파이프라인, Differential Privacy 실전.
"합성은 진짜의 사진이 아니다. 진짜의 통계다. 사진을 원하는 자리에 통계를 넣으면 망한다. 통계를 원하는 자리에 사진을 넣어도 망한다. 둘은 다른 도구다."