В конце 2020 года группа управления производительностью приложений Salesforce столкнулась с проблемой — им пришлось усовершенствовать свои алгоритмы обнаружения аномалий. Эта команда отслеживает качество данных во всех центрах обработки данных Salesforce, которые производят множество показателей в реальном времени. Одной из таких метрик в реальном времени является загрузка ЦП, которая генерирует данные временных рядов.

«Когда вы можете обнаруживать аномалии, которые вы получаете из центров обработки данных Salesforce, вы можете определить потенциальные события, происходящие в Salesforce», — говорит Адьот Бхатнагар, старший инженер-исследователь, Salesforce. «Таким образом, вы можете быстрее обнаруживать и устранять аномалии, сокращая время простоя ваших клиентов. Это одна из причин, по которой Salesforce интересуется временными рядами».

Бхатнагар и вся его команда последние два года работали над разработкой библиотеки машинного обучения (ML) Merlion с открытым исходным кодом. Merlion выполняет анализ временных рядов с помощью машинного обучения. Первоначально разработанный для решения проблемы алгоритма обнаружения аномалий, Merlion теперь превратился в сквозную библиотеку Python для широкого спектра задач временных рядов, включая прогнозирование.

Как работает Merlion с открытым исходным кодом?

Начатый как глобальный совместный проект между исследовательскими группами Salesforce в Сингапуре и Пало-Альто, проект Merlion назван в честь национального животного Сингапура — мифического существа, которое является наполовину львом-наполовину рыбой. Как и мифическое существо, проект Мерлион делает больше, чем одну вещь.

В дополнение к своим возможностям машинного обучения Merlion также может обеспечивать загрузку данных, обработку данных, разработку разнообразных моделей, интегрированных в общий API, и обучение этих моделей выполнению задач. Эта библиотека Python содержит различные упражнения и шаги, которые помогают пользователям получить желаемые результаты и создать надежную структуру оценки производительности модели данных.

Как только проект был инициирован, Бхатнагар и его команда определили потребность в атрибутах машинного обучения временных рядов для различных внутренних задач Salesforce. Прогнозирование временных рядов Merlion с открытым исходным кодом — отличная основа для выполнения разнообразных задач.

Допустим, в секторе ИТ-операций есть услуга, которая интенсивно использует вычислительные ресурсы, такие как ЦП и память. Атрибут машинного обучения временных рядов можно использовать для упреждающего прогнозирования, которое покажет, как будет колебаться использование ресурсов, тем самым помогая специалистам Salesforce лучше планировать свои возможности.

Merlion с открытым исходным кодом: от идеи до использования

Идея разработать библиотеку машинного обучения — это одна задача, но наличие поддерживающей технологии, которая переводит эту библиотеку знаний в рабочую производственную среду, — другая задача. Бхатнагар сообщил, что большинство библиотек машинного обучения создают проблемы при их интеграции с производственной средой.

Некоторые проблемы, с которыми можно столкнуться, включают:

· Доступ к основным вычислительным ресурсам

· Извлечение данных в требуемом формате и способом и

· Способность считывать данные обратно в соответствующие места

Чтобы преодолеть такие проблемы, проект Merlion добавил некоторые параметры по умолчанию, которые позволяют пользователям получить хорошие отправные точки. Весь проект Merlion направлен на упрощение различных рабочих процессов проекта и автоматизацию операций там, где это необходимо.

На пути к новой модели с открытым исходным кодом для анализа машинного обучения временных рядов

До Merlion проект Prophet под руководством Facebook был первым проектом с открытым исходным кодом, обеспечивающим прогнозирование для анализа данных временных рядов. Бхатнагар заявил, что Prophet имеет только часть функций Merlion (функции предварительной обработки, оценки, моделирования и постобработки) и, как следствие, не соответствует требованиям Salesforce.

Это побудило Salesforce создать собственный проект для решения различных проблем, связанных с анализом данных временных рядов; Компания сделала разработанное ею решение открытым для всех, что позволило различным организациям использовать его для удовлетворения своих потребностей. Проект Merlion с открытым исходным кодом от Salesforce может использоваться как внутри организации Salesforce, так и любой другой фирмой, которая хочет использовать модель анализа временных рядов ML.

«Понимая, что не существует стандартного решения, отвечающего всем требованиям тех, кто хочет получить доступ и использовать анализ машинного обучения временных рядов на единой платформе, мы пришли к выводу, что проект Merlion будет полезен не только для Salesforce внутри компании, но и для других. которые также столкнулись с проблемами временных рядов», — добавил Бхатнагар.