tf.data service: A Case for Disaggregating ML Input Data Processing

要約

機械学習 (ML) 計算は通常、GPU や TPU などの高価な専用ハードウェアで実行され、高い FLOP とワットあたりのパフォーマンスを実現します。
コスト効率を高めるには、これらのアクセラレータを高度に利用し続けることが不可欠です。
これには、アクセラレータがデータを取り込んで ML 計算を実行できる速度で入力データを前処理する必要があります。
データの停止を回避するために、ML 計算に使用されるアクセラレータ コアごとの入力データ処理に必要なホスト CPU と RAM はジョブによって異なります。
したがって、固定のハードウェア比率を使用して ML アクセラレータ ホストで入力データを処理する従来のアプローチでは、アクセラレータまたはホストの CPU と RAM が十分に活用されなくなります。
このペーパーでは、細分化された ML データ処理システムを構築することで、これらの懸念に対処します。
TensorFlow の tf.data 上に構築されたオープンソースの非集約入力データ処理サービスである tf.data サービスを紹介します。
データの前処理を分解することには、大規模な ML トレーニング ジョブにとって 3 つの重要な利点があることを示します。
まず、このサービスは、各ジョブのデータ処理に適切なサイズの CPU/RAM ホスト リソースに水平スケールアウトでき、平均でトレーニング時間を 32 倍、コストを 26 倍節約できます。
第 2 に、このサービスは一時的な前処理データの結果をジョブ間で共有して、CPU 使用率を最適化し、冗長な計算を削減できます。
最後に、このサービスは、分散トレーニングでの入力サイズの違いによる滞りを回避する手法である調整読み取りをサポートし、トレーニング時間を平均 2.2 倍に短縮します。
私たちの設計は、モデルの精度に影響を与えずにデータ訪問保証を緩和するなど、tf.data サービスを運用環境にデプロイすることから学んだ教訓からインスピレーションを得ています。

要約(オリジナル)

Machine learning (ML) computations commonly execute on expensive specialized hardware, such as GPUs and TPUs, which provide high FLOPs and performance-per-watt. For cost efficiency, it is essential to keep these accelerators highly utilized. This requires preprocessing input data at the rate at which the accelerators can ingest and perform ML computations on the data. To avoid data stalls, the host CPU and RAM required for input data processing per accelerator core used for ML computations varies across jobs. Hence, the traditional approach of processing input data on ML accelerator hosts with a fixed hardware ratio leads to either under-utilizing the accelerators or the host CPU and RAM. In this paper, we address these concerns by building a disaggregated ML data processing system. We present tf.data service, an open-source disaggregated input data processing service built on top of tf.data in TensorFlow. We show that disaggregating data preprocessing has three key advantages for large-scale ML training jobs. First, the service can horizontally scale-out to right-size CPU/RAM host resources for data processing in each job, saving 32x training time and 26x cost, on average. Second, the service can share ephemeral preprocessed data results across jobs, to optimize CPU usage and reduce redundant computations. Finally, the service supports coordinated reads, a technique that avoids stragglers due to different input sizes in distributed training, reducing training time by 2.2x, on average. Our design is inspired by lessons learned from deploying tf.data service in production, including relaxing data visitation guarantees without impacting model accuracy.

arxiv情報

著者 Andrew Audibert,Yang Chen,Dan Graur,Ana Klimovic,Jiri Simsa,Chandramohan A. Thekkath
発行日 2024-01-02 15:54:24+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.DC, cs.LG パーマリンク