Ray Data:适用于 ML 的可扩展数据集#

Ray Data 是一个基于 Ray 构建的可扩展数据处理库,适用于 ML 和 AI 工作负载。Ray Data 提供了灵活且高性能的 API,用于表达 AI 工作负载,例如批量推理、数据预处理以及 ML 训练的数据摄取。与其他分布式数据系统不同,Ray Data 具有流式执行特性,可以有效地处理大型数据集,并在 CPU 和 GPU 工作负载中保持高利用率。

为何选择 Ray Data?#

现代 AI 工作负载围绕着深度学习模型的使用展开,这些模型计算密集,并且通常需要 GPU 等专用硬件。与 CPU 不同,GPU 通常内存较少,调度语义不同,运行成本也更高。为支持传统数据处理流水线而构建的系统通常无法很好地利用这些资源。

Ray Data 将 AI 工作负载视为一等公民,并提供了几个关键优势

  • 深度学习更快更便宜:Ray Data 在 CPU 预处理和 GPU 推理/训练任务之间传输数据流,通过保持 GPU 活跃来最大化资源利用率并降低成本。

  • 框架友好:Ray Data 与常见的 AI 框架(vLLM、PyTorch、HuggingFace、TensorFlow)以及常见的云提供商(AWS、GCP、Azure)提供了高性能的一等集成

  • 支持多模态数据:Ray Data 利用 Apache Arrow 和 Pandas,并支持 ML 工作负载中使用的多种数据格式,例如 Parquet、Lance、图像、JSON、CSV、音频、视频等。

  • 默认可扩展:基于 Ray 构建,可在具有不同 CPU 和 GPU 机器的异构集群上自动扩展。代码从一台机器到处理数百 TB 数据的数百个节点,运行不变。

安装 Ray Data#

要安装 Ray Data,请运行

$ pip install -U 'ray[data]'

要了解有关安装 Ray 及其库的更多信息,请参阅安装 Ray

了解更多#

快速入门

通过一个简单示例开始使用 Ray Data。

关键概念

学习 Ray Data 背后的关键概念。了解什么是 Dataset 以及如何使用它们。

用户指南

学习如何使用 Ray Data,从基本用法到端到端指南。

示例

查找使用 Ray Data 的简单示例和扩展示例。

API

获取有关 Ray Data API 的更深入信息。

Ray Data 案例研究#

使用 Ray Data 进行训练数据摄取

使用 Ray Data 进行批量推理