Мы ищем старшего инженера по машинному обучению для присоединения к команде ML Core, которая создает общие модели машинного обучения, лежащие в основе рекомендаций, поиска и понимания контента на SoundCloud. Новые звуки начинаются на SoundCloud. Наша задача — соединять артистов с сообществами, которым будет интересна их музыка, и помогать слушателям открывать жемчужины и новые сцены, которые они никогда не нашли бы самостоятельно. Рекомендации — наша самая большая область, но вы будете работать с задачами, которые имеют общие основы: представление пользователей, треков и создателей, а также их качественный ранжирование. Мы также находимся в процессе модернизации нашего стека, переходя от классических подходов к глубокому обучению на GPU, и вы сыграете в этом большую роль.
Основные обязанности:
- Проектировать, обучать и внедрять модели для рекомендаций (генерация кандидатов, моделирование пользователей/элементов, ранжирование) и связанных задач в поиске и понимании контента.
- Возглавлять переход ключевых моделей от классических подходов (например, встраивания в стиле word2vec) к моделям на базе PyTorch, обучаемым и обслуживаемым на GPU.
- Адаптировать, дообучать и оценивать открытые модели встраивания и ранжирования для нашего каталога и сценариев использования.
- Полностью отвечать за оценку: офлайн-метрики, A/B эксперименты и обеспечение того, чтобы офлайн-приросты отражались онлайн.
- Работать с инженерами по машинному обучению, данным и бэкенду для внедрения моделей в продакшен и поддержания их работоспособности, а также помогать устанавливать стандарты моделирования в команде.
Что мы ищем:
- Более 3 лет опыта создания систем машинного обучения в продакшене с полной ответственностью за как минимум одну модель ранжирования, поиска или рекомендаций.
- Сильные навыки глубокого обучения в PyTorch (или аналогичных фреймворках) и хорошее понимание основ рекомендаций и поиска (встраивания, двухбашенные модели, обучение ранжированию, многозадачное ранжирование) и их компромиссов.
- Опыт оценки и экспериментов для систем ранжирования, включая учет смещений в неявной обратной связи, такой как клики и воспроизведения.
- Хорошее владение Python; комфортная работа с обработкой больших данных (например, Spark/BigQuery) и внедрением моделей в продакшен на облачной платформе (предпочтительно GCP).
- Степень магистра в количественной области или эквивалентный опыт.
Желательно иметь:
- Дообучение или обслуживание трансформерных моделей встраивания/ранжирования.
- Применение больших языковых моделей (LLM) или фундаментальных моделей для рекомендаций (понимание контента, семантические идентификаторы, генеративный поиск, генерация признаков).
- Опыт в аудио- или музыкальном машинном обучении, или мультимодальных представлениях.
- Контекстуальные бандиты, обучение с подкреплением или причинно-следственные методы для долгосрочной ценности.
- Публикации на конференциях RecSys, KDD, SIGIR, WSDM, NeurIPS или аналогичных.
- Опыт с ANN/векторным поиском и обучением или обслуживанием на GPU в масштабе.
Мы призываем вас подавать заявку, даже если вы не соответствуете всем требованиям. Исследования показывают, что некоторые кандидаты могут сомневаться в своей пригодности, поэтому, пожалуйста, подавайте заявку, если вы заинтересованы.