Umi — Generación de Datos Sintéticos con Privacidad Diferencial
Synth Umi — Synthetic Data Generation with DP-SGD
Generación de datos tabulares sintéticos bajo privacidad diferencial usando DP-SGD y Opacus. Prototipo de I+D para validación interna.
Demo en vivo
Vista previa de la pantalla real de la aplicación
プライバシー予算
生成進捗
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: parquetDesafío
Los equipos de I+D necesitaban datasets realistas para experimentación, pero los datos originales contenían PII y no podían compartirse sin garantías formales de privacidad.
Solución
Modelos generativos tabulares entrenados bajo DP-SGD (Opacus) con presupuesto ε rastreado. Métricas de utilidad (downstream accuracy) y riesgo (membership inference). Operación como laboratorio interno.
Resultados
- ε ≤ 3.0 con utilidad dentro del 92% del baseline (datos internos)
- Membership inference AUC: 0.52 (cercano a aleatorio, datos internos)
- 5 esquemas soportados en I+D interno (datos internos)
- Tiempo de generación: 1M filas en 18min (datos internos)
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
¿Interesado en un proyecto similar?
Te propondremos la mejor solución para tu negocio.
Consultar sobre tu proyecto