- 简介输入数据管道是每个机器学习(ML)训练作业的重要组成部分。它负责读取大量的训练数据,使用复杂的转换处理样本批次,并以低延迟和高吞吐量将其加载到训练节点上。高效的输入数据系统变得越来越关键,这是由于数据量和训练吞吐量的激增。不幸的是,当前的输入数据系统无法充分利用关键的性能优化,导致极其低效的基础设施,需要大量的资源,甚至浪费昂贵的加速器。 为了应对这些需求,我们提出了cedar,这是一个编程模型和框架,允许用户轻松构建、优化和执行输入数据管道。cedar提供了一个易于使用的编程接口,允许用户使用可组合的运算符来定义输入数据管道,支持任意的ML框架和库。同时,cedar透明地应用了一组复杂和可扩展的优化技术(例如卸载、缓存、预取、融合和重新排序)。它在一组可定制的本地和分布式计算资源上进行处理协调,以最大化处理性能和效率,而无需用户输入。在六个不同的输入数据管道中,cedar的平均性能比tf.data、tf.data服务、Ray Data和PyTorch的DataLoader分别提高了2.49倍、1.87倍、2.18倍和2.74倍。
- 图表
- 解决问题解决高效处理大规模训练数据的问题,提高输入数据系统的性能和效率。
- 关键思路提出了一个编程模型和框架cedar,通过优化技术(如卸载、缓存、预取、融合和重排序)自动优化输入数据管道的性能和效率,同时支持任意ML框架和库。
- 其它亮点cedar在六个不同的输入数据管道中平均比tf.data、tf.data service、Ray Data和PyTorch的DataLoader分别提高了2.49x、1.87x、2.18x和2.74x的性能。除了提高性能和效率,论文还介绍了cedar的易用性、可扩展性和可定制性,并提供了开源代码。
- 最近的相关研究包括TensorFlow Extended、Horovod、DALI和TensorFlow I/O等。
沙发等你来抢
去评论
评论
沙发等你来抢