UrgenT Help Detecting Performance Regressions Using Machine Learning and Hardware Counters [P]
Our take
The challenge of performance regression detection is a perennial concern for developers, and the approach outlined by /u/ZeroDark_Hereford highlights a compelling application of machine learning to address it. Their methodology – leveraging anomaly detection to identify deviations from established performance baselines – is particularly relevant given the increasing complexity of modern software and the difficulty of manually tracking regressions across numerous hardware counters. The core question revolves around effectively training a model with limited "healthy" data, a scenario that’s increasingly common as systems become more specialized and capturing comprehensive baseline data becomes resource-intensive. It’s encouraging to see practitioners exploring these techniques, especially given the recent work on diagnosing model failures, as seen in worldproof: diagnosing where world-model predictions break and a measurement of when pixel metrics stop being able to rank models at all which underscores the need for robust diagnostic tools, even within seemingly unrelated areas like world model prediction. The shift toward automated regression detection is crucial for maintaining software quality and accelerating development cycles.
The confusion raised by /u/ZeroDark_Hereford regarding the traditional train/validation/test split is understandable given the nature of one-class anomaly detection. While a standard split might seem unnecessary when the goal isn't prediction of a continuous value, the validation set’s role in tuning the detection threshold remains critical. Their current use of leave-one-out is a sensible approach with such limited healthy data, though experimenting with a 60/20/20 split, as they suggest, could be worthwhile to assess potential overfitting to the leave-one-out methodology. The decision to treat regression samples as a purely unseen test set is sound; using them for training or threshold selection would inherently bias the evaluation. The suggestion of collecting a second independent healthy dataset for final false-positive testing is exceptionally prudent. It’s a vital step in ensuring the model's reliability and minimizing the risk of spurious alerts that could disrupt development workflows. This echoes the ongoing discussions around review modification dates in conferences, as noted in Neurips 2026: Modified date on reviews – a rigorous evaluation process is key to trust and validity.
The focus on false-positive and detection rates/recall over MSE/MAE is absolutely correct. Evaluating performance regression detection necessitates metrics that reflect the model’s ability to accurately identify anomalies without generating excessive false alarms. MSE/MAE are irrelevant in this context as there’s no continuous value being predicted. A well-calibrated detection system prioritizes minimizing both false positives and false negatives, balancing sensitivity with precision. The challenge, as always, lies in finding the optimal threshold that achieves this balance, and the careful evaluation strategies outlined by /u/ZeroDark_Hereford demonstrate a thoughtful approach to this problem. Furthermore, the use of hardware counters provides a granular level of insight into performance bottlenecks that traditional profiling tools might miss, potentially leading to more targeted and effective optimization efforts. The complexity of this is not lost on the community, as evidenced by discussions around building diffusion models, as detailed in Building text to ASCII diffusion model , need advice and guidance, where efficient model construction is a primary concern.
Ultimately, the work described by /u/ZeroDark_Hereford points toward a future where performance regression detection becomes an automated, proactive process. As software systems continue to grow in complexity, relying solely on manual testing and ad-hoc debugging will become increasingly unsustainable. The ability to automatically identify and diagnose performance regressions, powered by machine learning and hardware counter data, will be a critical enabler for maintaining software quality and accelerating innovation. A key question moving forward is how to effectively scale these anomaly detection models to handle the vast and ever-changing landscape of modern software, and whether techniques like federated learning could enable collaborative baseline generation without compromising data privacy.
I’m working on performance regression detection using machine learning/anomaly detection.
My setup is basically:
- Healthy runs are used to learn normal behaviour
- Regression runs are used to see whether the model detects the anomaly
- For each counter group I only have about 10 healthy samples
- I’m currently using leave-one-out on the healthy data to set the detection threshold
- The regression samples are not used during training or threshold selection
I’m confused about a few things:
- Do I still need a normal train/validation/test split for this type of one-class anomaly detection?
- With only 10 healthy samples, is leave-one-out better than splitting them into something like 60/20/20?
- Can the regression samples simply act as the unseen test set?
- Would it be better to collect a second independent healthy dataset and use that as a final test for false positives?
- For evaluation, should I mainly use false-positive rate and detection rate/recall rather than MSE/MAE, since I’m not predicting a continuous value?
Just trying to make sure the evaluation setup is correct before I finalise it.
[link] [comments]
Read on the original site
Open the publisher's page for the full experience