SuperAPI AI 工具集

ray-data

数据与分析

查看项目

更新于 10-30 06:45

技能介绍

Ray Data 是面向机器学习和 AI 工作负载的分布式数据处理库,用于在集群上对大规模数据做预处理、批量推理和数据加载。

用途与适用场景:适合处理用于 ML 训练的大数据集(资料给出 >100GB 的参考场景),需要在集群上做分布式数据预处理,构建批量推理管线,加载图像、音频、视频等多模态数据,以及把数据处理从单机扩展到集群。资料同时说明:小于 1GB 的单机小数据可考虑 Pandas;表格数据和类 SQL 操作可考虑 Dask;企业 ETL 与 SQL 查询可考虑 Spark。

主要能力:支持流式执行,可处理大于内存的数据;支持 GPU 加速转换;提供读取云端存储与 Python 对象的方式,包括 read_parquet、read_csv、read_json、read_images、from_items、range、from_pandas;提供 map_batches 批量向量化转换、map 逐行转换、filter 过滤、groupby 分组聚合与 map_groups 自定义聚合;支持 write_parquet、write_csv、write_json 写出;可通过 repartition 控制并行度、调整 batch_size,并用 iter_batches 流式消费。数据格式方面,Parquet、CSV、JSON、NumPy 支持读写,Images 支持读取,Pandas 支持读取。

使用方式:安装命令为 pip install -U 'ray[data]'。基本流程是先用 ray.data.read_* 或 from_* 创建数据集,再链式调用 map_batches、filter、groupby 等转换(资料称转换为惰性执行),最后用 iter_batches 消费或 write_* 写出。与 Ray Train 集成时,可通过 ray.train.get_dataset_shard 在训练函数中获取数据分片,并用 TorchTrainer 配合 ScalingConfig 指定 worker 数量与是否使用 GPU。与框架集成时,可用 to_torch、to_tf 转换为 PyTorch/TensorFlow 数据集。批量推理的常见模式是在 map_batches 中传入可调用类,在初始化时加载模型,并设置 batch_size 与 num_gpus。

限制与说明:资料未提供许可协议、收费方式与价格信息,均暂未提供。性能数据为资料中给出的示例基准(如 100GB 数据在 1/4/16 节点上的处理时间、图像预处理在 CPU 与不同数量 GPU 下的吞吐),属于特定示例,不代表所有环境下的保证。Images 与 Pandas 格式在资料中标注为不支持写出。