Доска AI-объявлений
3.73K subscribers
270 photos
4 videos
140 links
Это не душный, а душевный канал про Data Science в Авито. Пишем о том, что у нас происходит, про ML, вакансии, мероприятия.
Download Telegram
Доска AI-объявлений pinned «Всем привет! Это не душный, а душевный канал про Data Science в Авито. 📌 На нашей доске вы найдете объявления про жизнь и работу, про то, что вдохновляет и развивает нас. Про ML, AI, вакансии, мероприятия.»
Всем привет! Меня зовут Саша Ледовский, я Data Science Team Lead в Авито, разрабатываю продвижение в поиске и рекомендациях и буду одним из авторов в канале. Начну с пары слов о Data Science в компании:

💚 За последние несколько лет мы сильно выросли: в команде уже больше 150 человек. DS стал отдельным направлением со своей иерархией, матрицами компетенций и единым флоу найма.

💚 DS проникает во все сферы бизнеса Авито. Пару лет назад у нас было всего несколько крупных центров: модерация и антифрод, DS SWAT, поиск и рекомендации. Но теперь возник DS в монетизации, появилась AI-лаборатория, а из DS SWAT стали выделяться специализированные команды в вертикалях и горизонталях.

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

💚 Наша важная особенность: DS-инженер — это в первую очередь инженер. В некоторых компаниях дата-сайентисты делают чисто рисёрч и модели, а в прод всё выводят другие люди. У нас DS-иженер выполняет работу полного цикла: исследует, выводит модели в прод на питоне, а где-то и пишет на golang.

Но обо всем этом мы ещё поговорим. А сейчас сошлёмся на нашу свежую статью на Хабре, где вы можете почитать о нас больше:

Чем занимаются дата-сайентисты в Авито
🔥155👍3🦄1
Как мы всей компанией обучали модели определения параметров товаров

C вами снова Саша Ледовский, Data Science Team Lead. Сегодня начну постепенно рассказывать о нашей внутренней жизни.

Если создавали объявление на Авито, то наверняка замечали, что вам автоматически предлагают категорию товара и предзаполняют часть параметров.

🎓 За это отвечает платформа item2param — о ней недавно рассказывал мой коллега Руслан Гилязев, DS Team Lead платформы:

Предсказание категории объявления по описанию / фото

🎓 Под капотом у неё работает наш собственный AvitoBERT с дообученной головой. Платформа уже довольно высокого уровня зрелости: мы автоматизировали сбор датасетов, расчёт метрик, анализ ошибок и раскатку в прод. А сама модель инкапсулирована так, что обучение управляется лишь набором гиперпараметров.

🎓 Но есть сложность: для каждого параметра в объявлении нужна отдельная модель, а их можете себе представить, насколько много.

Автоматом запустить обучение всех параметров нельзя, потому что анализ качества модели — тоже непростая задача. Есть рекомендации по точности, но всё на самом деле индивидуально.

🎓 И вот перед Новым годом Аня Маркова, DS Team Lead в Товарах, и Руслан Гилязев запустили внутреннее соревнование, на котором мы всей компанией обучали модели на новые параметры. Я сам обучил модель, которая подсказывает жанр книги — было очень интересно.

Меня повергло в шок, что в топе лидерборда было много не DS-инженеров! Поэтому теперь у меня появился новый стандарт зрелости ML-системы — модель в ней может обучить не только дата-сайентист.

P.S. поздравляем Вику Найман с победой
🔥116
This media is not supported in your browser
VIEW IN TELEGRAM
Чтобы было понятнее в чем суть item2param, записал вам видео с примером 🙂
🔥41
This media is not supported in your browser
VIEW IN TELEGRAM
Токийский дрифт на выезде DS

У DS в Авито есть возможность не только работать на интересных и сложных проектах, но и классно проводить время вместе. Один из примеров — наш недавний выезд в отель «Пересвет». Я, Даня Бочарников, Data Science Engineer из поиска Авито, расскажу о нём со стороны участника.

Вообще в Авито много корпоративов для разных функций. Например, в декабре команда DS отправилась в загородную поездку, цель которой — понетворкать и переключиться с работы на веселье. Считаю, что нам это удалось 👇

🚗 Гвоздь программы выезда — хакатон по управлению беспилотными автомобилями. Он поначалу вызвал скепсис. «Мы и так целый год обучали модели, а тут опять надо, ещё и с дедлайнами жёстче», — успел думал я.

🚗 Но оказалось, что идея была шикарная. Во-первых, беспилотники — задача не из домена Авито. Да и computer vision не все могут заниматься по рабочим проектам. Во-вторых, люди в командах были из разных отделов и смогли познакомиться получше. За кофе-брейками обсуждали, как всё не работает или вот-вот заработает.

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

🚗 Получилась крайне необычная система оценки ML-моделей. Были хорошие, почти без нарушений правил, были забавные, а какие-то машины устраивали токийский дрифт или постоянно врезались в полицию.

После этого был классический ужин с живой музыкой — подробности опустим. Приходите и сами всё увидите 😉
🔥11👍41
Знакомимся с командами

В рамках 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