cedar: Composable and Optimized Machine Learning Input Data Pipelines

2024年01月17日
  • 简介
    输入数据管道是每个机器学习(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等。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论