Synth Umi — 差分隐私合成数据生成
Synth Umi — Synthetic Data Generation with DP-SGD
在差分隐私保证下合成患者与客户数据,安全供给公司内部 ML 训练的研发原型。
在线演示
实际应用界面预览
プライバシー予算
生成進捗
8,420 / 12,000 行バッチ
84 / 120
ETA
3:42
却下率
0.8%
リスクスコアカード
すべて合格許容域: < 7%
許容域: < 14
許容域: < 0.7ε
許容域: < 7%
合成データプレビュー
架空データ| ID | 氏名 | 住所 | 年齢 | ICDコード | 受診日 |
|---|---|---|---|---|---|
| P-029384 | 佐藤 美咲 | 東京都新宿区○○1-2 | 42 | ICD-E11.9 | 2026-03-14 |
| P-029385 | 鈴木 健太郎 | 大阪府大阪市北区○○3-4 | 58 | ICD-I10 | 2026-03-15 |
| P-029386 | 田中 ひかる | 愛知県名古屋市中区○○5 | 29 | ICD-J45.909 | 2026-03-15 |
| P-029387 | 高橋 由紀子 | 福岡県福岡市博多区○○2 | 67 | ICD-E78.5 | 2026-03-16 |
| P-029388 | 伊藤 翔太 | 北海道札幌市中央区○○7 | 35 | ICD-K21.9 | 2026-03-16 |
| P-029389 | 渡辺 愛 | 神奈川県横浜市西区○○4 | 51 | ICD-N18.3 | 2026-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挑战
直接使用原始数据合规风险高,简单脱敏会破坏分布信息。
解决方案
组合 DP-SGD 训练表格 GAN 与 LLM 文本合成,按数据集追踪 ε 预算。
成果
- 在 ε=3.0 下下游分类精度保持原始数据的 96%
- 再识别攻击仿真成功率 0.4%
- 1 万条合成数据生成时间 9 分钟
- 通过公司内部合规审查后已供给 2 个团队
Measured Impact
表データF1 (ε=3)
0.84
実データ 0.91
テキスト MAUVE (ε=8)
0.78
-
PII漏洩
0件
Presidio検査
ε残量可視化
有効
リアルタイム
What it does
プライバシー保証
RDP accountant統合
OpacusのRDP会計を常時動作させ、学習ジョブ完了時に累積ε/δを表示。
PII直接漏洩チェック
Presidioで合成データ内に元データ断片が残っていないか検査し、閾値超えでブロック。
有用性評価
TSTR (Train Synthetic Test Real)
合成データで下流分類モデルを学習し、実データでテストすることで有用性を数値化。
MAUVEテキスト評価
合成テキストの分布類似度をMAUVEで測定し、ε別の劣化を比較。
System Layers
Layered architecture showing components, responsibilities, and data flow.
Layer
プライバシー基盤層
DP-SGDの中核であるグラディエントクリッピング+ガウスノイズ注入と、RDP会計でε/δを追跡する層。
Layer
生成モデル層
表データはDP-CTGAN、テキストはLlama 3.2 1B+LoRAで生成、どちらもDP-SGDで学習する。
Layer
評価・運用層
合成データの有用性(TSTR/MAUVE)とプライバシー(ε残量、PII直接漏洩チェック)を常時監視する。
How we built it
Opacus基礎動作確認
単純MLPでOpacus動作を確認、Adult/UCIでDP-SGDのε/δトレースを測定。
Deliverables
- Opacus動作ノートブック
- DP-SGDベースライン
- ε/δトレース図
DP-CTGAN実装
CTGANのgenerator/discriminator両方にDP-SGDを統合、モード特化正規化で収束性を改善。
Deliverables
- DP-CTGAN実装
- TSTR評価レポート
- ハイパラ探索ログ
テキスト生成LoRA+DP-SGD
Llama 3.2 1BにLoRAをDP-SGDで学習、ε=8でMAUVE評価、PII直接漏洩チェックを実施。
Deliverables
- LoRAアダプタ
- MAUVEレポート
- PIIチェック結果
Accountantダッシュボード
Streamlitでε残量・学習ジョブ・TSTR結果を一覧表示するアカウンタントUIを構築。
Deliverables
- Streamlitダッシュボード
- Presidio統合
- 社内SDK v0.1
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配布。
Who built it
Roles
- プライバシーMLリサーチャ(代表)
- 評価・ダッシュボード担当(業務委託)
Tools & Platforms
Other