Зачем «Яндекс» открыл доступ к своей системе машинного обучения

CatBoost
CatBoost
Почему раскрыты исходные коды продукта, который может быть полезен в сферах от металлургии и нефтеобработки до финансовой аналитики, страхования и даже систем рекомендации контента

Компания «Яндекс» разработала и первая среди российских компаний открыла для всех пользователей систему машинного обучения CatBoost. Она уже используется для обработки данных Большого адронного коллайдера в рамках сотрудничества с Европейской организацией по ядерным исследованиям (ЦЕРН), сообщили Forbes в пресс-службе компании. Сейчас исходный код, документация, бенчмарки и необходимые инструменты уже доступны на GitHub по открытой лицензии Apache 2.0. Как представители рынка отнеслись к продукту интернет-корпорации?

Описание CatBoost

Анонсированная библиотека позволяет обучать модели на разнородных данных, в том числе таких, которые сложно представить в виде чисел (например, виды облаков или категории товаров), поясняют в компании. В основе метода лежит один из популярных алгоритмов машинного обучения — деревья решений, которые стремятся описать мир ступенчатыми функциями. Второй известный метод — нейросети — описывают закладываемую информацию гладкими функциями. Для пользователя итоговая разница проявляется в эффективности работы, которая зависит от задачи и данных, а разработчики в целом хорошо знают, когда какое решение стоит применить.

«CatBoost — первый российский метод машинного обучения, который стал доступен публике», — сообщил руководитель управления машинного интеллекта и исследований «Яндекса» Михаил Биленко. В компании пояснили, что CatBoost — наследник метода машинного обучения Матрикcнет, который применяется почти во всех сервисах компании.

Как и предшественник, CatBoost подходит для работы с разнородными данными, используя механизм градиентного бустинга (множество деревьев решений, которые в совокупности делают некий прогноз), применяемый почти во всех технологических компаниях, где есть машинное обучение, уточнили в «Яндексе». «Но если Матрикснет обучает модели на числовых данных, то CatBoost учитывает и нечисловые, например виды облаков или типы зданий. Раньше такие данные приходилось переводить на язык цифр, что могло изменить их суть и повлиять на точность работы модели», — объясняет руководитель разработки систем машинного обучения «Яндекса» Анна Вероника Дорогуш. Теперь же такие данные можно использовать в первоначальном виде, благодаря чему, по ее словам, CatBoost показывает более высокое качество обучения, чем аналогичные методы для работы с разнородными данными.

Читайте также: «Яндекс» станет совладельцем глобального бизнеса Uber

В «Яндексе» уверены, что новая технология может быть полезна в сферах от металлургии и нефтеобработки до финансовой аналитики, страхования и даже систем рекомендации контента. «С помощью CatBoost можно показывать пользователю действительно актуальную информацию и повышать процент кликов на предложенные статьи — это очень важный показатель для любых таких рекомендательных систем», — считает представитель российского интернет-гиганта. Сама компания уже протестировала CatBoost в своих сервисах «Яндекс.Дзен» и «Яндекс.Погода», а в будущем планирует встроить ее в свой поиск.

Реакция участников рынка

Сравнивая систему с подобными продуктами Google (Tensorflow) и Microsoft (LightGBM), представитель «Яндекса» отметила, что Tensorflow решает другой класс задач, эффективно анализируя однородные данные — например, если речь идет об анализе изображений. «CatBoost работает с данными разной природы и может быть использован в связке с Tensorflow и другими алгоритмами машинного обучения в зависимости от конкретных задач», — говорит Дорогуш. Она подчеркивает, что у LightGBM российские разработчики выигрывают по качеству, что демонстрирует таблица тестов с общепринятым в машинном обучении сравнением. Пока компания проигрывает другим продуктам в скорости, но обещает догнать их и по этому показателю. Дорогуш добавляет, что CatBoost — результат долгой работы и, выкладывая технологию в открытый доступ, «Яндекс» обеспечивает серьезный вклад в развитие машинного обучения и рассчитывает, что сообщество специалистов оценит алгоритм по достоинству и поможет сделать его еще лучше: «Мы даем что-то сообществу, сообщество дает нам что-то в ответ».

«По тестам он [CatBoost] обходит на некоторых стандартных задачах [конкурирующие] алгоритмы на единицы процентов, в machine learning это довольно много»,  пояснил Анатолий Орлов, руководитель Лаборатории больших данных ФРИИ. Важность развития алгоритма для российского поисковика он объяснил тем, что выдача поисковиков ранжируется именно по градиентному бустингу, используемому в CatBoost, а не по более привычным для среднестатистического пользователя нейросетям. Директор по стратегии и анализу Mail.Ru Group, куратор образовательной платформы для программистов GeekBrains Александр Горный уточнил, что сложно оценить качество нового продукта «Яндекса» за сутки и требуется более внимательное изучение эффекта его применения. Он считает, что даже если эффект будет заметен в одной задаче из десяти — это все равно хороший результат.

Читайте также: Рекламная машина: как искусственный интеллект научился планировать медийные бюджеты

«Яндекс» пока не планирует зарабатывать на Catboost, он бесплатен для всех пользователей. В чем тогда выгода компании? «Очень правильный и своевременный шаг со стороны «Яндекса», — оценил выход CatBoost в открытых исходных кодах генеральный директор специализирующейся на компьютерном зрении компании VisionLabs Александр Ханин. Он объяснил, что наличие OpenSource-проектов подобного класса важно для PR и репутации в комьюнити машинного обучения, но отметил, что успешность фреймворка, покажет время и количество активных пользователей. В качестве индикатора успешности продукта Ханин предлагает количество использований этой библиотеки в конкурсах kaggle по отношению к случаям использования конкурентов.

«Компании выкладывают свой продукт в открытый доступ для создания сообщества и экосистемы вокруг разработки, авторитета среди разработчиков и популяризации компании. Любое упоминание об использовании Catboost в, например, конкурсах kaggle плюс к репутации «Яндекса» как технологической компании. Для комьюнити это плюс, так как у xgboost появился серьезный конкурент, отточенный годами практики в продакшене большой компании», — объяснил Ханин мотивацию «Яндекса» и сообщества.

Александр Горный считает, что кроме очевидного социально-морального фактора есть, как минимум, три причины «за». Во-первых, дополнительное тестирование: «Чем больше людей будет использовать наш Tarantool или яндексовский CatBoost, тем больше интересных идей или пожеланий получат разработчики и тем лучше отрасль будет развиваться». В качестве второго аргумента он отметил, что мир становится лучше, а интернет-компании — одни из бенефициаров этого улучшения: «Каждый новый стартап — это не только приятный пользователю сервис, но и покупатель рекламы, и потенциальный объект для инвестиций. Чем больше и чем качественнее, будут стартапы, тем лучше будет всем». И наконец согласился с коллегами, что открытый доступ к кодам важен в качестве подготовки кадров: «Разработчика, заранее научившегося принятому в компании технологическому стеку, не надо доучивать или переучивать после приема на работу».

Орлов отметил, что у российской интернет-компании один конкурент — Google. Но у него уже есть подобная технология, поэтому ее распространение не страшно «Яндексу». Зато мотивирует разработчиков поисковика: «Людям, которые выпускают библиотеку приятно, потому что это дает возможность создать научные публикации, получить уважение в сообществе, восторженные отзывы фанаток и т.п».

Смотрите также: Человечество в опасности: Илон Маск призвал регулировать искусственный интеллект