建立以数据为中心的人工智能已成为未来趋势。一年多前,吴恩达发起了一场主题为“数据是人工智能的粮食”的活动。几个月前,谷歌AI负责人JeffDean将数据的分析和管理列为2021年后机器学习的一大趋势。不久前,AI明星初创公司Huggingface宣布计划打造交互式数据分析平台。近日,CMU联合国大、复旦、耶鲁等高校发布了DataLab:一个统一的文本数据分析、处理、诊断和可视化平台。论文链接:https://arxiv.org/pdf/2202.12875.pdf平台访问:http://datalab.nlpedia.ai/SDK地址:https://github.com/ExpressAI/DataLab文档地址:https://expressai.github.io/DataLab/根据已发布的技术文档,我们看到DataLab的背景源于以下问题:“如果Matlab统一“数值”计算和分析,那么谁将扮演“数据”处理的角色和分析一个统一的角色?”与“值”相比,数据的复杂性表现在它往往具有不同的模态、不同的结构、不同的处理操作。种种因素导致数据存储和操作难以标准化,更不用说建立统一的数据分析平台了。所以即使现在有更好的TensorFlow(TFDS)[1]和HuggingFace(HFDS)[2]数据集平台,也只是完成了标准化的数据加载;即使是集结了数十所高校数百名研究人员完成的Xl-Augmenter平台,也只是一次标注数据增强的尝试;即使Sorkel联手HuggingFace、斯坦福等机构提出PromptSource[3],也只是对数据提示(DataPrompting)操作的标准化尝试。这些不同的数据运营平台的建设是非常有价值的,但是平台之间切换的成本依然存在。这里应该有一个“platformofplatforms”的概念,以数据为中心,实现各种操作接口的标准化,让用户以后的数据处理只有一个入口,这就是DataLab的作用期待发挥。研究团队前段时间刚刚提出了以PromptEngineering为核心的NLP开发第四范式。那我们看看DataLab是干什么的,对PromptEngineering有帮助吗?下面的图1是DATALAB功能的概览。DataLab的特点如下:覆盖面广:DataLab目前覆盖了大部分NLP任务,包括1700多个数据集和通过数据变形得到的3500多个数据集;可理解性:DataLab是大量的数据集(728个数据集,139,570,057个样本),可以定制来表征数据集(例如性别偏见)并进行计算,这可以帮助研究人员和开发人员在使用数据集之前更好地理解它们,并帮助数据创建者提高数据质量(例如消除伪影、偏差等);统一:DataLab的主要目标之一是将不同的数据分析和处理操作统一到一个平台和SDK中;交互性:DataLab让数据查看、评估、处理更加高效便捷(实时搜索、比较、过滤、生成数据集诊断报告)。DataLab还可以作为一个现成的标注平台,用户可以在其中贡献一些缺失但重要的众包信息;启发:DataLab对数据集的全局观可以启发新的研究方向,比如通过跟踪数据集的全局发展,确定未来的发展方向。1.数据特征的细粒度分析细粒度分析是指我们从多个不同的角度理解一个数据集的特征。下面的图2显示了SST数据集(自然语言处理中用于情感分析的流行数据集)中的样本分布按不同的文本长度划分。图2:SST数据集样本按不同文本长度划分的统计分布图使用DataLab,用户可以选择任意支持的分析角度,实现一键式操作。DataLab还支持数据集级别的整体分析,欢迎登录网站试用。2、数据集中的“偏差”DataLab可以帮助用户一键识别数据集中的“偏差”。目前支持三种类型的分析:genderbiashatespeechartifacts如下图3所示,我们使用DataLab可以很容易地在这个著名的数据集(SST2)中发现明显的性别偏见问题:图3:SST2数据集的性别偏见分布再举个例子,使用DataLab,我们可以轻松重现Gururangan等人[4]发现的众所周知的伪影现象在SNLI数据集(自然语言处理中用于推理两个句子之间关系的流行数据集)上:假设越长的句子对(premise-hypothesis)通常是“中性”关系,如下图4所示。图4:SNLI数据集的伪影现象3.Prompt分析PromptLearning受到了相当多的关注,因为它可以更好地利用预训练语言模型中的知识,从而有利于许多NLP任务。在实践中什么是好的“提示”是一个具有挑战性的问题。下面的图5是为DataLab定义的Prompt示例。(a)提示的定义(b)属性;(c)同一个数据集Prompts在不同PLMs上的结果DataLab目前不仅支持3000多个设计的prompts(包括公布的2000多个PromptSources),涵盖了上百个数据集,并且针对Prompt设计了一个模式,使得每个提示都可以用许多不同的角度来描述。图5是DataLab定义的Prompt示例,包括Prompt特征(如长度、形状等)、属性(如模板、答案等)、支持的预训练语言模型及其在不同预训练中的结果-训练有素的语言模型(图5右下角)。这种设计不仅可以帮助研究人员更好地设计提示,还可以分析出什么是好的提示。4.比较两个数据集之间的差异了解两个数据集之间的详细差异在进行研究时在很多方面都很重要,例如,它可以帮助我们解释在不同数据集上训练的模型的不同行为。然而,分析它们的差异是一项繁琐的工作,通常需要设计不同的特征并在不同的数据集上计算它们。DataLab自动执行此过程,并帮助研究人员以非常方便的方式执行成对数据集分析。我们选取了两个文本摘要的数据集进行测试,接下来我们将对两个数据集进行综合比较,如下雷达图所示。可以清楚地描述两个数据集的各自特征。5.数据集推荐我们往往有一个很好的想法,但不知道应该选择哪些合适的数据集。随着越来越多的数据集被提出,如何为给定的应用程序选择正确的数据集变得更加困难。困难。DataLab试图在这方面提供帮助。具体来说,给定一个研究思路的描述,DataLab可以根据语义搜索更合适的数据集,并给出排名分数。我们用一个例子来测试比较DataLab和GoogleDatasetSearch:我们发现前者可以更准确地找到符合描述的数据集,而GoogleDatasetSearch直接失败。下图6:DataLab和GoogleDatasetSearch针对相同学术思想推荐的数据集。(a)DataLab针对给定想法推荐的数据集的结果页面。(b)GoogleDatasetSearch是给定idea的搜索结果(不返回任何结果)6.全局视角分析(1)LanguagemapLanguagemap用来分析哪些语言被研究较多,哪些语言研究较少从地理角度进行研究,从而告诉我们未来应该更加关注哪些语言数据集。如下图7所示,颜色越红,表示该国语言的数据集被研究的越多。我们可以很容易地看出哪些国家语言数据集丰富(红色),相比之下,中文数据集相对稀缺(橙色)。图7:语言图谱(2)谁是最好的NLP模型?以数据集为单位,根据依赖于它的模型的性能排序,以及对应的实现机构,我们可以对不同机构设计的NLP系统的性能进行排序,判断不同的NLP任务组织比较擅长,如下图8所示。图8:全球机构对NLP系统性能的排名展望未来,我们希望平台的统一将使利用集体智慧变得更加容易。未来,DataLab将继续向多个方向扩展:探索和包含更多不同的数据类型。目前,DataLab只包含文本类型的数据集。随着进一步优化,DataLab将逐步支持其他领域的不同类型的数据集,如图像、多模态、声音等;展开更多的操作。目前DataLab包括预处理、提示、数据编辑等操作。随着不同任务系统的推出,DataLab有望探索系统组合等技术,实现高精度的数据自动化标注,从而在一定程度上降低用户数据标注的成本,推动该领域更好的发展。不同平台的统一使得用户可以快速找到相关数据集(数据集推荐)、定位合适的数据集(数据可理解性)、快速处理数据(预处理、提示等),从而使学术研究在一定程度上变得更加容易。
