0- 前言
Gartner 预测(Fake It to Make It: Companies Beef Up AI Models with Synthetic Data):"到 2024 年,60% 的数据用于开发 AI 和分析项目将综合产生", Gartner 指出,许多公司已经开始使用合成数据来训练他们的AI模型填补真实数据的不足,同时应对数据稀缺和隐私问题;2023年11 月发表在《自然》杂志上的研究也表明使用合成数据替代真实医疗保健数据的有效性。
在本文中,我们从合成数据角度入手,了解其中的一个具体领域:表格数据合成 与相关组件。
1- 何为合成数据?何为表格合成数据?
1.1 合成数据(Synthetic Data)
合成数据(Synthetic Data)是通过算法、统计模型或生成人工智生成的数据,而非真实的观测数据。 为了生成一组合成数据,需要通过算法分析原始数据从而得到原始数据中的特征分布、特征之间的关联以及特征规律等要素,再进行生成。总的来说,合成数据具有以下优势:
- 可控性强:可根据需要控制数据的生成规则、分布特征等 ,控制合成数据部分特征;
- 数据量大:可快速生成大量的数据;
- 隐私保护:不涉及真实个人信息,避免隐私泄露的潜在风险。
1.2 表格合成数据(Taublar Synthetic Data)
表格合成数据是结构化的数据,具有明确的列和行,适用于需要处理大量结构化数据的情况。相比之下,其他合成数据可能是非结构化的文本、图像或音频数据,处理起来更为复杂。
表格合成数据可以更容易地模拟真实世界中的业务场景和数据分布。实际业务中,许多公司需要处理大量的结构化数据,如销售数据、客户信息、财务报表等。通过使用表格合成数据,这些公司可以更快地构建和训练AI模型。
2- 为何使用合成数据?安全、成本与效果!
在数据驱动的时代,真实数据在数据分析应用中的价值和效果是显著的,但收集真实数据不仅费时费力,而且成本高昂。另外,使用真实数据进行分析并公开结果可能引发数据泄露问题,甚至法律纠纷等问题。即使数据经过脱敏处理,现代攻击手段如数据推断攻击、数据重构攻击等仍可能恢复出敏感信息。
来自哈工大(深圳)数据安全研究院的研究人员注意到,通过使用合成数据就是一种规避手段。在某些情况下,它比现实世界中的同类产品更安全、更便宜、同样有效:
- 更安全 合成数据不存在现实世界数据的错误或隐私泄漏问题,可以自由共享且不会损害用户隐私
- 更便宜:合成数据还可以定制化地按照规则进行大规模生成。
- 同样有效:来自数据安全研究院的研究人员创建了一组开源组件(合成数据生成器,SDG),并由研究院的数据科学家、工程师研发了一系列配套的算法,研究人员发现,在超过80%的实际测试中,合成数据可以媲美真实数据的效果。
3- 表格合成数据的典型应用场景
合成数据的有以下典型应用场景:
- 数据集不平衡:通过控制合成数据的标签、特征比例,可以有效解决数据不平衡问题;
- 数据脱敏:传统数据脱敏场景中,采用遮盖方法屏蔽关键信息,会显著降低数据质量,且仍存在隐私泄漏风险,使用数据合成技术替换脱敏技术,可以有效提升数据质量,并规避隐私风险。
- 政务数据开放:和数据脱敏场景类似,合成数据可以最大限度避免数据开放所带来的隐私泄漏风险。
- AI 模型训练:合成数据已经大量用于AI模型训练,用于应对数据的不足,数据稀缺,隐私等问题。
- 业务 系统测试:合成数据可以模拟真实数据的情况,帮助测试人员在不接触真实数据的情况下进行测试,提高测试效率和准确性。
4- 专用于表格数据合成的开源组件
合成数据生成器(Synthetic Data Generator,SDG)是由哈工大(深圳)刘川意教授团队开源的一款专注于结构化表格数据快速生成的组件。目前在GitHub上关注度已有1.8K stars,并已有多位Contributor。支持多种模型,并针对执行速度、内存等方面进行专门优化,例如:合成数据生成器处理千万级别数据,这是当前其他数据合成组件做不到的。
此外,合成数据生成器还集成了使用大模型的仿真技术生成模型,通过学习原始数据或者表格的元数据,LLM模型能够生成符合自然世界基本特点的数据表,与现有模型相比,这种方法支持无原始数据的合成数据生成,不需要进行繁琐的特征工程,仅凭原始数据表格的元数据(metadata)来快速生成数据表,节省了大量的时间和人力成本,其示例如下图所示:
此外,合成数据生成器还支持表外特征的自动推断,通过学习数据表的元数据和用户提供的表外特征信息,大语言模型根据数据表的元数据和其所掌握的知识,生成高质量的表外特征数据,例子如下:
合成数据生成器团队还将持续维护组件,保持对工业界、学术界的最新情况追踪,适时增加新的模型;同时会根据Issue 以及实际业务需求情况,持续添加新特性以满足业务要求。下一步,团队将进一步推出基于大模型微调的数据合成模型。SDG使用Apache-2.0开源协议,并设有微信技术交流群和 Slack 交流群,我们欢迎开发者进行使用、反馈,提出建议:
- 项目源码:github.com/hitsz-ids/s...
- 项目网站:sdg.idslab.io