Machine Learning (ML) computation requires feeding input data for the models to ingest. Traditionally, input data processing happens on the same host as the ML computation. The input data processing can however become a bottleneck of the ML computation if there are insufficient resources to process data quickly enough. This slows down the ML computation and wastes valuable and scarce ML hardware (e.g. GPUs and TPUs) used by the ML computation. In this paper, we present tf.data service, a disaggregated input data processing service built on top of tf.data. Our work goes beyond describing the design and implementation of a new system which disaggregates preprocessing from ML computation and presents: (1) empirical evidence based on production workloads for the need of disaggregation, as well as quantitative evaluation of the impact disaggregation has on the performance and cost of production workloads, (2) benefits of disaggregation beyond horizontal scaling, (3) analysis of tf.data service's adoption at Google, the lessons learned during building and deploying the system and potential future lines of research opened up by our work. We demonstrate that horizontally scaling data processing using tf.data service helps remove input bottlenecks, achieving speedups of up to 110x and job cost reductions of up to 89x. We further show that tf.data service can support computation reuse through data sharing across ML jobs with identical data processing pipelines (e.g. hyperparameter tuning jobs), incurring no performance penalty and reducing overall resource cost. Finally, we show that tf.data service advanced features can benefit performance of non-input bound jobs; in particular, coordinated data reads through tf.data service can yield up to 2x speedups and job cost savings for NLP jobs.
翻译:计算机器学习(ML) 需要为模型输入数据。 传统上, 输入数据处理与 ML 计算在同一主机上进行。 但是, 如果没有足够的足够资源来快速处理数据, 输入数据处理可能会成为 ML 计算的一个瓶颈。 这减缓了 ML 计算, 浪费了ML 计算所使用的宝贵和稀缺的 ML 硬件( 如 GPUs 和 TPU ) 。 在本文中, 我们提供 tf. data 服务, 一种在tf. data 顶端上建立的分类输入数据处理服务。 我们的工作不仅仅是描述一个从 ML 计算中对预处理进行分解的新的L 系统的设计与实施。 但是, 输入数据数据处理的不那么基于生产工作量的实证证据,需要分类,以及对影响分类对生产工作量的定量评价,对业绩和成本分析的效益。 在谷歌上采用的数据服务, 在建立和部署系统过程中学到的经验教训, 以及未来研究的线会打开我们的工作。 我们证明, 横向扩大数据处理过程的升级, 使用 tralex dex dex dal dal dex ex dalation erage salage salage sal sal silver silver serview ex silvex silve 。