LogoLogo
Go to Syntho.AI
French (AI Translated)
French (AI Translated)
  • Welcome to Syntho
  • Vue d'ensemble
    • About Syntho
    • Get started
      • Introduction to data generation methods
      • Use Case: AI-generated synthetic data
      • Use Case: AI-generated synthetic time series data
      • Use Case: Database de-identification
    • Frequently asked questions
  • Setup Workspaces
    • View workspaces
    • Create a workspace
      • Connect to a database
        • PostgreSQL
        • MySQL / MariaDB
        • Oracle
        • Microsoft SQL Server
        • DB2
        • Databricks
        • Hive
        • SAP Sybase
        • Azure Data Lake Storage (ADLS)
        • Amazon Simple Storage Service (S3)
    • Edit a workspace
    • Delete a workspace
    • Share a workspace
    • Transfer workspace ownership
  • Configurer une tâche de génération de données
    • Configure table settings
    • Configure column settings
      • AI-powered generation
        • Sequence model
          • Prepare your sequence data
      • Mockers
        • Consistent mapping
        • Supported languages
      • Duplicate
      • Exclude
      • Hashing
      • Calculated columns
      • Primary Key / Foreign Key
    • Manage personally identifiable information (PII)
      • Discover and de-identify PII columns
        • Identify PII columns manually
        • Automatic PII discovery with PII scanner
      • Remove columns from PII list
      • Automatic PII discovery and de-identification in free text columns
      • Supported PII & PHI entities
    • Manage foreign keys
      • Foreign key inheritance
      • Add virtual foreign keys
        • Add virtual foreign keys
        • Use foreign key scanner
        • Import foreign keys via JSON
        • Export foreign keys via JSON
      • Delete foreign keys
      • Circular foreign key references
    • Validate and Synchronize workspace
    • View and adjust generation settings
    • Table relationships
      • Verify foreign keys
      • Synthesize individual tables with automatic key matching
      • De-identify PII columns
  • Déployer Syntho
    • Introduction
      • Syntho architecture
      • Requirements
        • Requirements for Docker deployments
        • Requirements for Kubernetes deployments
      • Access Docker images
        • Using internet
        • Without internet
    • Deploy Syntho using Docker
      • Preparations
      • Deploy using Docker Compose
      • Run the application
      • Manually saving logs
    • Deploy Syntho using Kubernetes
      • Preparations
      • Deploy Ray using Helm
        • Troubleshooting
      • Deploy Syntho using Helm
      • Validate the deployment
      • Troubleshooting
      • Upgrading the applications
    • Manage users and access
      • Single Sign-On (SSO) in Azure
      • Manage admin users
      • Manage non-admin users
    • Logs and monitoring
  • Sous-ensemble
    • What is subsetting
    • Verify foreign keys
    • Configure subsetting
  • Syntho API
    • Syntho REST API
Powered by GitBook
On this page
  • Conditions préalables
  • Préparation des données
  • Configuration des paramètres du tableau
  • Protection des catégories rares
  • PII scanner et Mockers (Facultatif)
  • PII scanner
  • Mockers
  • Paramètres avancés du générateur
  • Démarrer le processus de génération des données
  • Paramètres du modèle
  • Troncature des tableaux avant chaque nouvelle génération de données
  • Évaluation

Was this helpful?

  1. Vue d'ensemble
  2. Get started

Use Case: AI-generated synthetic data

Ce guide fournit les procédures étape par étape pour les données synthétiques générées par l'IA pour une seule table d'entité. synthétiques générées par l'IA pour une seule table d'entités.

PreviousIntroduction to data generation methodsNextUse Case: AI-generated synthetic time series data

Last updated 10 months ago

Was this helpful?

Le diagramme ci-dessous illustre un flux de travail pour les données synthétiques générées par l'IA. Des informations détaillées sur chaque étape du diagramme sont fournies tout au long de cette page.

Flux de travail du processus de données synthétiques générées par l'IA

Avant de commencer le cas d'utilisation des données synthétiques générées par l'IA, consultez la vidéo ci-dessous qui fournit une brève introduction aux méthodes de génération de données.

Pour ce cas d'utilisation clé, une seule table, nommée censusqui contient des données de recensement, doit être synthétisé à l'aide de la génération de Syntho, alimentée par l'IA. La confidentialité maximale, ainsi que la génération de données hautement réalistes qui reflètent statistiquement l'ensemble de données d'origine, sont cruciales pour l'IA et l'analyse. L'étape initiale consiste à créer un espace de travail dans Syntho, lié à une base de données de recensement. Une fois établi, cet espace de travail comprendra les éléments suivants census exclusivement. Les colonnes du tableau et un échantillon des données qu'il contient sont présentés ci-dessous.


Conditions préalables

  • Créer un workspace comme décrit dans le [Create a workspace(../../setup-workspaces/create-a-workspace/).

  • L'espace de travail doit consister en un source et un destination base de données. La base de données destination doit avoir exactement les mêmes tables et colonnes, mais vides, que la base de données source base de données, avec accès en écriture.

  • Aligner les types de données : Veillez à ce que les types de données des colonnes dans les bases de données source et de destination représentent correctement leur contenu. Par exemple, date Les colonnes doivent être du type Date, integer les colonnes de type Integeret decimal les colonnes de type Decimal/Float.


Préparation des données

Pour la génération de données synthétiques par l'IA, assurez-vous que vos données sont aptes à être synthétisées. Syntho s'attend à ce que vos données soient stockées dans un fichier de type entity table qui respecte des lignes directrices spécifiques :

  1. Maintenir un minimum de column-to-row ratio of 1:500 pour le respect de la vie privée et la généralisation algorithmique. Avec 15 colonnes, il faut viser au moins 7 500 lignes ; notre exemple de base de données dépasse ce chiffre avec 48 842 lignes (voir l'illustration ci-dessous).

  2. Décrire chaque entité en une seule ligne, afin de garantir l'indépendance des lignes sans informations séquentielles.

  3. Utiliser generic column names pour éviter d'exposer des informations sensibles, remplacer les identifiants spécifiques des patients, comme "patient_a_médicaments", par une colonne de patients contenant les noms.

  4. Éliminer les colonnes dérivées d'autres colonnes afin d'améliorer la modélisation et la qualité des données synthétiques.

Notre exemple de tableau répond parfaitement à ces critères.

Configuration des paramètres du tableau

Pour la synthèse, placez le census sous la table synthesize le mode de la table. Bien que Syntho mette par défaut les tables dans les modes appropriés, vous pouvez changer cela par glisser-déposer.

Sous Column settings > Generation Method, sélectionner AI-powered generation pour les modèles ML de Syntho afin de synthétiser les données. C'est aussi la méthode de génération par défaut, pour toutes les tables placées sous synthesize.

Cette fonction permet de masquer les observations sensibles ou rares, telles que des professions spécifiques dans la catégorie census en les remplaçant par une valeur définie par l'utilisateur, ce qui améliore la confidentialité des données. Ajuster les rare category protection threshold et replacement value en Column settings > Encoding type > Advanced settings.

  • Rare category protection threshold: Toutes les valeurs de la colonne dont la fréquence est égale ou inférieure au seuil de protection de la catégorie rare sont automatiquement remplacées.

  • Rare category replacement value: Toutes les valeurs de la colonne dont la fréquence est égale ou inférieure au seuil de protection de la catégorie rare sont automatiquement remplacées par cette valeur de remplacement.

Par exemple, les professions apparaissant as frequently or less than 15sera remplacé par le signe astérisque ou "*". Le nombre et la valeur de remplacement sont facultatifs et peuvent être définis à la demande de l'utilisateur (voir l'illustration ci-dessous).

Optional: Avec les tableaux de données synthétiques générés par l'IA, l'étiquetage et le remplacement manuel des colonnes PII sont facultatifs.

Clarification: L'analyseur d'IIP constitue un point de départ pour la détection des IIP. Les utilisateurs doivent procéder à des examens supplémentaires pour identifier et traiter toute autre donnée sensible qui pourrait ne pas être détectée par l'analyseur.

Dans le fichier PII tabVous pouvez ajouter de nouvelles colonnes à la liste des colonnes PII, soit manuellement, soit en utilisant la fonction Syntho PII scanner. Vous avez la possibilité d'étiqueter manuellement les colonnes contenant des IIP en sélectionnant le nom de la colonne et en choisissant éventuellement un simulateur à appliquer. En cliquant sur "Confirm"La colonne est marquée comme contenant des informations confidentielles et l'opération est confirmée. mocker sélection.

Vous pouvez également procéder à la détection automatique des IIP à l'aide de l'analyseur d'IIP. Lancez une analyse pour détecter les IIP dans toutes les colonnes de la base de données à partir de l'onglet IIP de l'application Job Configuration panneau. Notez que le scanner offre à la fois Shallow et Deep modes de balayage :

  • Le mode shallow scan évalue les colonnes en utilisant des règles d'expression régulière pour identifier les informations confidentielles, optimisées pour la vitesse mais avec une précision variable.

  • La deep scan examine à la fois les métadonnées et les données contenues dans les colonnes pour une identification complète des IIP.

Dans les paramètres du travail, sous les paramètres du tableau, vous pouvez ajuster les paramètres du générateur, y compris le nombre maximum de lignes pour l'entraînement afin d'optimiser la vitesse. En laissant ce paramètre à None utilise toutes les lignes. Les Take random sample permet l'échantillonnage :

  • On: Des lignes aléatoires sont sélectionnées pour la formation.

  • Off: Les lignes supérieures de la base de données sont utilisées.

Démarrer le processus de génération des données

Pour lancer la génération de données, vous pouvez procéder comme suit :

  1. Sur l'écran Job Configuration panneau, drag le tableau correspondant sous Synthesize.

  2. Faites glisser tous les autres tableaux sous De-identify ou Exclude.

  3. Sur l'écran Job configuration sélectionner Generate.

  4. Sur l'écran Job configuration summary panneau, ajuster les paramètres de génération comme souhaité.

  5. Enfin, sélectionner Start generating.

Avant de lancer le processus de génération, vous avez la possibilité de modifier les paramètres du modèle. En voici un aperçu :

  • Read batch size: Le nombre de lignes lues dans chaque table source par lot.

  • Write batch size: Le nombre de lignes insérées dans chaque table de destination par lot.

  • N connections: Spécifie le nombre de connexions.

Troncature des tableaux avant chaque nouvelle génération de données

Les utilisateurs doivent manuellement TRUNCATE leurs tables dans les DESTINATION avant de lancer chaque nouvelle tâche de génération de données. Si la troncature est entravée par des contraintes existantes, celles-ci doivent être temporairement désactivées avant la troncature, puis réactivées par la suite. Par exemple, pour faciliter le processus de troncation lorsque des contraintes de clés étrangères l'empêchent, utilisez les commandes SQL suivantes : Tout d'abord, désactivez les contraintes en exécutant SET FOREIGN_KEY_CHECKS = 0;, puis TRUNCATE la table, et enfin, ré-activer les contraintes avec SET FOREIGN_KEY_CHECKS = 1;. Cette séquence permet de s'assurer que les tables sont correctement préparées pour la génération de données sans violation des contraintes.

Évaluation

Dans le carnet ci-dessous, nous comparons des données de démonstration réelles et synthétiques en utilisant SDMetrics basé sur le carnet original de SDMetrics. Vous trouverez également un rapport partageable, que vous pouvez utiliser pour découvrir des informations et créer des graphiques visuels.

et (Facultatif)

Vous pouvez utiliser les simulateurs pour remplacer toutes les colonnes PII. Si ce n'est pas le cas, ces colonnes PII seront traitées comme des colonnes catégorielles et traitées par la fonction "" de Syntho.

Paramètres du modèle

est un Python bibliothèque conçue pour évaluer les données synthétiques tabulaires afin de déterminer dans quelle mesure elles imitent les propriétés mathématiques des données réelles, ce que l'on appelle la fidélité des données synthétiques, par le biais d'une évaluation sélective des métriques, d'une explication détaillée des résultats, d'une visualisation des scores et de capacités de partage des rapports.

Pour obtenir des métriques et des informations complètes, veuillez consulter la documentation SDMetrics en cliquant sur ce .

Protection des catégories rares
PII scanner
Mockers
PII scanner
Mockers
Paramètres avancés du générateur
Paramètres du modèle
SDMetrics
open-source
lien
Rare category protection
Brève introduction aux méthodes de génération de données
73KB
SDV-evaluation-notebook-metrics.ipynb
Jupyter Notebook
Recensement du tableau
Calcul des lignes
Recensement des tableaux sous Synthesize
Génération alimentée par l'IA
Colonne occupation
Protection des catégories rares
Etiquetage PII manuel
Étiquetage automatique des IIP
Protection des catégories rares
Préparation des données
Conditions préalables pour les données synthétiques générées par l'IA
Configurer les paramètres de la table
Scanneur d'IIP et simulateurs
Démarrer un processus de génération de données