Resonance: Replacing Software Constants with Context-Aware Models in Real-time Communication
Gupchup, Jayant, Aazami, Ashkan, Fan, Yaran, Filipi, Senja, Finley, Tom, Inglis, Scott, Asteborg, Marcus, Caroll, Luke, Chari, Rajan, Cozowicz, Markus, Gopal, Vishak, Prakash, Vinod, Bendapudi, Sasikanth, Gerrits, Jack, Lau, Eric, Liu, Huazhou, Rossi, Marco, Slobodianyk, Dima, Birjukov, Dmitri, Cooper, Matty, Javar, Nilesh, Perednya, Dmitriy, Srinivasan, Sriram, Langford, John, Cutler, Ross, Gehrke, Johannes
–arXiv.org Artificial Intelligence
Large software systems tune hundreds of'constants' to optimize their runtime performance. These values are commonly derived through intuition, lab tests, or A/B tests. A'one-size-fits-all' approach is often sub-optimal as the best value depends on runtime context. In this paper, we provide an experimental approach to replace constants with learned contextual functions for Skype-a widely used realtime communication (RTC) application. We present Resonance, a system based on contextual bandits (CB). We describe experiences from three real-world experiments: applying it to the audio, video, and transport components in Skype. We surface a unique and practical challenge of performing machine learning (ML) inference in large software systems written using encapsulation principles. Finally, we open-source FeatureBroker, a library to reduce the friction in adopting ML models in such development environments.
arXiv.org Artificial Intelligence
Nov-22-2020