AB
AiBoss站
快讯

Databricks 推出 UCDataset:从 Unity Catalog 表直接向 GPU 流式供数

Databricks 发布 Beta 版 UCDataset,一个原生 PyTorch 数据加载器,可从 Unity Catalog 表直接向训练作业中的每块 GPU 流式传输数据,无需导出或复制。官方称在模拟生产负载上训练时间缩短约 10 倍。

核心事实

Databricks 于 11 月 9 日发布博客,宣布在 AI Runtime 上推出 Beta 版 Unity Catalog Dataset(UCDataset)。据官方描述,这是一个原生 PyTorch 数据加载器,可把 Unity Catalog 中的表直接流式传输到训练作业的每块 GPU,无需导出、复制或编写自定义加载器代码。用户只需指定表、所需列和行过滤条件,UCDataset 会把匹配的行均匀切分到各 GPU 与数据加载 worker,并直接接入标准 PyTorch 训练循环,多 GPU 数据分片由工具自动处理。该包已发布在 PyPI,可通过 %pip install databricks-uc-dataset 安装。

背景与影响

Databricks 在文中指出,GPU 通常是训练中成本最高的部分,而瓶颈往往不在模型,而在于数据抵达 GPU 的速度。常见做法是每次训练前把表导出为 Parquet 副本,既增加存储成本,也会随新数据写入而过时,并脱离 Unity Catalog 的血缘追踪;用 toPandas() 把整表读入内存则难以扩展到大规模表和多 GPU 场景。UCDataset 直接读取云存储中的表文件,读取时应用过滤条件与删除向量,下一次运行会自动纳入新追加的行。权限方面,训练作业以运行它的身份读取数据,Unity Catalog 权限照常生效。官方称在一个模拟生产负载的基准中,将 300 GB 特征表流式传输到 8 块 NVIDIA H100 GPU 训练推荐模型,相比直接从 Parquet 加载,训练时间平均缩短约 10 倍。

限制与来源

上述性能数据来自 Databricks 自述的模拟负载基准,并非独立第三方测试,实际表现因环境而异。UCDataset 目前为 Beta 版本,仅能读取 Unity Catalog 中注册的 Delta 表(含带删除向量的表),且 Beta 阶段无法读取带行过滤或列掩码的表。官方表示后续将通过 FILE 类型扩展对图像、音频、文档等多模态训练的支持;非结构化数据可改用 UCVolumeDataset。功能范围、可用区域与计费方式请以 Databricks 官网当前信息为准。本文信息来源为 Databricks 官方博客。