Check out the on-demand sessions from the Low-Code/No-Code Summit to learn how to successfully innovate and achieve efficiency by upskilling and scaling citizen developers. Watch now.
Salesforce’s application performance management team faced a challenge in late 2020: they needed to improve anomaly detection algorithms.
The performance management team was monitoring the health of Salesforce’s data centers, which emit a lot of metrics in real time, including CPU utilization for any particular service. Those metrics generate what is known as time-series data.
“If you can detect anomalies in telemetry metrics that you’re getting from data centers, you can detect incidents that are potentially happening within Salesforce faster, then you can remediate them faster, and that reduces downtime for customers,” Aadyot Bhatnagar, senior research engineer at Salesforce, told VentureBeat. “So that was the original motivation for why we might be interested in time series overall.”
Over the last two years, Bhatnagar and his team have been developing an open-source machine learning library, called Merlion, that runs time-series analysis with machine learning. It was originally designed to help solve the challenge that Salesforce’s application performance management team faced. Merlion is an end-to-end Python library for many time-series tasks, he explained, including anomaly detection as well as forecasting.
Intelligent Security Summit
Learn the critical role of AI & ML in cybersecurity and industry specific case studies on December 8. Register for your free pass today.
How Merlion works and what time-series machine learning enables
The Merlion project was started as a collaboration between Salesforce’s research teams in Palo Alto and Singapore.
“The Merlion is a mythical animal, half lion, half fish, which is also the national animal of Singapore,” Bhatnagar said.
Much like the mythical Merlion the project is named after, the Merlion machine learning technology is more than just a single thing. Merlion includes capabilities for loading and processing data, building and training a wide array of models that are unified under a common API, Bhatnager said. The project also includes practices and steps for model outputs, as well a framework to actually evaluate model performance.
Once the Merlion project got underway, Bhatnagar’s team quickly realized Salesforce’s wide array of internal needs for time series machine learning. The original motivation for the project was anomaly detection for application performance management.
“In addition to that, we also found a lot of use for time series forecasting for a pretty wide range of tasks,” he noted.
For example, in the IT operations area, if there is a service that is consuming computational resources, like memory and CPU, time-series-based machine learning can be used for predictive forecasting. That forecast can predict how resource usage will change, which can help Salesforce to better plan capacity.
From idea to production usage for Merlion
Having an idea for a machine learning library is one thing; having technology that actually works in a production environment is quite another.
Bhatnagar said that in his view, a common challenge with any machine learning library is integration into production environments. That includes making the machine learning tool able to get the data in the way it needs, with access to the necessary compute resources and the ability to read the data back out to the appropriate places.
To deal with that challenge, Bhatnagar said the Merlion project has added some default options, providing users with a good starting point. The project continues to make the overall workflow easier to have operations be more automatic.
Towards a new open-source standard for time-series analysis
Merlion isn’t the first open-source project to attempt to help solve the challenge of time series analysis.
Among the most popular is the Facebook-led Prophet project, which provides forecasting capabilities for time series data. According to Bhatnagar, Prophet didn’t meet Salesforce’s needs, as it only has a subset of the features that Merlion has, including pre-processing, modeling, evaluation and post-processing. That’s why Salesforce decided to build its own project and then open source it.
As an open-source project, Merlion can be used internally at Salesforce and by anyone else that is looking for a time-series data machine learning analysis framework.
“In our view, there was a lack of a standardized solution that met all of the needs that people have for time series analysis in one place,” Bhatnagar said. “So we figured that this would be incredibly useful, not just to Salesforce, but also to other folks who had time series problems.”
VentureBeat's mission is to be a digital town square for technical decision-makers to gain knowledge about transformative enterprise technology and transact. Discover our Briefings.