В конце 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 внутри компании, но и для других. которые также столкнулись с проблемами временных рядов», — добавил Бхатнагар.