А у нас тут напоминание про Weekend offer Data Science.
➡️ Подавайте заявку до 27 февраля
➡️ Решайте тест
➡️ Приходите на собеседования 1,2 марта
➡️ Получайте оффер 🚀
А мы продолжим рассказывать о командах, в которые нанимаем: например, на этой неделе познакомим вас с командой рекомендаций🔍
Stay tuned
А мы продолжим рассказывать о командах, в которые нанимаем: например, на этой неделе познакомим вас с командой рекомендаций
Stay tuned
Please open Telegram to view this post
VIEW IN TELEGRAM
Привет! Меня зовут Миша Каменщиков, я руковожу командой рекомендаций в Авито.
Основная цель нашей команды — улучшать опыт пользователей, помогая им быстрее найти нужный товар (или работу и даже недвижимость!)
У рекомендаций есть несколько продуктовых направлений: главная страница, карточка объявления, рассылки, и другие места, где пользователь видит список объявлений.
Сейчас наш основной фокус — это главная страница. Через неё проходят абсолютно все пользователи, а это значит, что эффект от улучшения моделей будет больше, чем в других местах.
Над чем работаем
🔍 Генерация кандидатов. Этот этап нужен, чтобы отобрать несколько тысяч потенциально интересных пользователю объявлений из нашего огромного каталога. Мы используем очень разные модели: от эвристик («похожее на то, что вы смотрели») до глубоких нейросетей.
📊 Ранжирование. После отбора кандидатов мы добавляем к ним больше признаков и используем CatBoost, чтобы их отранжировать.
🔀 Блендер. В рекомендациях очень важно разнообразие. Сейчас у нас работает вероятностный алгоритм, который собирает ленту из разных категорий по предсказанным интересам пользователя.
В чём особенности работы
⚡️ Highload. Каждую секунду на главную страницу Авито заходят несколько тысяч пользователей. Для каждого нужно подобрать 2-3 тысячи кандидатов, получить данные по ним и отранжировать, и сделать это все за полсекунды (ведь никто не любит медленные сайты!)
🧪 A/B-тестирование. Персональные рекомендации — это система с обратной связью (изменением моделей мы влияем на поведение пользователей), поэтому далеко не все эффекты можно измерить при помощи офлайн метрик. Мы проводим множество А/B-тестов, чтобы проверять гипотезы и честно измерить эффект.
🎨 Продукт. То, как выглядят рекомендации в продукте, не менее важно, чем качество ML-моделей. Одним из самых успешных продуктовых экспериментов был переход от вертикальных секций по категориям к бесконечной ленте.
Основная цель нашей команды — улучшать опыт пользователей, помогая им быстрее найти нужный товар (или работу и даже недвижимость!)
У рекомендаций есть несколько продуктовых направлений: главная страница, карточка объявления, рассылки, и другие места, где пользователь видит список объявлений.
Сейчас наш основной фокус — это главная страница. Через неё проходят абсолютно все пользователи, а это значит, что эффект от улучшения моделей будет больше, чем в других местах.
Над чем работаем
🔍 Генерация кандидатов. Этот этап нужен, чтобы отобрать несколько тысяч потенциально интересных пользователю объявлений из нашего огромного каталога. Мы используем очень разные модели: от эвристик («похожее на то, что вы смотрели») до глубоких нейросетей.
📊 Ранжирование. После отбора кандидатов мы добавляем к ним больше признаков и используем CatBoost, чтобы их отранжировать.
🔀 Блендер. В рекомендациях очень важно разнообразие. Сейчас у нас работает вероятностный алгоритм, который собирает ленту из разных категорий по предсказанным интересам пользователя.
В чём особенности работы
⚡️ Highload. Каждую секунду на главную страницу Авито заходят несколько тысяч пользователей. Для каждого нужно подобрать 2-3 тысячи кандидатов, получить данные по ним и отранжировать, и сделать это все за полсекунды (ведь никто не любит медленные сайты!)
🧪 A/B-тестирование. Персональные рекомендации — это система с обратной связью (изменением моделей мы влияем на поведение пользователей), поэтому далеко не все эффекты можно измерить при помощи офлайн метрик. Мы проводим множество А/B-тестов, чтобы проверять гипотезы и честно измерить эффект.
🎨 Продукт. То, как выглядят рекомендации в продукте, не менее важно, чем качество ML-моделей. Одним из самых успешных продуктовых экспериментов был переход от вертикальных секций по категориям к бесконечной ленте.
Всем привет!
Меня зовут Руслан Гилязев, я тимлид команды item2param в юните DSSWAT. Мы разрабатываем горизонтальные ML-решения, которые используют другие команды Авито.
Изначально команда была классическим ML-десантом и решала самые разнообразные задачи, а сейчас сформировались отдельные направления, про них я сегодня и расскажу.
Меня зовут Руслан Гилязев, я тимлид команды item2param в юните DSSWAT. Мы разрабатываем горизонтальные ML-решения, которые используют другие команды Авито.
Изначально команда была классическим ML-десантом и решала самые разнообразные задачи, а сейчас сформировались отдельные направления, про них я сегодня и расскажу.
Привет-привет!
Меня зовут Илья Иваницкий, и я отвечаю за DS-составляющую в двух крупных направлениях: Trust&Safety и Модерация.
Сегодня расскажу про направление Модерации. На Авито ежедневно размещают миллионы объявлений — это огромный поток контента, причём не только текстов, но ещё картинок и видео.
→ Статья «Как мы запустили автомодерацию видео в объявлениях»
Команда автомодерации отвечает за то, чтобы с максимально возможной автоматизацией — процентом действий, которые совершаются без участия людей — достичь максимально возможные показатели качества контента.
Ищем разные нарушения в объявлениях:
👉 размещение в неправильной категории,
👉 продажа запрещённых товаров, например, животных из красной книги или алкоголя
👉 дубли объявлений,
👉 и ещё десятки других.
В работе используем такие технологии:
👉 BERT-подобные модели с адаптерами, которые используются для быстрого запуска новых проверок, когда у нас есть буквально несколько примеров с нарушениями,
👉 CLIP для классификации нарушений на картинках,
👉 И целое море разноцветных градиентных бустингов, линейных моделей и регулярных выражений разной степени сложности (а как же в модерации и без регулярных выражений!), а ещё движки для векторного поиска по эмбеддингам картинок и текстов (faiss, sphinx).
Постепенно всё глубже заходим в удаление и изменение нарушений самостоятельно. То есть боремся с ними не только через блокировки и отклонение контента. Например, уже запустили inpainting для контактной информации на картинках в объявлениях и различных способов привлечь излишнее внимание.
Меня зовут Илья Иваницкий, и я отвечаю за DS-составляющую в двух крупных направлениях: Trust&Safety и Модерация.
Сегодня расскажу про направление Модерации. На Авито ежедневно размещают миллионы объявлений — это огромный поток контента, причём не только текстов, но ещё картинок и видео.
→ Статья «Как мы запустили автомодерацию видео в объявлениях»
Команда автомодерации отвечает за то, чтобы с максимально возможной автоматизацией — процентом действий, которые совершаются без участия людей — достичь максимально возможные показатели качества контента.
Ищем разные нарушения в объявлениях:
👉 размещение в неправильной категории,
👉 продажа запрещённых товаров, например, животных из красной книги или алкоголя
👉 дубли объявлений,
👉 и ещё десятки других.
В работе используем такие технологии:
👉 BERT-подобные модели с адаптерами, которые используются для быстрого запуска новых проверок, когда у нас есть буквально несколько примеров с нарушениями,
👉 CLIP для классификации нарушений на картинках,
👉 И целое море разноцветных градиентных бустингов, линейных моделей и регулярных выражений разной степени сложности (а как же в модерации и без регулярных выражений!), а ещё движки для векторного поиска по эмбеддингам картинок и текстов (faiss, sphinx).
Постепенно всё глубже заходим в удаление и изменение нарушений самостоятельно. То есть боремся с ними не только через блокировки и отклонение контента. Например, уже запустили inpainting для контактной информации на картинках в объявлениях и различных способов привлечь излишнее внимание.
Привет! На связи снова Илья Иваницкий — сегодня продолжаю знакомить вас с DS-командами, в этот раз поговорим про направление Trust&Safety. В нём можно выделить две большие группы задач.
Задачи классического антифрода. Например:
👉 Ищем автоматические регистрации через ботов и предотвращаем взломы аккаунтов
👉 Находим случаи, когда человек имеет сразу несколько учётных записей и каким-либо образом нарушает наши правила
👉 Строим модели с анализом поведения пользователей на разных этапах CJM
👉 Ищем недобросовестных пользователей, которые просят предоплату, а потом исчезают не отправив товар
👉 Не даём скликивать рекламные бюджеты конкурентов
Конечно, этим всё не кончается: поток задач как от бизнеса, так и изнутри приходит постоянно.
Как и в автомодерации — о ней в прошлом посте, — нам тут важно сочетать надёжные и горизонтальные решения в долгую и быстрые эдхоки, которые помогают убрать проблему в моменте и позволить бизнесу уверенно плыть дальше.
Репутационная система и стрим рейтингов и отзывов. Тут нам важно построить систему оценки пользователей: насколько хорошо они себя ведут с точки зрения покупателей, продавцов, самого Авито. Пара примеров задач:
👉 Мы находим случаи, когда люди размещают недостоверную информацию, не выдерживает договорённости с покупателем и сроки доставки. И стараемся делать так, чтобы лучшие покупатели встречались с лучшими продавцами, а сделки проходили гладко.
👉 Ищем накрученные отзывов: строим графовые модели, анализируем коммуникацию между покупателем и продавцом, строим модели по поведению пользователя вокруг события оставления отзыва.
И команда автомодерации, и команда антифрода с репутационной системой отвечают за сервисы, которые работают под высокой нагрузкой, часто тысячи запросов в секунду.
Поэтому важно, что ML-инженеры у нас не только строят модели и работают с данными, но часто берут на себя задачи по разработке сервисов и отвечают за весь пайплайн применения ML-моделей.
Задачи классического антифрода. Например:
👉 Ищем автоматические регистрации через ботов и предотвращаем взломы аккаунтов
👉 Находим случаи, когда человек имеет сразу несколько учётных записей и каким-либо образом нарушает наши правила
👉 Строим модели с анализом поведения пользователей на разных этапах CJM
👉 Ищем недобросовестных пользователей, которые просят предоплату, а потом исчезают не отправив товар
👉 Не даём скликивать рекламные бюджеты конкурентов
Конечно, этим всё не кончается: поток задач как от бизнеса, так и изнутри приходит постоянно.
Как и в автомодерации — о ней в прошлом посте, — нам тут важно сочетать надёжные и горизонтальные решения в долгую и быстрые эдхоки, которые помогают убрать проблему в моменте и позволить бизнесу уверенно плыть дальше.
Репутационная система и стрим рейтингов и отзывов. Тут нам важно построить систему оценки пользователей: насколько хорошо они себя ведут с точки зрения покупателей, продавцов, самого Авито. Пара примеров задач:
👉 Мы находим случаи, когда люди размещают недостоверную информацию, не выдерживает договорённости с покупателем и сроки доставки. И стараемся делать так, чтобы лучшие покупатели встречались с лучшими продавцами, а сделки проходили гладко.
👉 Ищем накрученные отзывов: строим графовые модели, анализируем коммуникацию между покупателем и продавцом, строим модели по поведению пользователя вокруг события оставления отзыва.
И команда автомодерации, и команда антифрода с репутационной системой отвечают за сервисы, которые работают под высокой нагрузкой, часто тысячи запросов в секунду.
Поэтому важно, что ML-инженеры у нас не только строят модели и работают с данными, но часто берут на себя задачи по разработке сервисов и отвечают за весь пайплайн применения ML-моделей.
Всем привет!
Меня зовут Егор Самосват, я руковожу юнитом эффективности монетизации.
С одной стороны, наша цель — растить выручку 💵, а с другой — заботиться об опыте пользователей.
Другими словами: за справедливые для продавца деньги мы должны продвинуть его объявления так, чтобы максимизировать свою выручку и отклики на объявления. И при этом не испортить рекомендации и опыт поиска покупателям.
Здесь возникает много вызовов, например:
👉 Влияние долгосрочных эффектов. Новая механика может показать рост бизнес-метрик, но со временем покупателей может стать меньше, а продавцы могут снизить бюджеты на продвижение.
Чтобы учесть долгосрочные эффекты, мы создаём специальные подходы в A/B-тестах и учимся предсказывать поведение пользователей.
→ Доклад «Split-тесты или как мы упростили тестирование новых механизмов Монетизации»
👉 Особенности в поиске и рекомендациях. В ранжировании мы учитываем подключённое продвижение через ожидаемую выручку с объявлений. Из-за этого при обучении моделей важно следить за их вероятностным смыслом 🎲 и скалиброванностью.
→ Доклад «Ранжирование или калибровка? Как измерять качество рекламных CTR-моделей»
👉 Это наукоёмкое направление. Ключевые слова: алгоритмический дизайн механизмов, теория аукционов, auto-bidding, динамическое ценообразование. Мы читаем много статей и думаем над оптимальным дизайном системы.
→ Дискуссия: VCG или First Price
Чтобы поддерживать дух инноваций и не отставать от достижений науки, мы выделили отдельную исследовательскую команду 🔎, которая уже этой весной в Сиднее 🦘 представит наш полигон для сравнения подходов к автоматическому выставлению ставок на Web Conf 2025.
→ Репозиторий BAT: Benchmark for Auto-bidding Task
Таким образом, мы не только непосредственно влияем на финансовые результаты компании 📈, но и стараемся развивать технологии и быть на острие прогресса 🚀.
Меня зовут Егор Самосват, я руковожу юнитом эффективности монетизации.
С одной стороны, наша цель — растить выручку 💵, а с другой — заботиться об опыте пользователей.
Другими словами: за справедливые для продавца деньги мы должны продвинуть его объявления так, чтобы максимизировать свою выручку и отклики на объявления. И при этом не испортить рекомендации и опыт поиска покупателям.
Здесь возникает много вызовов, например:
👉 Влияние долгосрочных эффектов. Новая механика может показать рост бизнес-метрик, но со временем покупателей может стать меньше, а продавцы могут снизить бюджеты на продвижение.
Чтобы учесть долгосрочные эффекты, мы создаём специальные подходы в A/B-тестах и учимся предсказывать поведение пользователей.
→ Доклад «Split-тесты или как мы упростили тестирование новых механизмов Монетизации»
👉 Особенности в поиске и рекомендациях. В ранжировании мы учитываем подключённое продвижение через ожидаемую выручку с объявлений. Из-за этого при обучении моделей важно следить за их вероятностным смыслом 🎲 и скалиброванностью.
→ Доклад «Ранжирование или калибровка? Как измерять качество рекламных CTR-моделей»
👉 Это наукоёмкое направление. Ключевые слова: алгоритмический дизайн механизмов, теория аукционов, auto-bidding, динамическое ценообразование. Мы читаем много статей и думаем над оптимальным дизайном системы.
→ Дискуссия: VCG или First Price
Чтобы поддерживать дух инноваций и не отставать от достижений науки, мы выделили отдельную исследовательскую команду 🔎, которая уже этой весной в Сиднее 🦘 представит наш полигон для сравнения подходов к автоматическому выставлению ставок на Web Conf 2025.
→ Репозиторий BAT: Benchmark for Auto-bidding Task
Таким образом, мы не только непосредственно влияем на финансовые результаты компании 📈, но и стараемся развивать технологии и быть на острие прогресса 🚀.
Путеводитель по DS-командам Авито
Всем привет! На прошедших выходных мы провели Weekend offer: соискатели и нанимающие менеджеры благополучно нашли друг друга.
Мы представили в канале несколько команд DS-инженеров Авито, и теперь решили собрать эти рассказы в один общий пост, чтобы в следующий раз вам было проще выбрать себе дрим тим ↓
👉 Рекомендации
👉 Модерация
👉 Trust&Safety
👉 Монетизация
👉 LLM
👉 DSSWAT
👉 Вертикальные команды: Товары, Авто и Работа
Всем привет! На прошедших выходных мы провели Weekend offer: соискатели и нанимающие менеджеры благополучно нашли друг друга.
Мы представили в канале несколько команд DS-инженеров Авито, и теперь решили собрать эти рассказы в один общий пост, чтобы в следующий раз вам было проще выбрать себе дрим тим ↓
👉 Рекомендации
👉 Модерация
👉 Trust&Safety
👉 Монетизация
👉 LLM
👉 DSSWAT
👉 Вертикальные команды: Товары, Авто и Работа
В декабре прошлого года у нас прошёл хакатон Avito ML Cup 2024. На соревновании нужно было решить задачу ранжирования рекламных баннеров с профилями продавцов.
Володя Давидько, DS тимлид из монетизации, организовывал соревнование и рассказал про свой опыт:
Предсказание CTR для продвижения профиля — одна из задач, которой занимается наша команда.
Мы решили сделать соревнование по двум причинам:
👉 Хотелось дать задачу в комьюнити и посмотреть, как её будут решать.
👉 Я сам с удовольствием участвовал в соревнованиях, и сейчас захотел попробовать себя в роли организатора. Скажу сразу: опыт себя оправдал, хотя процесс был нелёгким.
Главный компонент соревнования — данные. Мы тщательно подготовили наш датасет:
👉 Убрали холодных пользователей, чтобы упростить задачу.
👉 Текстовую информацию почистили специальным сервисом, который удаляет чувствительные данные.
👉 Заменили id-шники и ценовые фичи.
👉 Чтобы соревнование можно было решать на ноутбуке, но при этом данных было как можно больше, мы тщательно их подрезали.
Решили много организационных вопросов: от согласования с юристами до раскачки контеста в соцсетях. Нам не повезло, потому что ML Cup Авито совпал с соревнованием VK по рекомендациям, где призовой фонд был выше. Но в итоге это не сказалось на интересе, и у нас было примерно столько же участников.
Я опасался, что будет много хейта и токсичных участников, но оказалось совсем не так. Хейта было мало, а среди участников образовалась активная группа, которая хорошо разобралась в данных и помогала другим, — эти люди в конечном счёте попали в победители.
Пара слов о решениях. У победителей были различные варианты стакинга бустингов, использование признаков от нейросетей в бустинговых моделях и работа над таргетом.
Могу привести интересный бенчмарк, сколько дают «каглерские» приёмы по сравнению с обычным хорошо обученным бустингом. Наш обычный бустинг дает ROC-AUC в районе 0.6, а решение победителей дало скор 0.618.
Следите за новостями, новые соревнования уже совсем скоро! 😉
Володя Давидько, DS тимлид из монетизации, организовывал соревнование и рассказал про свой опыт:
Предсказание CTR для продвижения профиля — одна из задач, которой занимается наша команда.
Мы решили сделать соревнование по двум причинам:
👉 Хотелось дать задачу в комьюнити и посмотреть, как её будут решать.
👉 Я сам с удовольствием участвовал в соревнованиях, и сейчас захотел попробовать себя в роли организатора. Скажу сразу: опыт себя оправдал, хотя процесс был нелёгким.
Главный компонент соревнования — данные. Мы тщательно подготовили наш датасет:
👉 Убрали холодных пользователей, чтобы упростить задачу.
👉 Текстовую информацию почистили специальным сервисом, который удаляет чувствительные данные.
👉 Заменили id-шники и ценовые фичи.
👉 Чтобы соревнование можно было решать на ноутбуке, но при этом данных было как можно больше, мы тщательно их подрезали.
Решили много организационных вопросов: от согласования с юристами до раскачки контеста в соцсетях. Нам не повезло, потому что ML Cup Авито совпал с соревнованием VK по рекомендациям, где призовой фонд был выше. Но в итоге это не сказалось на интересе, и у нас было примерно столько же участников.
Я опасался, что будет много хейта и токсичных участников, но оказалось совсем не так. Хейта было мало, а среди участников образовалась активная группа, которая хорошо разобралась в данных и помогала другим, — эти люди в конечном счёте попали в победители.
Пара слов о решениях. У победителей были различные варианты стакинга бустингов, использование признаков от нейросетей в бустинговых моделях и работа над таргетом.
Могу привести интересный бенчмарк, сколько дают «каглерские» приёмы по сравнению с обычным хорошо обученным бустингом. Наш обычный бустинг дает ROC-AUC в районе 0.6, а решение победителей дало скор 0.618.
Следите за новостями, новые соревнования уже совсем скоро! 😉
Почему мы не используем ассессоров для выкатки моделей в поиске
Осенью я участвовал в конференции IML в качестве эксперта. Моя роль была в том, чтобы после доклада Коли Смирнова про поиск «Лавки» поучаствовать с ним в дискуссии. И мы как раз затронули эту тему: ребята используют ассессоров, а я объяснял, почему у нас это не работает.
Идея ассессоров следующая:
👉 Допустим, вы переобучили поисковой ранкер и получили хорошие ML-метрики, условный NDCG.
👉 Затем вы посылаете на ассессоров заранее подготовленный пул запросов, отранжированных новой и старой моделью, и получаете оценку качества от людей.
Проблемы начинаются тогда, когда вы ранжируете не по релевантности. Мы учитываем сразу много факторов в выдаче: релевантность, кликабельность объявления, монетизацию, репутационные скоры. А ещё нужно не забыть, что частные продавцы на Авито должны получать свой трафик, чтобы их не выдавили профессионалы.
Поэтому никакой ассессор не сможет оценить, насколько хорошо мы собрали выдачу.
Мы используем специальную оффлайн-приёмку, где считаем метрики по заранее сформированным пулам запросов, но по скорам моделей и количеству объявлений разных типов. Например, если сильно просадили частников — плохо.
Думаю, что в какой-то момент от нас выйдет подробный доклад по этому поводу. Там много интересного: и как формировать пулы, и как подбирать хорошие оффлайн-метрики, и как сделать инструмент быстрым в использовании.
P.S. На самом деле ассессоров мы используем. Но только для сбора специального датасета для обучения модели релевантности. Но это не то же самое, что оценка поисковой выдачи в целом.
Осенью я участвовал в конференции IML в качестве эксперта. Моя роль была в том, чтобы после доклада Коли Смирнова про поиск «Лавки» поучаствовать с ним в дискуссии. И мы как раз затронули эту тему: ребята используют ассессоров, а я объяснял, почему у нас это не работает.
Идея ассессоров следующая:
👉 Допустим, вы переобучили поисковой ранкер и получили хорошие ML-метрики, условный NDCG.
👉 Затем вы посылаете на ассессоров заранее подготовленный пул запросов, отранжированных новой и старой моделью, и получаете оценку качества от людей.
Проблемы начинаются тогда, когда вы ранжируете не по релевантности. Мы учитываем сразу много факторов в выдаче: релевантность, кликабельность объявления, монетизацию, репутационные скоры. А ещё нужно не забыть, что частные продавцы на Авито должны получать свой трафик, чтобы их не выдавили профессионалы.
Поэтому никакой ассессор не сможет оценить, насколько хорошо мы собрали выдачу.
Мы используем специальную оффлайн-приёмку, где считаем метрики по заранее сформированным пулам запросов, но по скорам моделей и количеству объявлений разных типов. Например, если сильно просадили частников — плохо.
Думаю, что в какой-то момент от нас выйдет подробный доклад по этому поводу. Там много интересного: и как формировать пулы, и как подбирать хорошие оффлайн-метрики, и как сделать инструмент быстрым в использовании.
P.S. На самом деле ассессоров мы используем. Но только для сбора специального датасета для обучения модели релевантности. Но это не то же самое, что оценка поисковой выдачи в целом.
…или юхуууу, нас здесь становится всё больше!
Конечно, сейчас кто-то подумает: «ого, уже %n_subscribers», а кто-то: «всего-то %n_subscribers».
Но как бы вы ни считали, для нас этот канал — попытка быть полезными за пределами Авито, а для этого нам чуть-чуть очень сильно нужно знать ваши ожидания.
Поэтому не стесняйтесь и расскажите немного о себе и ваших предпочтениях, тем более что пятница к этому располагает как нельзя лучше ↓↓↓
Конечно, сейчас кто-то подумает: «ого, уже %n_subscribers», а кто-то: «всего-то %n_subscribers».
Но как бы вы ни считали, для нас этот канал — попытка быть полезными за пределами Авито, а для этого нам чуть-чуть очень сильно нужно знать ваши ожидания.
Поэтому не стесняйтесь и расскажите немного о себе и ваших предпочтениях, тем более что пятница к этому располагает как нельзя лучше ↓↓↓
И предпочли бы видеть в канале:
Anonymous Poll
64%
рассказы о наших задачах, командах
77%
лучшие практики в работе DS-инженеров
51%
наши вакансии
41%
наши мероприятия
64%
обзоры статей, полезные материалы лекции / видео
38%
наш быт в Авито
49%
немного шуточек не помешает
1%
уже пишу свой вариант в комментариях!