ABSTRACT
Several key problems in web-scale recommender systems, such as optimal matching and allocation, can be formulated as large-scale linear programs (LPs) [4, 1]. These LPs take predictions from ML models such as probabilities of click, like, etc. as inputs and optimize recommendations made to users. In recent years, there has been an explosion in the research and development of large-scale recommender systems, but effective optimization of business objectives using the output of those systems remains a challenge. Although LPs can help optimize such business objectives, and algorithms for solving LPs have existed since the 1950s [5, 8], generic LP solvers cannot handle the scale of these problems. At LinkedIn, we have developed algorithms that can solve LPs of various forms with trillions of variables in a Spark-based library called "DuaLip" [7], a novel distributed solver that solves a perturbation of the LP problem at scale via gradient-based algorithms on the smooth dual of the perturbed LP. DuaLip has been deployed in production at LinkedIn and powers several very large-scale recommender systems. DuaLip is open-sourced and extensible in terms of features and algorithms.
In this first-of-its-kind tutorial, we will motivate the application of LPs to improve recommender systems, cover the theory of key LP algorithms [8, 6], and introduce DuaLip (https://github.com/linkedin/DuaLip), a highly performant Spark-based library that solves extreme-scale LPs for a large variety of recommender system problems. We will describe practical successes of large-scale LP in the industry [3, 2, 9] followed by a hands-on exercise to run DuaLip.
- Deepak Agarwal et al. 2015. Personalizing linkedin feed. In Proceedings of the 21th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 1651--1660.Google Scholar
- Eduardo M Azevedo and E Glen Weyl. 2016. Matching markets in the digital age. Science, 352, 6289, 1056--1057.Google Scholar
- Rupesh Gupta, Guangde Chen, and Shipeng Yu. 2019. Internal promotion optimization. In Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, 2358--2366.Google ScholarDigital Library
- Rupesh Gupta, Guanfeng Liang, and Rómer Rosales. 2017. Optimizing email volume for sitewide engagement. In Proceedings of the 2017 ACM on Conference on Information and Knowledge Management, 1947--1955.Google ScholarDigital Library
- Olvi L Mangasarian and RR Meyer. 1979. Nonlinear perturbation of linear programs. SIAM Journal on Control and Optimization, 17, 6, 745--752.Google ScholarDigital Library
- Brendan O'donoghue, Eric Chu, Neal Parikh, and Stephen Boyd. 2016. Conic op- timization via operator splitting and homogeneous self-dual embedding. Journal of Optimization Theory and Applications, 169, 1042--1068.Google ScholarDigital Library
- Rohan Ramanath, S Sathiya Keerthi, Yao Pan, Konstantin Salomatin, and Kinjal Basu. 2022. Efficient vertex-oriented polytopic projection for web-scale applications. In Proceedings of the AAAI Conference on Artificial Intelligence number 4. Vol. 36, 3821--3829.Google ScholarCross Ref
- Philip Wolfe. 1976. Finding the nearest point in a polytope. Mathematical Pro-gramming, 11, 128--149.Google ScholarDigital Library
- Huanyang Zheng and Jie Wu. 2017. Online to offline business: urban taxi dis- patching with passenger-driver matching stability. In 2017 IEEE 37th International Conference on Distributed Computing Systems (ICDCS). IEEE, 816--825Google ScholarCross Ref
Index Terms
- Practical Design of Performant Recommender Systems using Large-scale Linear Programming-based Global Inference
Recommendations
Branching on hyperplane methods for mixed integer linear and convex programming using adjoint lattices
We present branching-on-hyperplane methods for solving mixed integer linear and mixed integer convex programs. In particular, we formulate the problem of finding a good branching hyperplane using a novel concept of adjoint lattice. We also reformulate ...
Very Large-Scale Linear Programming: A Case Study in Combining Interior Point and Simplex Methods
Experience with solving a 12.753.313 variable linear program is described. This problem is the linear programming relaxation of a set partitioning problem arising from an airline crew scheduling application. A scheme is described that requires ...
Transformation of a multi-choice linear programming problem
The aim of this paper is to transform a multi-choice linear programming problem to a standard mathematical programming problem where the right hand side goals of some constraints are 'multi-choice' in nature. For each of the constraint there may exist ...
Comments