Croissant:面向机器学习就绪数据集的全新元数据格式

Croissant是一种专为机器学习数据集设计的元数据格式,由MLCommons社区联合开发,支持数据发现、组织及负责任AI应用,已获Kaggle、Hugging Face等平台集成,可提升ML工作流程效率。

Croissant:面向机器学习就绪数据集的全新元数据格式

2024年3月6日
Omar Benjelloun,谷歌研究软件工程师;Peter Mattson,谷歌核心ML软件工程师兼MLCommons协会主席

今天我们推出Croissant——一种面向机器学习就绪数据集的全新元数据格式。Croissant由工业界和学术界的社区协作开发,是MLCommons计划的一部分。

机器学习(ML)从业者在重用现有数据集训练模型时,常需花费大量时间理解数据、理清其组织结构或确定特征子集。这种数据表示的多样性已成为ML领域发展的根本障碍。ML数据集涵盖文本、结构化数据、图像、音频和视频等多种内容类型,即使内容类型相同,每个数据集的文件和数据格式也存在独特的临时性安排。这一挑战降低了整个ML开发流程的生产力,从数据查找到模型训练均受影响,同时也阻碍了急需的数据集工具开发。

现有通用元数据格式(如schema.org和DCAT)主要用于数据发现,而非满足ML数据的特定需求,例如从结构化和非结构化源提取和组合数据、包含支持数据负责任使用的元数据,或描述ML使用特征(如定义训练集、测试集和验证集)。

Croissant格式不改变实际数据的表示方式(如图像或文本文件格式),而是提供描述和组织数据的标准方法。它基于schema.org(Web上发布结构化数据的事实标准,已被超过4000万个数据集使用)构建,并通过ML相关元数据、数据资源、数据组织和默认ML语义的全面层次进行增强。

此外,我们宣布了主要工具和存储库的支持:今天,三个广泛使用的ML数据集集合——Kaggle、Hugging Face和OpenML——将开始为其托管的数据集支持Croissant格式;Dataset Search工具允许用户跨Web搜索Croissant数据集;流行ML框架(包括TensorFlow、PyTorch和JAX)可通过TensorFlow Datasets(TFDS)包轻松加载Croissant数据集。

Croissant 1.0版本

Croissant 1.0版本包括格式的完整规范、一组示例数据集、用于验证、使用和生成Croissant元数据的开源Python库,以及一个开源可视化编辑器,以直观方式加载、检查和创建Croissant数据集描述。

支持负责任AI(RAI)是Croissant项目的关键目标。我们还发布了Croissant RAI词汇扩展的首个版本,该扩展通过描述重要RAI用例所需的关键属性增强Croissant,包括数据生命周期管理、数据标注、参与式数据、ML安全性与公平性评估、可解释性和合规性。

为什么需要共享的ML数据格式?

大部分ML工作实际上是数据工作。训练数据是决定模型行为的“代码”。数据集范围从用于训练大语言模型(LLM)的文本集合到用于训练汽车防碰撞系统的驾驶场景(标注视频)集合。然而,开发ML模型的步骤通常遵循相同的以数据为中心的迭代过程:(1)查找或收集数据;(2)清理和精炼数据;(3)在数据上训练模型;(4)在更多数据上测试模型;(5)发现模型不工作;(6)分析数据找出原因;(7)重复直到获得可行模型。许多步骤因缺乏通用格式而变得更加困难。这种“数据开发负担”对资源有限的研究和早期创业努力尤为沉重。

像Croissant这样的格式旨在使整个过程更轻松。例如,搜索引擎和数据集存储库可利用元数据更轻松地找到合适的数据集。数据资源和组织信息使开发用于清理、精炼和分析数据的工具更轻松。这些信息和默认ML语义使ML框架能够用最少的代码使用数据训练和测试模型。这些改进共同显著减轻了数据开发负担。

此外,数据集作者关心其数据集的可发现性和易用性。采用Croissant提高了其数据集的价值,同时只需最小努力,这得益于可用的创建工具和ML数据平台的支持。

Croissant当前能做什么?

今天,用户可以在以下位置找到Croissant数据集:

  • 提供Croissant过滤器的Google Dataset Search
  • HuggingFace
  • Kaggle
  • OpenML

使用Croissant数据集,可以:

  • 通过TensorFlow Datasets轻松摄取数据,用于TensorFlow、PyTorch和JAX等流行ML框架
  • 使用Croissant编辑器UI(github)检查和修改元数据

要发布Croissant数据集,用户可以:

  • 使用Croissant编辑器UI(github)通过分析用户提供的数据自动生成大部分Croissant元数据,并填写重要元数据字段(如RAI属性)
  • 将Croissant信息作为数据集网页的一部分发布,使其可发现和可重用
  • 在支持Croissant的存储库(如Kaggle、HuggingFace和OpenML)中发布数据,并自动生成Croissant元数据

未来方向

我们对Croissant帮助ML从业者的潜力感到兴奋,但使该格式真正有用需要社区的支持。我们鼓励数据集创建者考虑提供Croissant元数据。我们鼓励托管数据集的平台提供Croissant文件下载并将Croissant元数据嵌入数据集网页,以便数据集搜索引擎可发现它们。帮助用户处理ML数据集的工具(如标注或数据分析工具)也应考虑支持Croissant数据集。共同努力,我们可以减轻数据开发负担,实现更丰富的ML研究和开发生态系统。

我们鼓励社区加入我们,为这一努力做出贡献。

致谢

Croissant由谷歌的Dataset Search、Kaggle和TensorFlow Datasets团队开发,作为MLCommons社区工作组的一部分,该工作组还包括来自以下组织的贡献者:Bayer、cTuning Foundation、DANS-KNAW、Dotphoton、Harvard、Hugging Face、Kings College London、LIST、Meta、NASA、North Carolina State University、Open Data Institute、Open University of Catalonia、Sage Bionetworks和TU Eindhoven。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计