-
Learning to Learn to Predict Performance Regressions in Production at Meta
Authors:
Moritz Beller,
Hongyu Li,
Vivek Nair,
Vijayaraghavan Murali,
Imad Ahmad,
Jürgen Cito,
Drew Carlson,
Ari Aye,
Wes Dyer
Abstract:
Catching and attributing code change-induced performance regressions in production is hard; predicting them beforehand, even harder. A primer on automatically learning to predict performance regressions in software, this article gives an account of the experiences we gained when researching and deploying an ML-based regression prediction pipeline at Meta. In this paper, we report on a comparative…
▽ More
Catching and attributing code change-induced performance regressions in production is hard; predicting them beforehand, even harder. A primer on automatically learning to predict performance regressions in software, this article gives an account of the experiences we gained when researching and deploying an ML-based regression prediction pipeline at Meta. In this paper, we report on a comparative study with four ML models of increasing complexity, from (1) code-opaque, over (2) Bag of Words, (3) off-the-shelve Transformer-based, to (4) a bespoke Transformer-based model, coined SuperPerforator. Our investigation shows the inherent difficulty of the performance prediction problem, which is characterized by a large imbalance of benign onto regressing changes. Our results also call into question the general applicability of Transformer-based architectures for performance prediction: an off-the-shelve CodeBERT-based approach had surprisingly poor performance; our highly customized SuperPerforator architecture initially achieved prediction performance that was just on par with simpler Bag of Words models, and only outperformed them for down-stream use cases. This ability of SuperPerforator to transfer to an application with few learning examples afforded an opportunity to deploy it in practice at Meta: it can act as a pre-filter to sort out changes that are unlikely to introduce a regression, truncating the space of changes to search a regression in by up to 43%, a 45x improvement over a random baseline. To gain further insight into SuperPerforator, we explored it via a series of experiments computing counterfactual explanations. These highlight which parts of a code change the model deems important, thereby validating the learned black-box model.
△ Less
Submitted 22 May, 2023; v1 submitted 8 August, 2022;
originally announced August 2022.
-
KabOOM: Unsupervised Crash Categorization through Timeseries Fingerprinting
Authors:
Edward Yao,
Wes Dyer,
Georgios Gousios
Abstract:
Modern mobile applications include instrumentation that sample internal application metrics at regular intervals. Following a crash, sample metrics are collected and can potentially be valuable for root-causing difficult to diagnose crashes. However, the fine-grained nature and overwhelming wealth of available application metrics, coupled with frequent application updates, renders their use for ro…
▽ More
Modern mobile applications include instrumentation that sample internal application metrics at regular intervals. Following a crash, sample metrics are collected and can potentially be valuable for root-causing difficult to diagnose crashes. However, the fine-grained nature and overwhelming wealth of available application metrics, coupled with frequent application updates, renders their use for root-causing crashes extremely difficult.
We propose KabOOM, a method to automatically cluster telemetry reports in intuitive, distinct crash categories. Uniquely, KabOOM relies on multivariate timeseries fingerprinting; an auto-encoder coupled with a cluster centroid optimization technique learns embeddings of each crash report, which are then used to cluster metric timeseries based crash reports. We demonstrate the effectiveness of KabOOM on both reducing the dimensionality of the incoming crash reports and producing crash categories that are intuitive to developers.
△ Less
Submitted 20 October, 2021;
originally announced October 2021.
-
Predicting cross-linguistic adjective order with information gain
Authors:
William Dyer,
Richard Futrell,
Zoey Liu,
Gregory Scontras
Abstract:
Languages vary in their placement of multiple adjectives before, after, or surrounding the noun, but they typically exhibit strong intra-language tendencies on the relative order of those adjectives (e.g., the preference for `big blue box' in English, `grande boîte bleue' in French, and `alsundūq al'azraq alkabīr' in Arabic). We advance a new quantitative account of adjective order across typologi…
▽ More
Languages vary in their placement of multiple adjectives before, after, or surrounding the noun, but they typically exhibit strong intra-language tendencies on the relative order of those adjectives (e.g., the preference for `big blue box' in English, `grande boîte bleue' in French, and `alsundūq al'azraq alkabīr' in Arabic). We advance a new quantitative account of adjective order across typologically-distinct languages based on maximizing information gain. Our model addresses the left-right asymmetry of French-type ANA sequences with the same approach as AAN and NAA orderings, without appeal to other mechanisms. We find that, across 32 languages, the preferred order of adjectives largely mirrors an efficient algorithm of maximizing information gain.
△ Less
Submitted 30 December, 2020;
originally announced December 2020.