Efficient Tabular Data Preprocessing of ML Pipelines
Yu Zhu, Wenqi Jiang, Gustavo Alonso
TL;DR
This work tackles the preprocessing bottleneck in ML pipelines caused by the CPU–GPU performance gap. It introduces Piper, a network-attached FPGA accelerator that implements a column-wise, streaming dataflow with specialized PEs and a parallel UTF-8 decoding unit to accelerate stateful tabular preprocessing, including embedding generation. Across production DLRMs from Meta and Google, Piper delivers substantial gains, up to $4.7\sim71.3\times$ speedups over a 128-core CPU and up to $4.8\sim20.3\times$ over a GPU when handling binary inputs, with network-attached configurations offering the best end-to-end performance. The approach reduces resource and energy consumption while enabling scalable deployments by decoupling preprocessing from training and supporting streaming data processing. Overall, Piper demonstrates a practical path to more efficient end-to-end ML training in data centers by offloading expensive tabular preprocessing to specialized hardware.
Abstract
Data preprocessing pipelines, which includes data decoding, cleaning, and transforming, are a crucial component of Machine Learning (ML) training. Thy are computationally intensive and often become a major bottleneck, due to the increasing performance gap between the CPUs used for preprocessing and the GPUs used for model training. Recent studies show that a significant number of CPUs across several machines are required to achieve sufficient throughput to saturate the GPUs, leading to increased resource and energy consumption. When the pipeline involves vocabulary generation, the preprocessing performance scales poorly due to significant row-wise synchronization overhead between different CPU cores and servers. To address this limitation, in this paper we present the design of Piper, a hardware accelerator for tabular data preprocessing, prototype it on FPGAs, and demonstrate its potential for training pipelines of commercial recommender systems. Piper achieves 4.7 $\sim$ 71.3$\times$ speedup in latency over a 128-core CPU server and outperforms a data-center GPU by 4.8$\sim$ 20.3$\times$ when using binary input. The impressive performance showcases Piper's potential to increase the efficiency of data preprocessing pipelines and significantly reduce their resource consumption.
