什么是合成数据?

合成数据是指由计算机算法人工生成的信息,而不是从实际事件中收集的信息。您可以将其视为人工智能 (AI) 的飞行模拟器。就像飞行员在模拟驾驶舱中学习飞行,而无需冒着损坏真飞机的风险一样,AI 模型也可以使用模拟数据来学习识别模式,而无需冒着泄露用户隐私的风险。

关键区别在于,合成数据模仿真实数据的统计属性(如平均值、相关性和分布),但不包含任何关于真实人员的可识别信息。它看起来和行为方式都与真人无异,但特定记录的创建过程中没有涉及任何真人。

如何生成合成数据?

生成合成数据不仅仅是复制和粘贴。它涉及使用先进的机器学习模型来理解真实数据的“形状”,然后创建符合该形状的全新原创样本。

  • 工程师通常使用生成模型来完成这项工作。生成对抗网络 (GAN)、变体自动编码器 (VAE) 和 diffusion 模型等技术会分析真实数据集,以了解其隐藏模式。一旦模型学习了这些模式,它就可以输出无限数量的新假样本,这些样本在统计上与原始样本集相同。
  • 另一种常见的方法是模拟。这种方法在机器人和自动驾驶等行业很受欢迎。开发者使用物理引擎(类似于电子游戏中使用的物理引擎)来创建虚拟世界。在这些世界中,他们可以通过模拟场景(例如汽车在雨中城市行驶或机器人手臂拾取盒子)来生成数据,而无需使用实体摄像头或传感器。

合成数据的类型

并非所有合成数据都具有相同的价值。根据您对隐私保护和准确性的不同需求,您可以选择不同的类型。

这些数据完全是从头生成的。它不包含原始用户数据,这意味着合成记录与真实人员之间不存在一对一的映射关系。由于它不涉及任何特定个人,因此可以提供最高级别的隐私保护。不过,这需要严格的验证,以确保它仍然足够准确,可以用于训练 AI。

有时,您需要保留一些真实数据,才能使数据集有用。部分合成数据是指使用真实数据集,仅将敏感部分(如姓名、社会保障号码或地址)替换为合成值。其余数据保持不变。这种方法在隐私保护和实用性之间取得了平衡,但与完全合成的数据相比,重标识风险略高。

这种方法将真实记录和合成记录混合在一起,创建了一个“超集”数据。它通常用于丰富较小的真实数据集。例如,如果您有大量关于常规银行交易的数据,但关于欺诈的数据却很少,则可以生成合成欺诈记录,并将其与真实记录混合在一起。这有助于“上采样”罕见事件,以便 AI 模型有足够的示例可供学习。

合成数据与真实数据

真实数据是准确性的标准,但收集成本可能很高,而且往往杂乱无章或不完整,并受到 GDPR 或 HIPAA 等隐私法的严格限制。收集真实世界的数据也可能需要数月或数年时间。

另一方面,合成数据可以以较低的成本进行扩缩。您可以在数小时内生成数百万条记录。它经过完美标记(因为是计算机创建的,所以它确切地知道自己创建了什么),并且从设计上就符合隐私保护要求。此外,合成数据可以进行平衡处理,以消除真实数据集中常见的自然偏差。

特性

真实数据

合成数据

费用

更高(收集和加标签)

较低(仅计算能力)

速度

较慢(数月/数年)

更快(小时/天)

隐私权

更受限(PII 风险)

更安全(不含 PII)

准确率

较高(反映现实)

可变(取决于模型质量)

特性

真实数据

合成数据

费用

更高(收集和加标签)

较低(仅计算能力)

速度

较慢(数月/数年)

更快(小时/天)

隐私权

更受限(PII 风险)

更安全(不含 PII)

准确率

较高(反映现实)

可变(取决于模型质量)

合成数据的行业应用场景

自动驾驶汽车和机器人技术严重依赖合成数据,因为收集真实世界的信息速度很慢。即使经过数百万英里的道路测试,实际测试也不可能涵盖每一种独特的事故场景。通过生成虚拟驾驶环境,工程师可以训练汽车在数十亿英里的模拟道路上行驶,并测试汽车在危险情况下的表现,例如儿童在没有物理风险的情况下跑到街上。

医疗数据非常私密,难以共享。合成数据让研究人员能够创建模仿真实疾病统计模式的虚假患者记录。这使医院能够共享数据,用于癌症研究或罕见病研究,而不会违反健康保险流通与责任法案 (HIPAA)。ManageEngine 的一项调查发现,81% 的医疗保健组织现在都在使用合成数据,以便在管理隐私问题时进行创新。

检测欺诈行为非常困难,因为实际的欺诈行为很少发生。这可能会使 AI 难以了解欺诈行为的特征。银行可能会使用合成数据来生成数千种欺诈性交易模式。这种“上采样”有助于训练 AI 来发现可疑活动,而无需暴露真实的客户财务历史记录。

开发者需要大量数据来测试应用在压力下的表现。这称为“测试数据管理”。DevOps 团队无需使用真实生产数据库的危险副本,即可在预演环境中填充数百万个合成用户。这使他们能够安全地对新应用更新进行压力测试,并确保系统能够处理高流量。

合成数据的优势

隐私权与合规性

合成数据可大大降低暴露个人身份信息 (PII) 的风险。由于这些数据不涉及任何真实的人,因此通常不属于 GDPR 和 CCPA 等严格法规的管辖范围。这让全球团队可以更轻松地跨国界自由共享数据集,而无需克服复杂的法律障碍。

费用和速度

使用合成数据可以显著加快“数据到 AI”的生命周期。您无需聘请人员手动为图片添加标签,也无需等待现场收集数据。这种效率可以降低成本并加快开发速度。

偏见缓解

真实世界的数据往往反映了真实世界的偏见。如果用历史招聘数据训练 AI,它可能会学会偏好某个特定人群而非其他人群。合成数据让开发者能够人为地纠正这些不平衡。您可以为代表性不足的群体生成更多数据(例如确保 AI 平等地识别所有肤色或性别),从而创建更公平、更强大的模型。

极端情况测试

有些场景过于危险或罕见,无法在现实生活中进行测试。您不可能为了测试安全气囊传感器的工作原理而撞毁一千辆真车。利用合成数据,您可以安全地创建这些“极端情况”。您可以模拟罕见事件,例如凤凰城的暴风雪或特定的发动机故障,以便针对真实数据中占比不到 0.01% 但对安全至关重要的情况训练系统。

在 Gemini Enterprise Agent Platform 上使用 Gemini 生成合成表格数据

对于开发者来说,生成中小型合成数据集(例如用于单元测试或简单演示)的最快方法通常不是训练复杂的 GAN,而是利用大语言模型 (LLM) 的生成功能。这些功能现已统一在 Gemini Enterprise Agent Platform(以前称为 Vertex AI)下。该平台提供了一个全面的环境,用于构建、部署和扩缩机器学习模型,包括访问 Gemini 等强大的模型。


在本演示中,我们将使用 Agent Platform SDK(原 Vertex AI SDK)for Python 和 Gemini 从头开始生成合成的“客户交易”数据集。假设您是一名开发者,正在构建一个金融技术信息中心。您需要 50 行“交易数据”来测试前端。

您需要以下特定字段:transaction_id、timestampamount、merchant_categoryis_fraud

第 1 步:设置环境

首先,确保您已在 Python 环境中安装 Agent Platform SDK。虽然该平台已更名,但 Python 软件包仍为 google-cloud-aiplatform

  • Bash
正在加载...

第 2 步:初始化 Agent Platform SDK

导入库并使用项目详细信息对其进行初始化。这是在 Gemini Enterprise Agent Platform 中通过 Agent Platform SDK 使用 Gemini 模型的标准设置。

  • Python
正在加载...

第 3 步:精心设计结构化提示

LLM 生成的合成数据的质量很大程度上取决于您的提示。您必须明确指定架构、限制条件(例如,不允许负数)和输出格式(CSV 或 JSON)。在 Gemini Enterprise Agent Platform 上使用 Gemini 模型时,清晰具体的说明是有效提示工程的关键。

  • Python
正在加载...

生成并解析数据

将提示发送给模型,并将回答直接加载到 Pandas DataFrame 中。generate_content 方法是 Agent Platform SDK 的一部分。

  • Python
正在加载...

当您只需要“合理”的数据来测试软件功能时,使用 Gemini 等通用 LLM 生成合成表格数据通常比训练自定义统计模型(如 VAE)更快。

  • 速度:您可以在几秒钟内获得数据
  • 灵活性:只需修改文本提示即可更改架构
  • 逻辑:您可以要求模型融入复杂的逻辑(例如,“如果商家是‘旅游’,金额必须超过 100 美元”),这对于简单的随机数生成器来说很难做到

*企业规模注意事项:如果您需要生成数百万行数据,以在统计特征上克隆现有海量专用数据集,则可能会从简单的 LLM 提示转向使用与 Gretel.ai 或 MOSTLY AI 等专业合作伙伴集成的 Gemini Enterprise Agent Platform(以前称为 Vertex AI Pipelines),这些合作伙伴的相关服务可直接在 Google Cloud Marketplace 中获取。这些高级工作流可以在更广泛的 Gemini Enterprise Agent Platform 中进行编排和管理。

利用 Google Cloud 解决业务难题

新客户可获得 $300 赠金,用于抵扣 Google Cloud 的费用。

更进一步

获享 $300 赠金以及 20 多种提供“始终免费”用量的产品,开始在 Google Cloud 上构建项目。

Google Cloud