  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.
