Skip to content
Back to Portfolio
AI / Machine LearningResearch

Synth Umi — Synthetic Data Generation with DP-SGD

Synth Umi — Synthetic Data Generation with DP-SGD

A research prototype that generates synthetic data for both tabular and text modalities under differential privacy (DP-SGD). Tabular uses DP-CTGAN; text combines Llama 3.2 1B with LoRA + DP-SGD; Opacus handles ε/δ accounting throughout.

2026 Ongoing (internal R&D) 2026-04
#差分プライバシー#合成データ#LoRA#DP-SGD#R&D

Live Demo

Preview the actual application interface

DEMO
app.synth.jp/dashboard
生成速度
1,000 行/分
CTGAN-DP
プライバシー予算
ε = 3.0
δ = 1e-6
ユーティリティ
94.8%
統計忠実度
監査対応
ISO 27701
適合

プライバシー予算

ε=3.0消費済 1.74 / 3.0
厳格 ε<1中 ε=3.0緩和 ε>10

生成進捗

8,420 / 12,000 行

バッチ

84 / 120

ETA

3:42

却下率

0.8%

リスクスコアカード

すべて合格
再同定リスク2.4%

許容域: < 7%

k-匿名性12

許容域: < 14

DP漏洩境界0.58ε

許容域: < 0.7ε

属性開示3.1%

許容域: < 7%

合成データプレビュー

架空データ
ID氏名住所年齢ICDコード受診日
P-029384佐藤 美咲東京都新宿区○○1-242ICD-E11.92026-03-14
P-029385鈴木 健太郎大阪府大阪市北区○○3-458ICD-I102026-03-15
P-029386田中 ひかる愛知県名古屋市中区○○529ICD-J45.9092026-03-15
P-029387高橋 由紀子福岡県福岡市博多区○○267ICD-E78.52026-03-16
P-029388伊藤 翔太北海道札幌市中央区○○735ICD-K21.92026-03-16
P-029389渡辺 愛神奈川県横浜市西区○○451ICD-N18.32026-03-17

レシピ定義

YAML
# synth_umi.recipe.yaml
dataset: patient_visits_q1
engine: ctgan-dp
epsilon: 3.0
delta: 1e-6
k_anonymity_min: 10
columns:
  - name: patient_id
    type: id
    strategy: hash_rekey
  - name: full_name
    type: pii_name
    locale: ja_JP
  - name: address
    type: pii_address
    hierarchy: prefecture
    suppress_below: 5
  - name: birth_date
    type: date
    perturb: ±90d
  - name: icd10_code
    type: categorical
    preserve_distribution: true
rules:
  - no_rare_combinations: true
  - enforce_range: [age, 0, 120]
output:
  rows: 12000
  format: parquet

Challenge

Training downstream models on raw internal data carries real PII-leak risk, but k-anonymization or naive masking erodes statistical utility. We needed mathematically-backed differential privacy while keeping synthetic-data downstream accuracy at 90%+ of real data.

Solution

Tabular DP-CTGAN was extended with mode-specific normalization and trained at ε=3. Text-side, Llama 3.2 1B trained a LoRA (rank=8) under DP-SGD with staged privacy-budget consumption. Opacus runs the privacy accountant continuously, surfacing remaining ε/δ on a dashboard. Evaluation follows TSTR (Train Synthetic, Test Real).

Results

  • DP-CTGAN at ε=3 reaches downstream-classification F1 of 0.84 (real data 0.91)
  • LoRA + DP-SGD text generation hits MAUVE 0.78 at ε=8
  • Real-time ε-budget visualization via privacy-accountant dashboard
  • Presidio-based PII auto-scan confirmed no direct leakage from source data
Key Metrics

Measured Impact

表データF1 (ε=3)

0.84

実データ 0.91

テキスト MAUVE (ε=8)

0.78

-

PII漏洩

0件

Presidio検査

ε残量可視化

有効

リアルタイム

Features

What it does

プライバシー保証

RDP accountant統合

OpacusのRDP会計を常時動作させ、学習ジョブ完了時に累積ε/δを表示。

PII直接漏洩チェック

Presidioで合成データ内に元データ断片が残っていないか検査し、閾値超えでブロック。

有用性評価

TSTR (Train Synthetic Test Real)

合成データで下流分類モデルを学習し、実データでテストすることで有用性を数値化。

MAUVEテキスト評価

合成テキストの分布類似度をMAUVEで測定し、ε別の劣化を比較。

Architecture

System Layers

Layered architecture showing components, responsibilities, and data flow.

L1

Layer

プライバシー基盤層

DP-SGDの中核であるグラディエントクリッピング+ガウスノイズ注入と、RDP会計でε/δを追跡する層。

Opacus 1.5RDP accountantGradient clippingGaussian noise injection
L2

Layer

生成モデル層

表データはDP-CTGAN、テキストはLlama 3.2 1B+LoRAで生成、どちらもDP-SGDで学習する。

DP-CTGANLlama 3.2 1B + LoRAMode-specific normalizationLoRA rank=8
L3

Layer

評価・運用層

合成データの有用性(TSTR/MAUVE)とプライバシー(ε残量、PII直接漏洩チェック)を常時監視する。

TSTR評価MAUVEPresidio PII検出Streamlit accountant UI
Development Process

How we built it

Step 1

Opacus基礎動作確認

単純MLPでOpacus動作を確認、Adult/UCIでDP-SGDのε/δトレースを測定。

Deliverables

  • Opacus動作ノートブック
  • DP-SGDベースライン
  • ε/δトレース図
Step 2

DP-CTGAN実装

CTGANのgenerator/discriminator両方にDP-SGDを統合、モード特化正規化で収束性を改善。

Deliverables

  • DP-CTGAN実装
  • TSTR評価レポート
  • ハイパラ探索ログ
Step 3

テキスト生成LoRA+DP-SGD

Llama 3.2 1BにLoRAをDP-SGDで学習、ε=8でMAUVE評価、PII直接漏洩チェックを実施。

Deliverables

  • LoRAアダプタ
  • MAUVEレポート
  • PIIチェック結果
Step 4

Accountantダッシュボード

Streamlitでε残量・学習ジョブ・TSTR結果を一覧表示するアカウンタントUIを構築。

Deliverables

  • Streamlitダッシュボード
  • Presidio統合
  • 社内SDK v0.1
Roadmap

Delivery Timeline

  • Phase 0Done2026-04-23

    DP-SGD基礎実装

    OpacusでDP-SGDを動かし、単純MLPでε/δ会計を確認。Adult/UCI表データでbaseline測定。

  • Phase 1In Progress2026-05-20

    DP-CTGAN表データ生成

    CTGANにDP-SGDを統合、モード特化正規化を追加しε=3で学習。

  • Phase 2Planned2026-07-10

    Llama 3.2 1B + LoRA + DP-SGD

    Llama 3.2 1BにLoRA(rank=8)をDP-SGDで学習、ε=8で MAUVE評価。

  • Phase 3Planned2026-08-30

    ダッシュボードと社内配布

    Streamlit製 privacy accountant ダッシュボード、Presidio連携PII検査、社内Python SDK配布。

Team

Who built it

2engineers

Roles

  • プライバシーMLリサーチャ(代表)
  • 評価・ダッシュボード担当(業務委託)
Tech Stack

Tools & Platforms

Other

Opacus 1.5DP-CTGANLlama 3.2 1BPEFT 0.13 (LoRA)PyTorch 2.4Microsoft PresidioStreamlitDuckDBMLflow
Build with KGA

Considering a similar project?

We will propose the best solution for your business needs.

Discuss Your Project