Обязанности:
Команда AI VK развивает технологии искусственного интеллекта для ключевых продуктов компании, разрабатывает систему рекомендаций и поиска контента на наших платформах, чтобы 95% пользователей рунета быстро и эффективно решали свои задачи с помощью сервисов VK. Наша команда разрабатывает и улучшает алгоритмы рекомендаций неподписного контента в ленте Одноклассников. Лента — это сервис с десятками миллионов DAU на всех платформах. Это ключевая часть социальной сети, содержимое которой формируется, исходя из предпочтений пользователя с помощью различных моделей машинного обучения и не только. В задачу сервиса входит не только отобрать интересный пользователю контент, но и сделать это быстро, в том числе формируя рекомендации на лету, анализируя данные об активности пользователя в реальном времени. Мы работаем с сотнями тысяч запросов в секунду и формируем персональные ленты в реальном времени с использованием сотен ML-моделей. Сейчас у нас стоит задача — переработать бэкенд рекомендательной системы и выровнять его с другими сервисами VK, чтобы все команды могли переиспользовать алгоритмы и лучшие практики друг друга. Мы оптимизируем существующие модели и создаём новые, чтобы адаптировать сервисы к возросшей нагрузке и новым форматам контента, а также повысить качество выдачи. Задачи: разработка новых и усовершенствование существующих рекомендательных моделей в ленте неподписного контента; разработка и улучшение рантайма построения рекомендаций; реализация стриминговых сервисов для сбора признаков и применения в моделях; проведение А/В-экспериментов и их оценка; обработка и анализ больших данных. Требования: хорошие знания Java, Spring Framework, принципов построения микросервисной архитектуры; опыт работы с продуктами BigData-стека (Hadoop, Spark); опыт работы с инструментами потоковой обработки данных (Apache Samza, Spark Streaming, Kafka); понимание принципов работы и подходов к построению рекомендательных систем; опыт или желание разбираться с сервисами на основе ML, в частности с рекомендательными системами. Будет плюсом: опыт со Scala (Apache Spark) и Python (Pandas/NumPy/Scikit-learn/PyTorch/PySpark); знания классического машинного обучения и математической статистики.