Repolode
Lightning-AI

Lightning-AI/litData

一个 Python 库,把数据集优化为分块格式,便于训练时从云端或本地高速流式读取。

Star
617
Fork
111
未关闭 Issue
53
最近提交
6天前

这是什么?

LitData 用于解决模型训练中因数据加载变慢而拖累 GPU 利用率的问题。当数据集过大、包含数百万小文件或从云端读取缓慢时,它提供预处理工具,把数据转换为自有的分块二进制格式,可从 S3、GCS、Azure、R2、Hugging Face Hub 或本地磁盘高效流式读取。

该库提供多种使用方式。图片、音频、JSONL 等原始文件无需转换,可通过 StreamingRawDataset 配合常规 PyTorch DataLoader 直接流式读取。若追求更高吞吐,可用 optimize() 生成分块数据,再由 StreamingDataset 和 StreamingDataLoader 读取,支持打乱、丢弃不完整批次以及断点续读。map() 算子则可把缩放图片、生成向量嵌入、分布式推理等通用处理任务分发到多台机器上并行执行。

此外,LitData 还支持直接加载 Hugging Face 数据集,提供图像、音频、视频、PDF 等类型包装器,并支持自定义序列化器和 PyTorch Geometric 图数据。

核心功能

  • 01将数据集转换为针对流式读取优化的分块二进制格式。
  • 02支持从 S3、GCS、Azure、R2、Hugging Face Hub 及本地路径读取数据。
  • 03无需预处理即可直接流式读取图片、音频等原始文件。
  • 04支持训练过程中暂停并恢复数据流。
  • 05提供 map 算子,可在多台机器上并行处理数据。

适用场景

  • 训练无法全部放入本地磁盘的大型数据集,直接从云存储流式读取。
  • 将数百万个小图片文件合并为分块格式,降低 I/O 开销。
  • 训练前用分布式方式完成图片缩放、向量嵌入生成等预处理。
  • 将 Hugging Face 数据集转换为更快的格式,用于多次训练。

快速上手

  1. 1

    使用 pip 安装 LitData

    pip install litdata
  2. 2

    直接使用 StreamingRawDataset 流式读取现有文件,或将数据集优化为分块格式以使用 StreamingDataset

使用前须知

  • 需要 PyTorch 2.4 或更高版本。
  • 要获得最快的流式读取速度,需要先进行一次性的数据预处理。

标签

常见问题

litData 是什么?
一个 Python 库,把数据集优化为分块格式,便于训练时从云端或本地高速流式读取。 LitData 用于解决模型训练中因数据加载变慢而拖累 GPU 利用率的问题。当数据集过大、包含数百万小文件或从云端读取缓慢时,它提供预处理工具,把数据转换为自有的分块二进制格式,可从 S3、GCS、Azure、R2、Hugging Face Hub 或本地磁盘高效流式读取。
litData 可以免费使用吗?用的什么许可证?
litData 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
litData 还在维护吗?
活跃维护中。litData 最近一次提交是在 2026年10月15日。
litData 适合用来做什么?
训练无法全部放入本地磁盘的大型数据集,直接从云存储流式读取。 将数百万个小图片文件合并为分块格式,降低 I/O 开销。 训练前用分布式方式完成图片缩放、向量嵌入生成等预处理。 将 Hugging Face 数据集转换为更快的格式,用于多次训练。
litData 怎么安装和运行?
使用 pip 安装 LitData: pip install litdata 直接使用 StreamingRawDataset 流式读取现有文件,或将数据集优化为分块格式以使用 StreamingDataset
在哪里获取 litData?
源代码和安装说明在 GitHub 上:https://github.com/Lightning-AI/litData

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目