使用生成式人工智能来改进软件测试

生成式人工智能因其能够创建文本和图像而受到广泛关注。但是,这些媒体只代表了当今社会中大量数据的一小部分。每当患者经历医疗系统、风暴影响航班或人与软件应用程序进行交互时,都会生成数据。

使用生成式人工智能在这些场景中创建逼真的合成数据可以帮助组织更有效地治疗患者、改变飞行路线或改进软件平台,特别是在真实世界数据有限或敏感的情况下。

过去三年,麻省理工学院的分支机构DataCebo提供了一种名为Synthetic Data Vault的生成软件系统,帮助组织创建合成数据,用于测试软件应用程序和训练机器学习模型等用途。

Synthetic Data Vault(SDV)已经被下载超过100万次,有超过1万名数据科学家使用这个开源库来生成合成表格数据。创始人——首席研究科学家Kalyan Veeramachaneni和校友Neha Patki ’15,SM ’16——认为公司的成功归功于SDV革新软件测试的能力。

SDV走红

2016年,Veeramachaneni的Data to AI实验室推出了一套开源生成式人工智能工具套件,帮助组织创建与真实数据统计特性相匹配的合成数据。

公司可以使用合成数据代替程序中的敏感信息,同时保留数据点之间的统计关系。公司还可以使用合成数据通过模拟来运行新软件,以查看其在发布之前的性能。

Veeramachaneni的团队遇到了这个问题,因为他们正在与希望共享其数据进行研究的公司合作。

“麻省理工学院帮助你看到所有这些不同的用例,”Patki解释道。“你与金融公司和医疗保健公司合作,所有这些项目都有助于制定跨行业的解决方案。”

2020年,研究人员成立了DataCebo,为大型组织构建更多SDV功能。此后,使用案例既令人印象深刻又多样。

例如,使用DataCebo的新飞行模拟器,航空公司可以以无法仅仅使用历史数据实现的方式规划罕见的天气事件。在另一个应用中,SDV用户合成了医疗记录,以预测囊性纤维化患者的健康结果。挪威的一个团队最近使用SDV创建了合成学生数据,以评估各种招生政策是否公正和无偏。

2021年,数据科学平台Kaggle举办了一场数据科学家竞赛,使用SDV创建合成数据集,以避免使用专有数据。大约有3万名数据科学家参与,根据公司的真实数据构建解决方案并预测结果。

随着DataCebo的发展,它始终忠于其麻省理工学院的根源:该公司的所有员工都是麻省理工学院的校友。

加速软件测试

尽管他们的开源工具被用于各种用例,但该公司专注于在软件测试方面扩大影响力。

“你需要数据来测试这些软件应用程序,”Veeramachaneni说。“传统上,开发人员会手动编写脚本来创建合成数据。使用SDV创建的生成模型,您可以从收集的数据样本中学习,然后采样大量合成数据(具有与真实数据相同的属性),或者创建特定的场景和边缘情况,并使用数据来测试您的应用程序。”

例如,如果一家银行想要测试一个设计用于拒绝没有资金的账户转账的程序,它将不得不同时模拟许多账户进行交易。使用手动创建的数据进行这样的操作将需要很长时间。使用DataCebo的生成模型,客户可以创建任何他们想要测试的边缘情况。

“在某种程度上,行业通常会拥有某种程度上敏感的数据,”Patki说。“通常,当您处理敏感数据的领域时,您会涉及到法规,并且即使没有法律法规,公司也有责任谨慎地确定谁在何时获得访问权限。因此,从隐私角度来看,合成数据总是更好的选择。”

扩展合成数据

Veeramachaneni认为DataCebo正在推进他们所称的合成企业数据领域的发展,即从大型公司的软件应用程序中生成的用户行为数据。

“这种类型的企业数据是复杂的,与语言数据不同,它没有普遍的可用性,”Veeramachaneni说。“当人们使用我们公开可用的软件并报告它是否适用于某种模式时,我们学到了很多这些独特的模式,这使我们能够改进我们的算法。从某种角度来看,我们正在构建这些复杂模式的语料库,对于语言和图像来说,这是容易获得的。”

DataCebo还最近发布了一些提高SDV实用性的功能,包括用于评估生成数据的“真实性”的工具,称为SDMetrics库,以及用于比较模型性能的SDGym

“这是确保组织信任这些新数据的关键,”Veeramachaneni说。“[我们的工具提供]可编程的合成数据,这意味着我们允许企业插入他们的特定见解和直觉,以构建更透明的模型。”

随着各行各业的公司纷纷采用人工智能和其他数据科学工具,DataCebo最终帮助他们以更透明和负责任的方式实现这一目标。

“在未来几年里,来自生成模型的合成数据将改变所有数据工作,”Veeramachaneni说。“我们相信90%的企业操作可以使用合成数据完成。”