Lambda Learner: Fast Incremental Learning on Data Streams
This addresses the problem of model freshness and computational efficiency for large-scale social network platforms, representing an incremental improvement in streaming ML methods.
The paper tackles the challenge of training machine learning models on high-velocity user-generated data streams, proposing Lambda Learner, a framework for incremental updates that closely estimates offline models and outperforms them in time-sensitive scenarios, with deployment serving hundreds of millions of users.
One of the most well-established applications of machine learning is in deciding what content to show website visitors. When observation data comes from high-velocity, user-generated data streams, machine learning methods perform a balancing act between model complexity, training time, and computational costs. Furthermore, when model freshness is critical, the training of models becomes time-constrained. Parallelized batch offline training, although horizontally scalable, is often not time-considerate or cost-effective. In this paper, we propose Lambda Learner, a new framework for training models by incremental updates in response to mini-batches from data streams. We show that the resulting model of our framework closely estimates a periodically updated model trained on offline data and outperforms it when model updates are time-sensitive. We provide theoretical proof that the incremental learning updates improve the loss-function over a stale batch model. We present a large-scale deployment on the sponsored content platform for a large social network, serving hundreds of millions of users across different channels (e.g., desktop, mobile). We address challenges and complexities from both algorithms and infrastructure perspectives, and illustrate the system details for computation, storage, and streaming production of training data.