Прошлая lifestory была больше года назад. Ну ничего, продолжаем.
Вернувшись со второй стажировки в MSR, я вышел в новую команду в Яндекс Картах. Проект был от Афиши, которая пыталась запустить новый сервис — «Яндекс Кино». И там, конечно, нужны были рекомендации фильмов.
Я вышел в сентябре. Запуск ожидали к концу года, и пока сервиса (и данных) не было, я занялся исследованиями, используя старую базу оценок от некоторого другого сервиса. А ещё начал набирать стажеров (тогда еще практикантов — на четверть ставки).
Я стал использовать ту самую технику из патента Microsoft — Bin Counting (по сути, градиентный бустинг поверх счетчиков). Совместил этот метод со стандартом рекомендательных моделей на тот момент — матричной факторизацией (SVD-разложением). И довольно быстро наступил на первые грабли. Когда обучаешь одну модель, потом вторую поверх неё (стэкинг), оказывается, их нельзя обучать на одних и тех же данных. Пришлось понять это на собственном опыте.
Прошло несколько месяцев. Ресерч — это классно, но я помню, как сказал руководителю: «Так я могу еще лет пять сидеть, но хочется уже двигаться в сторону продакшна». А сроки запуска «Яндекс Кино» начали сползать: сначала на пару месяцев, потом ещё на несколько, а потом — до конца года.
Тем временем в начале 2013-го Андрей Гулин представил TensorNet — апгрейд известного MatrixNet, скрещенный как раз с факторизацией. Это казалось куда более фундаментальным подходом, чем наше решение. Когда мы с практикантами вышли с доклада, я был слегка поникшим: казалось, мы занимаемся какой-то фигней, а Гулин уже всё придумал. В общем, мы решили сходить к нему и хотя бы рассказать о своем проекте.
К лету 2013-го мы собрали прототип рекоммендера, который реально мог отвечать на запросы. А «Яндекс Кино» так и не запустилось. Зато произошли организационные изменения: руководители Рамблер-Афиши — Дима Степанов, Витя Ламбурт и другие — перешли в Яндекс и открыли направление Медиасервисов. Туда же уходила и Яндекс Афиша.
Для меня наступил момент кульминации. Внезапно оказалось, что меня хотят сразу в четырех местах Яндекса:
➡️ в Картах — убеждали остаться, ведь там тоже когда-нибудь понадобятся рекомендации
➡️ в Медиасервисах — логичный путь вместе с Афишей и Музыкой
➡️ у Гулина и Стыскина — звали разрабатывать TensorNet
➡️ в Маркете — тоже были не против поработать над рекомендациями
К тому времени у меня было уже не два практиканта, а целая группа. Моя прошлая команда (YT) подшучивала: «Смотрите, идет Миша, а за ним большой хвостик».
Из четырех вариантов самыми разумными казались два: идти к Гулину за «фундаментальностью» или в Медиасервисы за конкретными рекомендательными продуктами. Я выбрал второй вариант. Там была понятная цель, а технологию предстояло строить с нуля. К тому же, Витя Ламбурт был чуть ли не первым из руководителей, кто с огромной охотой несколько часов слушал, что же мы там такое наисследовали.
#lifestories
Вернувшись со второй стажировки в MSR, я вышел в новую команду в Яндекс Картах. Проект был от Афиши, которая пыталась запустить новый сервис — «Яндекс Кино». И там, конечно, нужны были рекомендации фильмов.
Я вышел в сентябре. Запуск ожидали к концу года, и пока сервиса (и данных) не было, я занялся исследованиями, используя старую базу оценок от некоторого другого сервиса. А ещё начал набирать стажеров (тогда еще практикантов — на четверть ставки).
Я стал использовать ту самую технику из патента Microsoft — Bin Counting (по сути, градиентный бустинг поверх счетчиков). Совместил этот метод со стандартом рекомендательных моделей на тот момент — матричной факторизацией (SVD-разложением). И довольно быстро наступил на первые грабли. Когда обучаешь одну модель, потом вторую поверх неё (стэкинг), оказывается, их нельзя обучать на одних и тех же данных. Пришлось понять это на собственном опыте.
Прошло несколько месяцев. Ресерч — это классно, но я помню, как сказал руководителю: «Так я могу еще лет пять сидеть, но хочется уже двигаться в сторону продакшна». А сроки запуска «Яндекс Кино» начали сползать: сначала на пару месяцев, потом ещё на несколько, а потом — до конца года.
Тем временем в начале 2013-го Андрей Гулин представил TensorNet — апгрейд известного MatrixNet, скрещенный как раз с факторизацией. Это казалось куда более фундаментальным подходом, чем наше решение. Когда мы с практикантами вышли с доклада, я был слегка поникшим: казалось, мы занимаемся какой-то фигней, а Гулин уже всё придумал. В общем, мы решили сходить к нему и хотя бы рассказать о своем проекте.
Примечание:
TensorNet спустя годы превратился в CatBoost, факторизацию из него убрали, а бустинг поверх SVD вполне успешно работает до сих пор.
К лету 2013-го мы собрали прототип рекоммендера, который реально мог отвечать на запросы. А «Яндекс Кино» так и не запустилось. Зато произошли организационные изменения: руководители Рамблер-Афиши — Дима Степанов, Витя Ламбурт и другие — перешли в Яндекс и открыли направление Медиасервисов. Туда же уходила и Яндекс Афиша.
Для меня наступил момент кульминации. Внезапно оказалось, что меня хотят сразу в четырех местах Яндекса:
➡️ в Картах — убеждали остаться, ведь там тоже когда-нибудь понадобятся рекомендации
➡️ в Медиасервисах — логичный путь вместе с Афишей и Музыкой
➡️ у Гулина и Стыскина — звали разрабатывать TensorNet
➡️ в Маркете — тоже были не против поработать над рекомендациями
К тому времени у меня было уже не два практиканта, а целая группа. Моя прошлая команда (YT) подшучивала: «Смотрите, идет Миша, а за ним большой хвостик».
Из четырех вариантов самыми разумными казались два: идти к Гулину за «фундаментальностью» или в Медиасервисы за конкретными рекомендательными продуктами. Я выбрал второй вариант. Там была понятная цель, а технологию предстояло строить с нуля. К тому же, Витя Ламбурт был чуть ли не первым из руководителей, кто с огромной охотой несколько часов слушал, что же мы там такое наисследовали.
#lifestories