hfai datasets | 运转数据入萤火训练的不二法门

Phantom AI has released its years-long sedimentaryDeep Learning Suite hfai It has attracted many peer researchers and developers to inquire about the trial. The whole suite has more functions, and after familiarizing with this set of rules, it is possible to easily call up the platform's arithmetic resources, so as to efficiently complete the training task.

为此,我们专门创建了 “hfai 使用心法” 系列专辑,陆续为大家介绍 hfai 一些功能的设计思路和原理,帮助大家更好更快地习得心法,带着 hfai 这套“神功”游刃有余的应对深度学习作业的各项挑战,举重若轻、例不虚发。

之前的文章为大家介绍了如何上传项目代码,构建运行环境和执行任务,一切准备就绪,就差训练数据了。对于大规模的训练数据,上传、管理和部署都是不小的挑战,幻方 AI 研发提供了一套专门为数据集量身定制的“神功”,帮助大家更好的运行大规模的数据,训练出惊艳的模型。

Studio 数据管理页

在萤火集群上的训练数据集,我们都可以通过 Studio 数据管理页 进行浏览与使用。如下图所示:

studio

可以看到,幻方 AI 收纳整理了数十种常用的大规模公开数据集,并持续更新中。如果您所需要的数据集在其中,通过 hfai.datasets 方法就可以轻松获取高性能存储支持下的训练数据,进行快速训练。

当然,这些数据不可能满足所有的研究场景。如果您需要上传您自己的数据,可以点击 创建私有数据集

create self

私有数据集

私有数据集在幻方萤火集群中进行账号级的隔离,您的数据只有您的账号下可以进行访问。

上传的数据需要满足如下条件

  1. 每个文件不小于 256MB (512 x 512KB)
  2. 满足条件1的情况下,文件数量尽可能大于100,小于200

这里需要特别注意的是,大量的小文件构成的数据集会对集群存储性能造成严重影响,因此,如果您的数据是这种大量的小文件,我们建议您将数据转化为幻方 AI 自研的 FFRecord 数据格式。

为什么要转换为 FFRecord ?

幻方 AI 自研了一套适合深度学习模型训练场景的文件读写系统 3FS,和一般的文件系统不同,3FS 文件系统有如下的一些特点:

  • 大量打开、关闭小文件的开销比较大
  • 支持高吞吐的随机批量读取

FFRecord 能够充分利用 3FS 文件系统的高效读取性能,其包括如下优势:

  • 合并多个小文件,减少了训练时打开大量小文件的开销,对存储后端更加友好
  • 支持随机批量读取,提升读取速度
  • 包含数据校验,保证读取的数据完整可靠

因此,我们建议用户将训练数据尽可能都转换成 FFRecord 格式,以利用萤火集群的高性能存储,获得极致的训练加速体验。转换指引和案例代码可以阅读here are

数据上传

用户上传数据的完整流程如下:

  1. 在 Studio 中点击 【创建私有数据集】,填写数据信息;
  2. 幻方管理员沟通,审核数据内容;
  3. 审核通过,点击 【更新授权】 获取上传 token;
  4. 使用阿里云OSS工具,通过授权的token,将符合条件的数据上传;
  5. 幻方管理员审核,数据流转到萤火集群;
  6. 数据在萤火集群准备好后,用户可以在Studio 中获得数据在集群中的地址

更详细的操作请阅读 Studio 中的私有数据集创建指引

private

由上述过程描述中可以了解到,用户数据到萤火集群采用如下方式流转:

用户端 —> 阿里云对象存储 —> 萤火集群

幻方 AI 采用特定的阿里云对象存储(OSS)进行用户数据上传的中转,其上传速度取决于用户自己的网络环境。萤火集群和 OSS 之间有专线连接,保证数据的快速流转。

如果您的数据规模巨大,或网络条件有限,可以联系幻方管理员采用其他方式来上传。

您可以转载、不违背作品原意地摘录及引用本技术博客的内容,但必须遵守以下条款: 署名 — 您应当署名原作者,但不得以任何方式暗示幻方为您背书,亦不会对幻方的权利造成任何负面影响。 非商业性使用 — 您不得将本技术博客内容用于商业目的。 禁止演绎 — 如果基于该内容改编、转换、或者再创作,您不得公开或分发被修改内容,该内容仅可供个人使用。