Java Developer в команду ML
Требуется java developer в команду ml.
Должностные обязанности:
Команда 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);
знания классического машинного обучения и математической статистики.
Условия:
Полный рабочий день