Зачем мы переписали сервис рекомендаций на Go и что получили в сравнении с Python.
Доклад отклонён
Целевая аудитория
Тезисы
Рекомендации Авито - это первое, что видит пользователь, когда попадает на главную страницу. Нагрузка на наш основной сервис порядка 200 тысяч запросов в минуту.
Мы постоянно боремся за качество рекомендаций, которые видит пользователь и время за которое он их получает. За последние два года мы сильно улучшили качество рекомендаций, расширяя наши базовые ML модели, но сильно проиграли в latency. Главным врагом производительности и latency стало, добавление ML модели второго уровня на основе catboost для ранжирования объявлений от базовых ML моделей первого уровня в реалтайм.
В докладе я расскажу:
- как мы приняли решение переписать все на Go, перед этим мы выжали из питона все что смогли;
- как подружили CatBoost с Go и стали использовать ML модель на основе CatBoost в Go;
- как делали сверку при переходе, ответ от сервиса рекомендаций не детерминированный;
- что получили по latency и cpu после перехода.
Руководит разработкой юнита рекомендаций и ML-платформы в Авито. Юнит рекомендаций отвечает за стабильность и качество рекомендаций в любых уголках Авито, в том числе на Главной странице. ML-платформа выстраивает MLOps-процессы в компании.
Авито