close

Middle Machine Learning Engineer (проект Prom.ua)

Проект Prom.ua компании EVO в поисках  Middle Machine Learning Engineer’а

Prom.ua — лидирующая торговая площадка в Украине, почти 45 000 продавцов и 100 000 000 предложений, каждая 5-ая гривна в уанете тратится на нашей prom.ua.

Prom.ua в цифрах:

  • по нагрузке 20 млн просмотров страниц в день (162 млн событий при этом),
  • 5.5 млн запросов на поисковую выдачу,
  • трафик в месяц около 60 млн сессий,
  • в онлайне в пике одновременно 17к пользователей, около запросов в секунду на основное приложение,
  • около запросов изображений в секунду,
  • 4 млн задач выполняется за сутки,
  • около 100 млн товаров в PostgreSQL/Elasticsearch)

Разработкой Prom.ua занимается 5 команд, каждая из них отвечает за свою часть проекта и сервисы

Мы ищем  Middle Machine Learning Engineer’a в команду Marketplace (1 из 5 команд разработчиков проекта Prom.ua)

Наша команда Marketplace занимается такими направлениями:

  • каталог товаров prom.ua и поисковая система
  • система отзывов
  • система импорта/экспорта товаров
  • бэкенд мобильного приложения Prom.Покупки
  • система аналитики и больших данных
  • сервис обработки/отдачи изображений

В направлении data science используем:

Поскольку мы переходим к микросервисной архитектуре, то ограничений на стек технологий нету, кроме резонных потребностей под конкретную задачу. На данный момент легаси стека не существует, начинаем использовать библиотеки scikit-learn, scikit-image, gensim, связки keras + tensorflow, Spark MLlib.

Относительно данных: для обработки собранной аналитики используется Hadoop кластер (HDFS + Yarn + Hive), над которым Spark работает движком выполнения тасок (опыт работы со стеком будет как +, но не является необходимым). Мы собираем данные с 2014 года и на сегодня это 7Тб.

Наш кандидат:

  • имеет опыт работы с Python (Pandas, NumPy,  scikit-learn, алгоритмы, структуры данных);
  • имеет навыки визуализации данных (исследование, интерпретирование результатов, а также знание основных python библиотек matplotlib, seaborn)
  • имеет не только понимание, какие функции в конкретной библиотеке реализуют необходимые ему модели, но и понимает что лежит внутри использования этой модели (преимущества и недостатки, ограничения, которые использованы для расчета алгоритмы)
  • имеет видение относительно поставленной задачи (каким будет подход к решению; что делать, если выбранный подход не сработал, какие критерии оценки успешности решения)
  • желает вести задачу от этапа прототипа модели до деплоя на прод и коррекции при полученных результатах (конечно, с деплоем будет необходима помощь)
  • не боится потратить время на подготовку данных (разобраться, что нужно и сделать необходимый препроцессинг), есть опыт работы с SQL

Будет преимуществом

  • хорошая математическая подготовка (теория вероятности, статистика, лин. алгебра, методы оптимизации)
  • понимание принципов работы различных архитектур нейросетей;
  • опыт использования DL фреймворков  (TensorFlow, PyTorch);
  • опыт решения задач NLP;
  • опыт применения моделей в production;
  • опыт работы со стеком технологий Big Data (Hadoop, Spark, Hive) и решения задач машинного обучения в нем;
  • участие на kaggle, в конкурсах и хакатонах (добавляйте линк на профиль в резюме);
  • профиль на github с примерами решенных кейсов (добавляйте линк на профиль в резюме)

Задачи, для которых мы ищем людей:

  1. Увеличения релевантности поисковой выдачи, путем тюнинга параметров, влияющих на финальный скор позиции в выдаче (оценка валидности текста, в соответствии с заданными параметрами; классификация текстов; возможно named entity recognition)
  2. Определение ключевых слов по фото/описанию
  3. Работа с аномалиями
  4. Ранжирование в подобных товарных блоках на основании поведения пользователя, а не схожести товаров
  5. Работа с некачественным контентом

Точно будет в работе:

  • работа по отлаженным процессам (стенд-апы, ретро, планирование, оne2one ..)
  • эксперименты с новыми технологиями и сервисами
  • менторство
  • команда и ее традиции
  • работа с большими данными (100+ млн продуктов с характеристиками в разных категориях)

Точно НЕ будет в работе:

  • скучно
  • тайм-трекинга задач

 

С технической стороны Prom.ua:

Python 2.7 (переход на 3.6/aiohttp с разделением на микросервисы), есть несколько продуктов/сервисов, написанных на Go, Node.js, Scala.

Стандартная база — PostgreSQL (экспериментируем c CockroachDB);

Для нашего поиска используем ElasticSearch. Под решение отдельных задач существуют кастомные плагины.Пробуем работать Clickhouse.

React, двигаемся в сторону GraphQL + Apollo и плавно мигрируем  на серверный пререндеринг.

Webpack 2, GitlabCI, Kibana, Сelery+RabbitMQ, Kafka, GRPC, Grafana, Memcached.

больше подробностей про тех решения в EVO: http://goo.gl/5KYeEK

Рекрутер

Elizaveta Prokhorova
e.prokhorova@evo.company
skype: glinjanij_kot
Расскажите нам о себе
Максимум 1 файл размером до 5 МБ