Проект ок.tech Data Толк родился как дискуссионная площадка для специалистов, занимающихся обработкой и аналитикой больших данных. Каждый раз мы подчеркиваем, что основная задача наших митапов – это не доклады, хотя они тоже очень важны, а открытая дискуссия аудитории со спикерами, во время которой у участников есть время обсудить любые вопросы в рамках тематики мероприятия. Мы считаем, что в сложившейся ситуации когда количество проблем и нерешенных задач в области Data Science стремительно растет, открытый диалог очень важен.
Мы провели 2 встречи, на первой обсуждали достоинства и недостатки разных подходов к хранению данных и то, как эти подходы влияют на работу разных команд, а также коснулись вопросов эволюции хранилищ данных. Вторая встреча была посвящена образованию в Data Science, на площадке встретились представители разных мнений, спикеры поговорили о важности университетского образования, разнообразии онлайн-курсов и их особенностях, а также о том, какими навыками необходимо обладать, чтобы стать крутым и востребованным датасаентистом.
В преддверии третьего митапа, который пройдет 6 ноября в Москве и будет посвящен рекомендательным системам, мы поговорили со спикерами об их пути в разработку рекомендательных систем, о том как им видится их будущее этого направления и попросили порекомендовать, что надо делать сейчас, чтобы знания и умения оставались актуальными даже через несколько лет. Также мы поинтересовались, о чем они будут рассказывать на митапе и почему стоит посетить это мероприятие.
Зарегистрироваться на Data Толк #3
Расскажи немного о себе?
Андрей Кузнецов, Одноклассники
Привет, по образованию я инженер телекоммуникаций. После окончания вуза пошел писать диссертацию и одновременно преподавал. В какой-то момент мне показалось, что на старом месте сделал все, что хотел и пошел работать в Data Science. Рекомендациями в энтерпрайзе я занимаюсь не так давно, а основной опыт в этой сфере, приобрел из онлайн-курсов и соревновательного DS.
Владислав Грозин, Joom
В мир рекомендательных систем попал по наводке Алексея Натёкина, у которого учился в DataMining Lab. Я слабо понимал, на что иду, но в итоге зашло гораздо лучше, чем написание сетевых драйверов для Линукса в лаборатории при университете (чем я занимался до этого).
Евгений Фролов, СколТех
Мой путь в рекомендательные системы начался довольно просто. В 2014 году я был студентом Сколтеха, искал возможности заняться прикладными исследованиями в интересных мне областях машинного обучения. Хотелось именно чего-то связанного с интеллектуальными помощниками. Как раз в тот момент мой будущий научный руководитель, Иван Оселедец, объявил о новом проекте с одной немецкой конторой, заинтересованной в исследовании применимости продвинутых математических методов для рекомендательных систем. Звезды сошлись, так я начал делать свой Ph.D.
Расскажи про свою первую выкатку в продакшен?
Андрей Кузнецов, Одноклассники
Первая выкатка в продакшен была связана с рекомендациями групп в ОК и, конечно, это был волнительный опыт. Но наличие опытных коллег и отлаженных инструментов и процессов в команде сильно упрощает жизнь. Гипотеза, кстати, сработала и пайплайн пошел в прод, но спустя 3 месяца мы его заменили на более эффективное решение.
Владислав Грозин, Joom
Первая моделька, которую я запустил в прод, была не совсем про рекомендашки, а про поиск. Я отлично помню момент, когда на неё полился живой трафик. Трафик был маленький, каждый секунду-другую приходил запрос пользователя, создавая ещё одну строчку на экране (я смотрел за логами). Было волнительно: я отвечал и за модельку, и за инфраструктуру вокруг неё, и ожидал, что что-то сломается и потребует срочного вмешательства. Но все шло гладко, и минут через пятнадцать я успокоился и ушел за кофе.
Евгений Фролов, СколТех
В продакшен я лично модели не выкатывал. «Я ж исследователь». Мои задачи пока что связаны в основном с разработкой новых подходов и методов и не выходят за рамки реализации прототипов.
Как ты считаешь, что важнее: крутые алгоритмы или понимание предметной области?
Андрей Кузнецов, Одноклассники
В сфере рекомендаций, кажется, это два равноценных кита, на которых держатся все большие проекты. Знание специфики самих данных, того как они собираются и как функционирует система (особенно под нагрузками, сопоставимыми с нашими) здорово помогает заранее оценить, сработает тот или иной алгоритм и стоит ли на него тратить время. Ну а знать алгоритмы и инструменты их реализующие необходимо, чтобы уметь быстро примерить их к своей задаче и выкатить некоторый proof-of-concept на А/Б-тестирование.
Владислав Грозин, Joom
Важно взять самый крутой алгоритм, который подойдёт под задачу и ограничения по времени на разработку и ресурсам, и не побояться его запустить в прод.
Евгений Фролов, СколТех
Если мы говорим именно про область рекомендательных систем, то, как показывает практика (и не без отрыва от исследований), понимание предметной области важнее. Есть такое устоявшееся мнение, с которым я в большей степени согласен, что алгоритмы составляют 5 % от успеха рекомендательной системы. Сейчас область уже достигла той стадии развития, что можно довольно легко найти удобную библиотеку или программный пакет, раскатать в продакшн и начать получать профит. Да, возможно, выбор будет неоптимальным, но для начала этого будет достаточно, и позволит сфокусироваться на важных бизнес-задачах.
В каких новых областях будут применяться рекомендательные системы?
Андрей Кузнецов, Одноклассники
Самое грандиозное будущее, на мой взгляд, ждет рекомендательные системы в образовании, когда сама система образования (особенно российская) будет к этому готова :). Ведь вообще-то мы уже достаточно избалованы коммерческими рекомендациями, а вот иметь некоторую «профориентацию на стероидах» дорогого стоит.
Владислав Грозин, Joom
Кажется, что скоро рекомендательные системы будут встраивать в робополицейских, чтобы давать им рекомендации по релевантности применения методов физического воздействия к субъектам правового государства с целью конструктивного нравоучения.
Евгений Фролов, СколТех
Методы рекомендательных систем могут применяться для решения многих задач, где возникает проблема пропуска данных. Например, химики обнаружили, что можно таким образом прогнозировать новые, ранее неизвестные, неорганические соединения на основе комбинаций различных ионов/катионов. Другая задача – выявление эффективных лекарств против вирусов на основе белков с особыми ингибирующими свойствами. Крайне сложно знать, какие белки окажутся эффективными в противодействии конкретному штамму вирусов, если ранее испытаний не проводилось. Возможных вариантов и тех и тех много, вирусы еще и эволюционируют быстро, всего не измеришь. Но на основе неких общих паттернов в реакциях вирусов можно попытаться спрогнозировать результат там, где еще не было испытаний. Почти как в онлайн-ритейле, только с обратным эффектом — вирусу должен сильно не понравиться «товар».
Сейчас это робкие шаги, но, думаю, мы все больше будем видеть проникновение методов рекомендательных систем за пределы привычных нам областей коммерции, развлечений, рекламы. Хотелось бы на это надеяться по крайней мере. Кажется, что постепенно будет происходить сдвиг от простого обеспечения комфорта в сторону качественного изменения уровня жизни за счет помощи в принятии сложных решений, таких как составление индивидуальной траектории обучения для получения хорошего образования, выбор интересной и востребованной профессии или получение услуг персонализированной медицины.
Какую книгу или статью должен прочитать каждый, кто занимается рекомендательными системами?
Андрей Кузнецов, Одноклассники
Сложно порекомендовать конкретную книгу, так как область достаточно прикладная. Я бы порекомендовал онлайн-курсы, например, специализация по анализу данных от МФТИ на Coursera очень хороша.
Владислав Грозин, Joom
Мне кажется, что всем саентистам стоит почитать «GroupLens: An Open Architecture for Collaborative Filtering of Netnews». Эта статья описывает одну из первых развернутых рекомендательных систем, как мы их знаем теперь. Эта статья сильно отличается от того, что мы так часто читаем сейчас, так как затрагивает не только сам алгоритм, но и среду, в которой он будет работать.
Евгений Фролов, СколТех
Книг в этой области пока не так много, и при желании можно прочитать хоть все, хотя бы на беглом уровне. Глядя на то, как многие начинающие проходят один и тот же путь, ведущий к одним и тем же «граблям», я бы отметил статью 2010 года про подход PureSVD за авторством Paolo Cremonesi, Yehuda Koren и Roberto Turrin. Неслучайно она является третьей по цитируемости в сборниках работ ACM Conference on Recommender Systems за всю историю существования этой конференции. Мне в свое время она помогла иначе взглянуть на тот ворох статей, который вылезает в топе поисковой выдачи, если сформулировать запрос слишком пространно.
Лучшая opensource-библиотека для рекоменашек?
Андрей Кузнецов, Одноклассники
Зависит от решаемой задачи, объемов данных и платформы, на которой будет строится рекомендательная система. Кажется, что какой-нибудь LightFM можно порекомендовать в качестве бейзлайна практически для любой задачи рекомендаций.
Владислав Грозин, Joom
PyTorch?
Евгений Фролов^ СколТех
В моем случае ответ очевиден – библиотека Polara, которую разрабатываю я.
О чем будет твой доклад ок.tech Data Толк #3, и почему его стоит послушать
Андрей Кузнецов, Одноклассники
В докладе будет история разработки рекомендательной системы для проекта групп в ОК. Я расскажу про то, почему это интересный кейс сам по себе и чем он отличается от классических рекомендаций, например, товаров в e-commerce. Отдельно упомяну о том, какие шишки мы набили при разработке, какие были сделаны выводы и почему никогда не бывает мало данных и универсальных алгоритмов.
Владислав Грозин, Joom
Расскажу, что можно ожидать на конференциях. Многие хотят съездить, так как с виду это выглядит прикольно и круто, но не решаются инвестировать время и деньги, потому что непонятны детали и практическая польза от поездки. Надеюсь своим рассказом прояснить эти вопросы.
Евгений Фролов, СколТех
Я расскажу о нашей разработке — новой модели под названием HybridSVD — которую я недавно представил на конференции ACM RecSys. Это прямое обобщение модели PureSVD для гибридных рекомендательных систем, учитывающих дополнительную информацию о пользователях и товарах. Модель интересна тем, что не выходит за рамки вычисления сингулярного разложения, а значит, наследует все вычислительные преимущества и простоту использования. Об этом я и расскажу, останавливаясь также подробнее на технических аспектах.
Ребята, большое спасибо, что нашли время ответить на вопросы!
Мы ждем всех, кто хочет пообщаться с экспертами в области рекомендательных систем на митап 6 ноября в свой московский офис.
Приходите, будет интересно!
Зарегистрироваться на мероприятие.
Автор: Александр Анисимов