Frequently asked questions

Quelles sont les autorisations nécessaires pour déployer Syntho ?

Syntho nécessite un utilisateur administratif pour l'installation. Si vous utilisez Docker pour le déploiement, l'utilisateur a besoin sudo droits pour docker/docker-compose.

Comment dois-je provisionner mes bases de données pour la génération de données ?

La plateforme Syntho fonctionne avec des bases de données source et destination.

  • La source database stocke les données d'entrée pour votre tâche de génération de données et peut être utilisé pour la génération de données. read-only.

  • Le destination database doit avoir des tables et des colonnes vides, dont la structure est identique à celle de la base de données source la base de données. Il faut write access, car les données générées y seront écrites.

Les source et destination peuvent fonctionner sur le même serveur ou être hébergés sur des serveurs différents.

Comment Syntho gère-t-il les contraintes sur ma base de données ?

Syntho utilise les métadonnées pertinentes stockées dans votre base de données source pour générer la base de données destination de la base de données. Par exemple, les contraintes de clés étrangères sont déduites pour reproduire les relations entre les tables dans la base de données générée.

Syntho est capable de gérer des scénarios où les contraintes de la base de données destination sont soit activées, soit désactivées.

J'ai quelques tables non sensibles que je souhaite encore inclure dans ma base de données de destination. Que dois-je faire de ces tables ?

Les tables non sensibles (par exemple 'definition tablestelles que les tables de langues ou de produits) peuvent être copiées telles quelles lors de l'écriture des données dans la base de données de destination. Cette opération peut être effectuée dans la base de données Job configuration en marquant le tableau comme De-identify.

Pour plus d'informations, visitez le site : Configure table settings > Table modes.

Combien d'enregistrements d'entraînement sont nécessaires pour la génération assistée par l'IA ?

Pour minimiser les risques d'atteinte à la vie privée et améliorer la capacité de généralisation de l'algorithme d'apprentissage, il est recommandé d'utiliser au minimum column-to-row ratio of 1:500 est recommandé. Par exemple, si votre source a 6 colonnes, il doit contenir un minimum de 3000 lignes.

Je n'ai pas encore de données. Puis-je également générer des données à partir de zéro ?

Oui. Dans certains scénarios, lorsque vous n'avez pas encore de données, vous pouvez vouloir générer des données à partir de zéro pour remplir votre base de données vide. Vous pouvez le faire en utilisant la plateforme Syntho de la manière suivante :

  1. Tout d'abord, créez une base de données source base de données et destination avec les tables et les colonnes que vous souhaitez remplir. La base de données source doit être différente de la base de données de destination.

  2. Veillez à ce que les colonnes des clés primaires et étrangères de votre source sont correctement configurés et disposent déjà d'une some key values in there.

  3. Sur l'écran Job configuration Faites glisser tous les tableaux sous De-identify.

  4. Utilisez le raccourci CTRL + SHIFT + ALT + 0 et définissez la valeur sous l'entrée "key_generation_method" à "generate".

  5. Pour chaque colonne, allez à la Column settings et sélectionnez Mocker ou Calculated Column comme méthode de génération.

  6. Configurez les Mocker et Calculated Columns les paramètres.

  7. Sélectionnez l'option number of rows à générer dans les paramètres du tableau.

  8. Enfin, sélectionnez Generate pour générer votre base de données.

Que puis-je faire pour améliorer l'utilitaire de données synthétiques ?

Il existe plusieurs façons d'améliorer l'utilité (c'est-à-dire la "qualité" ou la "fidélité") des données synthétiques générées. Voici une liste d'options possibles :

  1. Veillez à ce que vos données soient préparées conformément aux exigences de préparation des données décrites dans le [Preparing your dataLa section [.../configure-a-data-generation-job/configure-column-settings/ai-powered-generation/#preparing-your-data].

  2. Augmentez la valeur du champ Maximum rows used for training, et envisager d'inclure toutes les lignes. Si le nombre maximal de lignes utilisées pour l'apprentissage est inférieur au nombre total de lignes d'entrée, vous pouvez activer le paramètre Take random sample pour obtenir un sous-ensemble plus représentatif.

  3. Si vous devez synthétiser plusieurs tables liées, suivez les instructions et les limitations du Synthesize table relationships with entity-table ranking feature.

Puis-je également utiliser Syntho pour la dé-identification ou la pseudonymisation des données ?

Oui. En plus de la fonctionnalité principale de Syntho, qui est la synthèse, Syntho vous permet également de de-identify vos colonnes les plus sensibles. La section suivante décrit comment procéder :

Comment puis-je accélérer mes tâches de génération de données ?

La plateforme Syntho et les modèles d'IA générative de Syntho sont optimisés pour générer vos données aussi rapidement et efficacement que possible. Par exemple, la parallélisation des tâches est appliquée à chaque étape du processus de génération de données, de la lecture du fichier source jusqu'à l'écriture de la destination données.

Voici quelques conseils supplémentaires pour accélérer vos travaux de génération de données :

  1. Réduire le nombre de tables à générer.

  2. Réduisez le nombre de lignes et de colonnes à cardinalité élevée (c'est-à-dire les colonnes comportant de nombreuses valeurs distinctes) dans vos tableaux.

  3. Lorsque vous travaillez avec plusieurs tableaux, vous pouvez ajuster la Number of simultaneous connections pour permettre l'écriture en parallèle.

  4. Syntho est limité par les performances d'interrogation et d'écriture de la base de données à laquelle il est connecté. En particulier, les vitesses d'écriture des bases de données peuvent avoir un impact significatif pour certains types de bases de données lorsque les tables deviennent plus grandes. Voici quelques options pour atténuer les limitations des vitesses d'écriture des bases de données :

    1. Envisager de prendre une base de données représentative [subset ] (https://github.com/shahin-hu/Translations/blob/main/English/overview/broken-reference/README.md) de ces grands tableaux avant de procéder à la synthèse.

    2. Envisager d'écrire les données générées dans des fichiers (Parquet) dans Azure Data Lake Storage ou Amazon Simple Storage Service (S3).

    3. Augmentez l'espace Write batch size pourrait avoir un léger impact sur les vitesses d'écriture.

Comment puis-je optimiser l'utilisation de la mémoire de mon cluster ?

La plate-forme Syntho offre plusieurs fonctionnalités pour optimiser l'utilisation de la mémoire pendant la génération des données. Comprendre le fonctionnement de ces fonctionnalités peut vous aider à gérer la mémoire plus efficacement et à prévenir les problèmes tels que les erreurs de mémoire (OOM).

  1. Batch Size : Le nombre de points de données traités dans un seul lot. Une taille de lot plus importante peut augmenter la vitesse de génération des données mais nécessite plus de mémoire. Ajustez la taille du lot en fonction de la mémoire disponible dans votre cluster afin de trouver l'équilibre optimal entre les performances et l'utilisation de la mémoire.

  2. Parallel Connections (N): Ce paramètre contrôle le nombre de tables qui peuvent être lues ou écrites en parallèle. L'augmentation de N permet de traiter plusieurs tables simultanément, ce qui peut accélérer la génération de données. Ce paramètre doit donc être ajusté en fonction de la mémoire disponible et de la complexité du schéma de votre base de données (en tenant compte des relations potentielles entre les clés étrangères).

  3. Training Rows (N): Le nombre de lignes des données sources utilisées pour entraîner le modèle génératif. L'utilisation d'un plus grand nombre de lignes peut améliorer la qualité des données synthétisées, mais nécessite plus de mémoire. Surveillez l'utilisation de la mémoire et ajustez N pour éviter de dépasser les limites de mémoire.

  4. Ray Dashboard : Permet d'observer en temps réel l'utilisation de la mémoire, l'utilisation de l'unité centrale et d'autres mesures de ressources. Surveillez régulièrement le tableau de bord Ray pour suivre la consommation de mémoire et effectuer les ajustements nécessaires à la taille du lot, aux connexions parallèles et aux rangées d'entraînement.

  5. OOM Error Logs : Des erreurs telles que "Workers (tasks/actors) killed due to memory pressure (OOM)" indiquent que le cluster n'a plus de mémoire. Si vous rencontrez des erreurs OOM, réduisez la taille du lot, le nombre de connexions parallèles ou le nombre de lignes d'entraînement afin d'atténuer la pression de la mémoire.

Last updated