Доска AI-объявлений
3.73K subscribers
270 photos
4 videos
140 links
Это не душный, а душевный канал про Data Science в Авито. Пишем о том, что у нас происходит, про ML, вакансии, мероприятия.
Download Telegram
Знакомимся с командами

В рамках Weekend Offer рассказываем про команды DS в Авито: AI Lab, антифрод и модерацию, монетизацию, поиск и рекомендации, а ещё про вертикальные команды.

Вы узнаете о задачах, целях, продуктах, командных посиделках и атмосфере работы от первых лиц.

Посты будут выходить до конца февраля, не переключайтесь 😉
8😍4
Чем занимается наша команда LLM

Всем привет! Меня зовут Настя Рысьмятова, я руковожу юнитом LLM. Мы занимаемся обучением своей базовой LLM и применяем её к разным бизнес-задачам Авито.

🧠 Для разработки базовой модели мы адаптируем лучшие open source модели под русский язык и домен Авито с помощью Continual Pre-training и подмены токенизатора. Об этом я рассказывала на Data Fest и в статье на Хабре:

→ Как мы обучили Mistral 7B русскому языку и адаптировали для объявлений

🧠 Для улучшения модели мы исследуем новые методы и датасеты. А чтобы все в команде были на одной волне, у нас есть LLM-семинары, на которых мы обсуждаем самые интересные статьи.

Я верю, что с помощью LLM можно реализовать много полезного и сделать Авито удобнее. Сейчас мы отвечаем за 35 сервисов — вот несколько примеров продуктов, где нам уже удалось внедрить LLM:

Генерация описания. В некоторых категориях Авито уже не обязательно готовить описание объявления самостоятельно — можно взять сгенерированный текст от LLM.

Модификация отчётов Автотеки. Данные для них Авито получает от партнёров, которые часто пользуются непонятными для обычных людей формулировками и сокращениями. Мы обучили LLM их расшифровывать.

Суммаризация чатов агентов поддержки. Когда у агента не получается справиться с проблемой, он может передать её более опытному коллеге. Для этого нужно кратко описать содержание чата с пользователем. Теперь это может делать LLM.

Модификация сообщений агентов поддержки. Мы обучили LLM перефразировать некоторые сообщения агентов поддержки, чтобы сделать их более эмпатичными и исправить ошибки.

Саджесты в мессенджере. Когда пишете сообщение на Авито, можете встретить всплывающие подсказки от LLM — они помогут удобнее и быстрее общаться в чате.
🔥3718🎉10👍2
Почему мы перешли на Kubeflow

У нас довольно долго не было единой ML-платформы, но сейчас мы к этому движемся — например, начали переводить всё больше процессов обучения моделей на Kubeflow. Саша Лагутин, тимлид команды ML-платформы расскажет, почему мы выбрали это решение и почему делаем свой форк.

Раньше большинство DS-команд работали на физических машинах: где-то использовалась связка Airflow+MLFlow, где-то просто ноутбуки.

Переход на Kubeflow дал много преимуществ:

Не нужно толкаться на одной машине

DS-инженерам не нужно погружаться в сложную инфру

Мы стали лучше утилизировать дорогое железо

Одна из киллер-фичей Kubeflow — lightweight-компоненты. Они позволили писать адхок-задачи прямо из локального Jupyter ноутбука, запуская их на Kubernetes.

Кроме этого у нас появился единый MLOps пайплайн:

Эксперименты трекаются в одной базе вместе с пайплайнами

Можно полностью отследить окружение, в котором был запущен эксперимент

Все промежуточные и финальные артефакты логируются в S3

Чтобы Kubeflow стал удобнее и интегрировался с нашими системами, мы сделали свой форк. В нём прокинули LDAP, интеграцию секретов, интеграцию со Spark и Hadoop кластером, другими DWH системами, упростили интерфейс библиотеки kfp, где многое не нужно настраивать вручную. Также мы создали библиотеку компонент, которые переиспользуются внутри и между проектами — каждая команда может завести свой репозиторий.

На самом деле в ML-платформе есть ещё много, про что рассказать. Ждите новых постов от команды!
🔥179🤔1
Чем занимаются вертикальные команды

Всем привет! Сегодня расскажем, что у нас делают DS-инженеры в вертикальных командах: дадим двум тим лидам рассказать о задачах в Авито Товарах, Авто и Работе.

Про разделение на горизонтали и вертикали кратко объяснили в первом посте.

📦 Аня Маркова, тим лид команды DS в Товарах: «Мы строим модели для всех этапов процесса — от корректной параметризации объявлений на подаче до доставки товара покупателю.

С одной стороны, используем самые последние модели, чтобы добиваться лучшего качества. С другой — находим баланс между бизнес-результатом и скоростью разработки. Среди наших задач:

— поиск одинаковых товаров (задача матчинга) для аналитики ассортимента,
— определение веса и габаритов товаров для расчёта стоимости доставки,
— определение состояния товара,
И это далеко не всё 😉

Мы работаем со всеми типами данных: фото, тексты, таблицы, внутренние и внешние источники. Чтобы строить модели, используем платформенные решения Авито и создаём собственные».

🚗 + 👔 Рома Будылин, тим лид команд DS в Авто и Работе: «Мы много занимаемся задачами чистоты контента и автозаполнения параметров при подаче объявлений c транспортом. Для этого делаем модели, которые определяют параметры по фото и VIN-номеру, пишем много разных отклонений.

Например, по фото мы умеем определять около двух тысяч брендов, моделей и поколений авто, а ещё их опции: салон, парктроники, управление на руле и другие. Считываем данные из автомобильных документов, сегментируем повреждения и части авто.

Чтобы модели получались качественными, много работаем с разметкой, применяем разные трюки типа fuzzy labeling, псевдоразметки.

Также занимаемся задачами поиска и рекомендаций. Например, меняли контентные вектора объявлений в Работе и Авто, внедряли фичи для ранкеров в поиске и рекомендациях, шатали таргет. Это принесло существенные аплифты в наших направлениях».
12🔥7🤩3💅2
А у нас тут напоминание про Weekend offer Data Science.

➡️Подавайте заявку до 27 февраля
➡️Решайте тест
➡️Приходите на собеседования 1,2 марта
➡️Получайте оффер 🚀

А мы продолжим рассказывать о командах, в которые нанимаем: например, на этой неделе познакомим вас с командой рекомендаций 🔍

Stay tuned
Please open Telegram to view this post
VIEW IN TELEGRAM
15
Привет! Меня зовут Миша Каменщиков, я руковожу командой рекомендаций в Авито.

Основная цель нашей команды — улучшать опыт пользователей, помогая им быстрее найти нужный товар (или работу и даже недвижимость!)

У рекомендаций есть несколько продуктовых направлений: главная страница, карточка объявления, рассылки, и другие места, где пользователь видит список объявлений.

Сейчас наш основной фокус — это главная страница. Через неё проходят абсолютно все пользователи, а это значит, что эффект от улучшения моделей будет больше, чем в других местах.

Над чем работаем
🔍 Генерация кандидатов. Этот этап нужен, чтобы отобрать несколько тысяч потенциально интересных пользователю объявлений из нашего огромного каталога. Мы используем очень разные модели: от эвристик («похожее на то, что вы смотрели») до глубоких нейросетей.

📊 Ранжирование. После отбора кандидатов мы добавляем к ним больше признаков и используем CatBoost, чтобы их отранжировать.

🔀 Блендер. В рекомендациях очень важно разнообразие. Сейчас у нас работает вероятностный алгоритм, который собирает ленту из разных категорий по предсказанным интересам пользователя.

В чём особенности работы
⚡️ Highload. Каждую секунду на главную страницу Авито заходят несколько тысяч пользователей. Для каждого нужно подобрать 2-3 тысячи кандидатов, получить данные по ним и отранжировать, и сделать это все за полсекунды (ведь никто не любит медленные сайты!)

🧪 A/B-тестирование. Персональные рекомендации — это система с обратной связью (изменением моделей мы влияем на поведение пользователей), поэтому далеко не все эффекты можно измерить при помощи офлайн метрик. Мы проводим множество А/B-тестов, чтобы проверять гипотезы и честно измерить эффект.

🎨 Продукт. То, как выглядят рекомендации в продукте, не менее важно, чем качество ML-моделей. Одним из самых успешных продуктовых экспериментов был переход от вертикальных секций по категориям к бесконечной ленте.
🔥246👏3❤‍🔥1
Всем привет!

Меня зовут Руслан Гилязев, я тимлид команды item2param в юните DSSWAT. Мы разрабатываем горизонтальные ML-решения, которые используют другие команды Авито.

Изначально команда была классическим ML-десантом и решала самые разнообразные задачи, а сейчас сформировались отдельные направления, про них я сегодня и расскажу.
🔥27👍2🤔1
Привет-привет!

Меня зовут Илья Иваницкий, и я отвечаю за DS-составляющую в двух крупных направлениях: Trust&Safety и Модерация.

Сегодня расскажу про направление Модерации. На Авито ежедневно размещают миллионы объявлений — это огромный поток контента, причём не только текстов, но ещё картинок и видео.

Статья «Как мы запустили автомодерацию видео в объявлениях»

Команда автомодерации отвечает за то, чтобы с максимально возможной автоматизацией — процентом действий, которые совершаются без участия людей — достичь максимально возможные показатели качества контента.

Ищем разные нарушения в объявлениях:
👉 размещение в неправильной категории,
👉 продажа запрещённых товаров, например, животных из красной книги или алкоголя
👉 дубли объявлений,
👉 и ещё десятки других.

В работе используем такие технологии:
👉 BERT-подобные модели с адаптерами, которые используются для быстрого запуска новых проверок, когда у нас есть буквально несколько примеров с нарушениями,
👉 CLIP для классификации нарушений на картинках,
👉 И целое море разноцветных градиентных бустингов, линейных моделей и регулярных выражений разной степени сложности (а как же в модерации и без регулярных выражений!), а ещё движки для векторного поиска по эмбеддингам картинок и текстов (faiss, sphinx).

Постепенно всё глубже заходим в удаление и изменение нарушений самостоятельно. То есть боремся с ними не только через блокировки и отклонение контента. Например, уже запустили inpainting для контактной информации на картинках в объявлениях и различных способов привлечь излишнее внимание.
🔥16
Привет! На связи снова Илья Иваницкий — сегодня продолжаю знакомить вас с DS-командами, в этот раз поговорим про направление Trust&Safety. В нём можно выделить две большие группы задач.

Задачи классического антифрода. Например:
👉 Ищем автоматические регистрации через ботов и предотвращаем взломы аккаунтов
👉 Находим случаи, когда человек имеет сразу несколько учётных записей и каким-либо образом нарушает наши правила
👉 Строим модели с анализом поведения пользователей на разных этапах CJM
👉 Ищем недобросовестных пользователей, которые просят предоплату, а потом исчезают не отправив товар
👉 Не даём скликивать рекламные бюджеты конкурентов

Конечно, этим всё не кончается: поток задач как от бизнеса, так и изнутри приходит постоянно.

Как и в автомодерации — о ней в прошлом посте, — нам тут важно сочетать надёжные и горизонтальные решения в долгую и быстрые эдхоки, которые помогают убрать проблему в моменте и позволить бизнесу уверенно плыть дальше.

Репутационная система и стрим рейтингов и отзывов. Тут нам важно построить систему оценки пользователей: насколько хорошо они себя ведут с точки зрения покупателей, продавцов, самого Авито. Пара примеров задач:

👉 Мы находим случаи, когда люди размещают недостоверную информацию, не выдерживает договорённости с покупателем и сроки доставки. И стараемся делать так, чтобы лучшие покупатели встречались с лучшими продавцами, а сделки проходили гладко.

👉 Ищем накрученные отзывов: строим графовые модели, анализируем коммуникацию между покупателем и продавцом, строим модели по поведению пользователя вокруг события оставления отзыва.

И команда автомодерации, и команда антифрода с репутационной системой отвечают за сервисы, которые работают под высокой нагрузкой, часто тысячи запросов в секунду.

Поэтому важно, что ML-инженеры у нас не только строят модели и работают с данными, но часто берут на себя задачи по разработке сервисов и отвечают за весь пайплайн применения ML-моделей.
🔥91😎1
Всем привет!

Меня зовут Егор Самосват, я руковожу юнитом эффективности монетизации.

С одной стороны, наша цель — растить выручку 💵, а с другой — заботиться об опыте пользователей.

Другими словами: за справедливые для продавца деньги мы должны продвинуть его объявления так, чтобы максимизировать свою выручку и отклики на объявления. И при этом не испортить рекомендации и опыт поиска покупателям.

Здесь возникает много вызовов, например:

👉 Влияние долгосрочных эффектов. Новая механика может показать рост бизнес-метрик, но со временем покупателей может стать меньше, а продавцы могут снизить бюджеты на продвижение.

Чтобы учесть долгосрочные эффекты, мы создаём специальные подходы в A/B-тестах и учимся предсказывать поведение пользователей.

Доклад «Split-тесты или как мы упростили тестирование новых механизмов Монетизации»

👉 Особенности в поиске и рекомендациях. В ранжировании мы учитываем подключённое продвижение через ожидаемую выручку с объявлений. Из-за этого при обучении моделей важно следить за их вероятностным смыслом 🎲 и скалиброванностью.

Доклад «Ранжирование или калибровка? Как измерять качество рекламных CTR-моделей»

👉 Это наукоёмкое направление. Ключевые слова: алгоритмический дизайн механизмов, теория аукционов, auto-bidding, динамическое ценообразование. Мы читаем много статей и думаем над оптимальным дизайном системы.

Дискуссия: VCG или First Price

Чтобы поддерживать дух инноваций и не отставать от достижений науки, мы выделили отдельную исследовательскую команду 🔎, которая уже этой весной в Сиднее 🦘 представит наш полигон для сравнения подходов к автоматическому выставлению ставок на Web Conf 2025.

Репозиторий BAT: Benchmark for Auto-bidding Task

Таким образом, мы не только непосредственно влияем на финансовые результаты компании 📈, но и стараемся развивать технологии и быть на острие прогресса 🚀.
🔥164👍41🤔1
Путеводитель по DS-командам Авито

Всем привет! На прошедших выходных мы провели Weekend offer: соискатели и нанимающие менеджеры благополучно нашли друг друга.

Мы представили в канале несколько команд DS-инженеров Авито, и теперь решили собрать эти рассказы в один общий пост, чтобы в следующий раз вам было проще выбрать себе дрим тим ↓

👉 Рекомендации

👉 Модерация


👉 Trust&Safety


👉 Монетизация


👉 LLM

👉 DSSWAT


👉 Вертикальные команды: Товары, Авто и Работа
53👍3🤝2
В декабре прошлого года у нас прошёл хакатон Avito ML Cup 2024. На соревновании нужно было решить задачу ранжирования рекламных баннеров с профилями продавцов.

Володя Давидько, DS тимлид из монетизации, организовывал соревнование и рассказал про свой опыт:

Предсказание CTR для продвижения профиля — одна из задач, которой занимается наша команда.

Мы решили сделать соревнование по двум причинам:
👉 Хотелось дать задачу в комьюнити и посмотреть, как её будут решать.
👉 Я сам с удовольствием участвовал в соревнованиях, и сейчас захотел попробовать себя в роли организатора. Скажу сразу: опыт себя оправдал, хотя процесс был нелёгким.

Главный компонент соревнования — данные. Мы тщательно подготовили наш датасет:
👉 Убрали холодных пользователей, чтобы упростить задачу.
👉 Текстовую информацию почистили специальным сервисом, который удаляет чувствительные данные.
👉 Заменили id-шники и ценовые фичи.
👉 Чтобы соревнование можно было решать на ноутбуке, но при этом данных было как можно больше, мы тщательно их подрезали.

Решили много организационных вопросов: от согласования с юристами до раскачки контеста в соцсетях. Нам не повезло, потому что ML Cup Авито совпал с соревнованием VK по рекомендациям, где призовой фонд был выше. Но в итоге это не сказалось на интересе, и у нас было примерно столько же участников.

Я опасался, что будет много хейта и токсичных участников, но оказалось совсем не так. Хейта было мало, а среди участников образовалась активная группа, которая хорошо разобралась в данных и помогала другим, — эти люди в конечном счёте попали в победители.

Пара слов о решениях. У победителей были различные варианты стакинга бустингов, использование признаков от нейросетей в бустинговых моделях и работа над таргетом.

Могу привести интересный бенчмарк, сколько дают «каглерские» приёмы по сравнению с обычным хорошо обученным бустингом. Наш обычный бустинг дает ROC-AUC в районе 0.6, а решение победителей дало скор 0.618.

Следите за новостями, новые соревнования уже совсем скоро! 😉
🔥74👍3