Зачем «Яндекс» открыл доступ к своей системе машинного обучения
Компания «Яндекс» разработала и первая среди российских компаний открыла для всех пользователей систему машинного обучения 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. Но у него уже есть подобная технология, поэтому ее распространение не страшно «Яндексу». Зато мотивирует разработчиков поисковика: «Людям, которые выпускают библиотеку приятно, потому что это дает возможность создать научные публикации, получить уважение в сообществе, восторженные отзывы фанаток и т.п».
Смотрите также: Человечество в опасности: Илон Маск призвал регулировать искусственный интеллект