SDG is a specialized framework designed to generate high-quality structured tabular data.
SDG is a specialized framework designed to generate high-quality structured tabular data.
The Synthetic Data Generator (SDG) is a specialized framework designed to generate high-quality structured tabular data.
Synthetic data does not contain any sensitive information, yet it retains the essential characteristics of the original data, making it exempt from privacy regulations such as GDPR and ADPPA.
High-quality synthetic data can be safely utilized across various domains including data sharing, model training and debugging, system development and testing, etc.
We are excited to have you here and look forward to your contributions, get started with the project through this Contributing Overview Guide!
Our current key achievements and timelines are as follows:
Nov 21, 2024: 1) Model Integration - We've integrated the GaussianCopula model into our Data Processor System. Check out the code example in this PR; 2) Synthetic Quality - We implemented automatic detection of data column relationships and allowed for relationship specification, improved the quality of synthetic data(Code Example); 3) Performance Enhancement - We significantly reduced the memory usage of GaussianCopula when handling discrete data, enabling training on thousands of categorical data entries with a 2C4G setup!
May 30, 2024: The Data Processor module was officially merged. This module will: 1) help SDG convert the format of some data columns (such as Datetime columns) before feeded into the model (so as to avoid being treated as discrete types), and reversely convert the model-generated data into the original format; 2) perform more customized pre-processing and post-processing on various data types; 3) easily deal with problems such as null values in the original data; 4) support the plug-in system.
Feb 20, 2024: a single-table data synthesis model based on LLM is included, view colab example: LLM: Data Synthesis and LLM: Off-table Feature Inference.
Feb 7, 2024: We improved sdgx.data_models.metadata to support metadata information describing for single tables and multiple tables, support multiple data types, support automatic data type inference. view colab example: SDG Single-Table Metadata。
Dec 20, 2023: v0.1.0 released, a CTGAN model that supports billions of data processing capabilities is included, view our benchmark against SDV, where SDG achieved less memory consumption and avoided crashing during training. For specific use, view colab example: Billion-Level-Data supported CTGAN.
Aug 10, 2023: First line of SDG code committed.
For a long time, LLM has been used to understand and generate various types of data. In fact, LLM also has certain capabilities in tabular data generation. Also, it has some abilities that cannot be achieved by traditional (based on GAN methods or statistical methods) .
Our sdgx.models.LLM.single_table.gpt.SingleTableGPTModel implements two new features:
No training data is required, synthetic data can be generated based on metadata data, view in our colab example.
Infer new column data based on the existing data in the table and the knowledge mastered by LLM, view in our colab example.
You can use pre-built images to quickly experience the latest features.
docker pull idsteam/sdgx:latest
pip install sdgx
Use SDG by installing it through the source code.
git clone [email protected]:hitsz-ids/synthetic-data-generator.git
pip install .
# Or install from git
pip install git+https://github.com/hitsz-ids/synthetic-data-generator.git
…
Real data are as follows:
…
Synthetic data are as follows:
…
The SDG project was initiated by Institute of Data Security, Harbin Institute of Technology. If you are interested in out project, welcome to join our community. We welcome organizations, teams, and individuals who share our commitment to data protection and security through open source:
The SDG open source project uses Apache-2.0 license, please refer to the LICENSE.
No open issues yet, or sync has not completed.