В блоге онлайн-кинотеатра ivi накопилось достаточно статей про архитектуру рекомендательной системы Hydra. Однако рекомендации — это не только внешний API, но и алгоритмы, которые живут «под капотом» и реализуют достаточно сложную бизнес-логику.
В этой статье я расскажу о проблеме «холодного старта» контента. Если вам интересно узнать, как мы рекомендуем контент, который недавно добавился в каталог и не успел набрать фидбэк от пользователей — добро пожаловать под кат.
Статья будет содержать воспроизводимый пример кода на языке Python с использованием Keras.
Задача деплоя моделей машинного обучения в продакшн — это всегда боль и страдания, потому что очень некомфортно вылезать из уютного jupyter notebook в мир мониторинга и отказоустойчивости.
Мы уже писали про первую итерацию рефакторинга рекомендательной системы онлайн-кинотеатра ivi. За прошедший год мы почти не дорабатывали архитектуру приложения (из глобального — только перезд с устаревших python 2.7 и python 3.4 на «свежий» python 3.6), зато добавили несколько новых ML моделей и сразу столкнулись с проблемой выкатывания новых алгоритмов в продакшн. В статье я расскажу про наш опыт внедрения такого инструмента управления потоками выполнения задач как Apache Airflow: почему у команды возникла эта необходимость, чем не устраивало существующее решение, какие костыли пришлось запилить по дороге и что из этого получилось.
→ Видео-версию доклада можно посмотреть на ютубе (начиная с 03:00:00) здесь.
Последние несколько лет в развитии глубоких нейронных сетей происходит настоящая революция: возникают новые архитектуры, совершенствуются фреймворки для разработчиков, а железо для экспериментов можно получить совершенно бесплатно — например, в рамках проекта Google colaboratory. Всем, кому интересно как применить предобученные модели из репозитория Tensorflow Object Detection API к решению своей задачи, используя мощности Colaboratory — добро пожаловать под кат.
Если не хочется читать статью — можно сразу познакомиться с ноутбучеком в репозитории
В онлайн-кинотеатре ivi десятки тысяч единиц контента и задача «выбрать, что посмотреть» становится нетривиальной.
О рекомендательной системе в ivi, которая занимается подбором контента на основе пользовательских интересов (внутреннее название — Hydra) мы писали тут и тут. Прошло уже много времени и код проекта значительно изменился: оффлайн часть переехала на Spark, онлайн часть адаптировалась к высоким нагрузкам, Hydra начала использовать другую рекомендательную модель — все эти изменения будут освещены в статье.
6-8 апреля на территории Московского авиационного института прошел хакатон, организованный IT-центром МАИ, на котором были представлены задачи от IT-компаний и представителей авиационной индустрии.
Онлайн-кинотеатр ivi выступил партнёром хакатона: предоставил набор данных о контенте, а также осуществил менторскую поддержку команд. Финальные презентации оценивало независимое жюри, в которое вошли представители it-центра МАИ. Немного подробностей под катом.
По мотивам статьи Пишем бота для игры «Найди отличие» появилась идея реализовать поиск сторонних объектов на заданном изображении, используя алгоритмы компьютерного зрения.