Kraken: Memory-Efficient Continual Learning for Large-Scale Real-Time Recommendations

Minhui Xie,Kai Ren,Youyou Lu,Guangxu Yang,Qingxing Xu,Bihai Wu,Jiazhen Lin,Hongbo Ao,Wanhong Xu,Jiwu Shu
DOI: https://doi.org/10.1109/sc41405.2020.00025
2020-01-01
Abstract:Modern recommendation systems in industry often use deep learning (DL) models that achieve better model accuracy with more data and model parameters. However, current opensource DL frameworks, such as TensorFlow and PyTorch, show relatively low scalability on training recommendation models with terabytes of parameters. To efficiently learn large-scale recommendation models from data streams that generate hundreds of terabytes training data daily, we introduce a continual learning system called Kraken. Kraken contains a special parameter server implementation that dynamically adapts to the rapidly changing set of sparse features for the continual training and serving of recommendation models. Kraken provides a sparsity-aware training system that uses different learning optimizers for dense and sparse parameters to reduce memory overhead. Extensive experiments using real-world datasets confirm the effectiveness and scalability of Kraken. Kraken can benefit the accuracy of recommendation tasks with the same memory resources, or trisect the memory usage while keeping model performance.
What problem does this paper attempt to address?