Вернуться в видеотеку

Публичное собеседование ML-инженера с компанией X5 Tech

Разбор публичного технического собеседования на позицию ML-инженера в X5 Tech. Основные темы — рекомендательные системы, CatBoost, оценка моделей, обработка больших данных и архитектура офлайн- и realtime-рекомендаций.

Источник: Habr

Открыть на YouTube

Таймлайн

Коротко о видео

Публичное собеседование ML-инженера Бориса с Максимом Павловым из X5 Tech посвящено рекомендательным системам, ML-моделям и system design. Кандидат рассказывает о работе в Яндекс Картах: улучшении геолокации и модели выбора push-уведомлений с предложением оставить отзыв об организации. Затем он проектирует рекомендательную ленту для продуктового приложения, а интервьюер проверяет понимание CatBoost, оценки моделей, распределённой обработки данных, Spark, хранения рекомендаций, экспериментов и масштабирования. В финале Максим в целом положительно оценивает ответы, но отмечает необходимость глубже объяснять механизмы моделей и предлагать итеративные улучшения для проблемных сегментов.

Затронутые темы

Что взять на заметку

  • Для модели выбора push-уведомлений кандидат описывает задачу как ранжирование кандидатов с возможностью ничего не отправлять; целями выступают вероятность целевого действия, товарные ограничения и разные веса пользовательских реакций.
  • Для честной оценки уже работающей модели, по мнению кандидата, нужен небольшой рандомизированный поток: без него обучающие данные смещены решениями предыдущего ранжировщика.
  • В обсуждаемой табличной задаче кандидат выбирает CatBoost из-за смешанных признаков, гибкости постановки ранжирования или классификации и удобства добавления новых признаков; интервьюер просит глубже объяснять сам механизм лосса и настройки.
  • При улучшении модели важнее качество датасета, таргетов и их весов, чем механический перебор гиперпараметров; однако интервьюер подчёркивает, что при добавлении признаков и поиске прироста гиперпараметры тоже приходится пересматривать.
  • При падении join-задач в Spark по памяти нужно проверять перекос данных, слишком крупные записи, размеры партиций и явно задаваемые ресурсы, а не только уникальность ключей.
  • Для офлайн-рекомендаций обсуждается ежедневный расчёт top-K и быстрое key-value-хранилище с сервисом выдачи; для realtime-варианта — многоступенчатый retrieval, быстрый предварительный ранжировщик и более дорогой reranking с онлайн-признаками.

Рекомендуем посмотреть