A Bag of Tricks for Scaling CPU-based Deep FFMs to more than 300m Predictions per Second

Blaž Škrlj, Benjamin Ben-Shalom, Grega Gašperšič, Adi Schwartz, Ramzi Hoseisi +3 more
7/14/2024
cs.LGcs.AIcs.IR

No confident code implementation found for this paper. 1 possible match can be shown below.

Abstract

Field-aware Factorization Machines (FFMs) have emerged as a powerful model for click-through rate prediction, particularly excelling in capturing complex feature interactions. In this work, we present an in-depth analysis of our in-house, Rust-based Deep FFM implementation, and detail its deployment on a CPU-only, multi-data-center scale. We overview key optimizations devised for both training and inference, demonstrated by previously unpublished benchmark results in efficient model search and online training. Further, we detail an in-house weight quantization that resulted in more than an order of magnitude reduction in bandwidth footprint related to weight transfers across data-centres. We disclose the engine and associated techniques under an open-source license to contribute to the broader machine learning community. This paper showcases one of the first successful CPU-only deployments of Deep FFMs at such scale, marking a significant stride in practical, low-footprint click-through rate prediction methodologies.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. 1 weaker match is hidden by default — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{krlj2024tricks,
  title  = {A Bag of Tricks for Scaling CPU-based Deep FFMs to more than 300m Predictions per Second},
  author = {Blaž Škrlj and Benjamin Ben-Shalom and Grega Gašperšič and Adi Schwartz and Ramzi Hoseisi and Naama Ziporin and Davorin Kopič and Andraž Tori},
  year   = {2024},
  eprint = {2407.10115},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2407.10115v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2407.10115.svg)](https://codeofpaper.com/paper/2407.10115)

Discussion