在 Hugging Face Hub 上分享您的开放 ML 数据集!

发布于 2024 年 11 月 12 日
在 GitHub 上更新

如果您正在进行数据密集型研究或机器学习项目,您需要一种可靠的方式来共享和托管您的数据集。像 Common Crawl、ImageNet、Common Voice 等公共数据集对开放的机器学习生态系统至关重要,但它们的托管和共享可能具有挑战性。

Hugging Face Hub 使数据集的托管和共享变得无缝,受到许多领先研究机构、公司和政府机构的信任,包括 NvidiaGoogleStanfordNASATHUDMBarcelona Supercomputing Center

通过在 Hugging Face Hub 上托管数据集,您可以立即获得可最大限度地发挥工作影响的功能

慷慨的限制

支持大型数据集

Hub 可以托管 TB 级别的数据集,具有很高的每个文件和每个存储库的限制。如果您有数据要共享,Hugging Face 数据集团队可以帮助您建议最佳的数据上传格式,以供社区使用。🤗 Datasets 库使得上传和下载文件,甚至从头开始创建数据集变得容易。🤗 Datasets 还支持数据集流式传输,使得处理大型数据集无需下载整个数据集。这对于计算资源较少的研究人员处理您的数据集,或者选择大型数据集的一小部分进行测试、开发或原型设计来说,是无价的。

Screenshot of the file size information for a dataset
Hugging Face Hub 可以托管机器学习研究中经常创建的大型数据集。

注意:Xet 团队目前正在进行后端更新,将每个文件限制从当前的 50 GB 增加到 500 GB,同时提高存储和传输效率。

数据集查看器

除了托管数据,Hub 还提供强大的探索工具。借助数据集查看器,用户可以直接在浏览器中探索和交互托管在 Hub 上的数据集。这为其他人提供了一种无需先下载即可查看和探索数据的简便方法。

Hugging Face 数据集支持多种模态(音频、图像、视频等)和文件格式(CSV、JSON、Parquet 等),以及压缩格式(Gzip、Zip 等)。有关更多详细信息,请查看数据集文件格式页面。

Screenshot of the Datasets Viewer
Infinity-Instruct 数据集的数据集查看器。

数据集查看器还包含一些功能,使数据集探索更加容易。

全文搜索

内置的全文搜索是数据集查看器最强大的功能之一。数据集中的任何文本列都可以立即进行搜索。

Arxiver 数据集包含 63.4k 行转换为 Markdown 格式的 arXiv 研究论文。通过使用全文搜索,可以轻松找到包含特定作者(如 Ilya Sutskever)的论文。

排序

数据集查看器允许您通过单击列标题来对数据集进行排序。这使得在数据集中找到最相关的示例变得容易。

下面是 HelpSteer2 数据集中按 `helpfulness` 列降序排序的数据集示例。

第三方库支持

Hugging Face 很幸运能与领先的开源数据工具进行第三方集成。通过在 Hub 上托管数据集,它使数据集立即兼容用户最熟悉的工具。

以下是 Hugging Face 开箱即用支持的一些库

描述 PyPi 月下载量 (2024)
Pandas Python 数据分析工具包。 2.58 亿
Spark 分布式环境中的实时、大规模数据处理工具。 2900 万
数据集 🤗 Datasets 是一个用于访问和共享音频、计算机视觉和自然语言处理 (NLP) 数据集的库。 1700 万
Dask 并行分布式计算库,可扩展现有的 Python 和 PyData 生态系统。 1200 万
Polars 基于 OLAP 查询引擎的 DataFrame 库。 850 万
DuckDB 内存中 SQL OLAP 数据库管理系统。 600 万
WebDataset 用于大型数据集 I/O 流水线的库。 87.1 万
Argilla 重视高质量数据的 AI 工程师和领域专家协作工具。 40 万

这些库中的大多数都允许您用一行代码加载或流式传输数据集。

以下是 Pandas、Polars 和 DuckDB 的一些示例

# Pandas example
import pandas as pd
df = pd.read_parquet("hf://datasets/neuralwork/arxiver/data/train.parquet")

# Polars example 
import polars as pl
df = pl.read_parquet("hf://datasets/neuralwork/arxiver/data/train.parquet")

# DuckDB example - SQL queries
import duckdb
duckdb.sql("SELECT * FROM 'hf://datasets/neuralwork/arxiver/data/train.parquet' LIMIT 10")

您可以在数据集文档中找到有关集成库的更多信息。除了上面列出的库,还有许多社区支持的工具支持 Hugging Face Hub,例如 LilacSpotlight

SQL 控制台

SQL 控制台提供了一个完全在浏览器中运行的交互式 SQL 编辑器,无需任何设置即可实现即时数据探索。主要功能包括:

  • 一键式:一键打开 SQL 控制台查询数据集
  • 可共享和可嵌入的结果:共享和嵌入有趣的查询结果
  • 完整的 DuckDB 语法:使用完整的 SQL 语法以及用于正则表达式、列表、JSON、嵌入等的内置函数

在每个公共数据集上,您都应该看到一个新的 SQL 控制台 徽章。只需单击一下,即可打开 SQL 控制台来查询该数据集。

查询 Magpie-Ultra 数据集,以获取高质量的推理指令。

安全

虽然数据集的可访问性很重要,但保护敏感数据也同样关键。Hugging Face Hub 提供强大的安全功能,帮助您在与合适受众共享数据时保持对数据的控制。

访问控制

Hugging Face Hub 支持针对谁有权访问数据集的独特访问控制选项。

  • 公共:任何人都可以访问数据集。
  • 私人:只有您和您组织中的人员可以访问数据集。
  • 受限:通过两种选项控制数据集的访问权限
    • 自动批准:用户必须提供所需信息(如姓名和电子邮件)并同意条款才能获得访问权限
    • 手动批准:您审核并手动批准/拒绝每个访问请求

有关受限数据集的更多详细信息,请参阅受限数据集文档。对于更细粒度的控制,企业计划功能允许组织创建资源安全组、使用SSO等。

内置安全扫描

除了访问控制,Hugging Face Hub 还提供多种安全扫描器

特性 描述
恶意软件扫描 每次提交和访问时扫描文件是否存在恶意软件和可疑内容
秘密扫描 阻止包含硬编码秘密和环境变量的数据集
Pickle 扫描 扫描 pickle 文件并显示 PyTorch 权重的经过验证的导入
ProtectAI 使用 Guardian 技术阻止包含 pickle、Keras 和其他漏洞的数据集
Security scanner status banner showing various security checks
要了解有关这些扫描仪的更多信息,请参阅安全扫描仪文档

覆盖范围和可见性

拥有一个具有强大功能的安全平台很有价值,但研究的真正影响来自于接触到正确的受众。覆盖范围和可见性对于共享数据集的研究人员至关重要——它有助于最大化研究影响,实现可复现性,促进协作,并确保有价值的数据能够造福更广泛的科学界。

Hugging Face Hub 拥有超过 500 万活跃的构建者,为研究人员提供了强大的社区参与和可见性工具。以下是您可以期待的:

更好的社区参与

  • 每个数据集内置的讨论标签,促进社区参与
  • 将组织作为分组和协作多个数据集的中心场所
  • 数据集使用和影响的指标

更广泛的覆盖范围

  • 接触广泛活跃的研究人员、开发者和实践者社区
  • 优化 SEO 的 URL,使您的数据集易于发现
  • 与模型、数据集和库的更广泛生态系统集成
  • 您的数据集与相关模型、论文和演示之间的清晰链接

改进的文档

  • 可定制的 README 文件,提供全面的文档
  • 支持详细的数据集描述和适当的学术引用
  • 相关研究论文和出版物的链接

Screenshot of a discussion for a dataset on the Hub.
Hub 使提问和讨论数据集变得容易。

如何在 Hugging Face Hub 上托管我的数据集?

现在您了解了在 Hub 上托管数据集的好处,您可能想知道如何开始。以下是一些全面的资源来指导您完成整个过程

如果您想共享大型数据集,以下页面将非常有用

如果您需要进一步帮助将数据集上传到 Hub,或者想要上传特别大的数据集,请联系datasets@huggingface.co

社区

如果能有一个小节(展示数据集链接)关于如何将数据集相互链接以及链接到数据集卡片中的模型,那会很好。

你好 @lhoestq 和 Hugging Face 团队,
抱歉评论有点长,但希望它值得一读。🙏🏿。

感谢您这份关于在 Hub 上共享数据集的全面指南!您强调在保证安全和可见性的同时,使数据集易于访问的观点,与我们最近的工作产生了深刻共鸣。
我们最近在 Hugging Face (https://huggingface.co/datasets/CraneAILabs/UCCB) 上发布了乌干达文化语境基准(UCCB),这代表了非洲人工智能评估的一个重要里程碑。作为第一个全面测试人工智能对非洲文化语境理解的基准,UCCB 填补了一个关键空白,即模型由于主要反映西方经验的训练数据而经常失败。

您文章中关于覆盖范围和社区参与的观点尤其引起了我们的共鸣。非洲语言的互联网内容仅占 0.02%,非洲对全球人工智能训练数据的贡献不足 1%,因此像 UCCB 这样的倡议对于构建更具包容性的人工智能系统至关重要。该数据集包含 1,039 个经过专家验证的问题,涵盖 24 个文化领域,从传统医学到现代俚语,测试人工智能是否真正理解非洲语境,而不仅仅是翻译。

我们相信分享 UCCB 及其方法背后的故事可以激励非洲和其他代表性不足地区类似的倡议。尽管我们曾尝试加入“博客探索者”组织,
分享我们的旅程,但我们知道访问是受限的。然而,我们想知道是否有机会与 Hugging Face 专家合作撰写一篇博客文章,重点介绍

非洲研究人员如何利用 Hub 的基础设施解决区域人工智能挑战
文化敏感基准在全球人工智能生态系统中的重要性
为其他寻求创建类似评估框架的地区提供实用见解
社区协作在构建真正代表多样化视角的数据集中的作用

正如您在文章中指出的那样,“研究的真正影响来自于接触到正确的受众。”我们相信,在 Hugging Face 平台上展示非洲人工智能创新可以激励更多区域贡献,并展示 Hub 如何使全球研究人员能够塑造人工智能发展,而不仅仅是消费它。

您或团队成员是否愿意探讨一篇协作式博客文章?即使是关于如何以符合 Hugging Face 社区价值观的方式独立发布我们的故事的指导也将是无价的。我们致力于开放科学和社区参与的相同原则,这些原则使 Hub 变得特别。(我们已经尝试联系 Hugging Face 团队,但几个月来没有人给我们任何时间🥲)。

感谢您构建了赋能全球人工智能声音的基础设施。期待任何机会分享非洲视角如何为更公平的人工智能发展做出贡献。

此致,
Kato Steven Mubiru & Bronson Bakunga
@katostevenmubiru
附言:您强调的数据集查看器和 SQL 控制台功能,对于使计算资源有限的研究人员能够访问 UCCB 至关重要——这正是包容性 AI 发展所需要的民主化!

注册登录发表评论