Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
304 - Telegram Web
Telegram Web
Forwarded from Доска AI-объявлений (Alexander Ledovsky)
Почему мы не используем ассессоров для выкатки моделей в поиске

Осенью я участвовал в конференции IML в качестве эксперта. Моя роль была в том, чтобы после доклада Коли Смирнова про поиск «Лавки» поучаствовать с ним в дискуссии. И мы как раз затронули эту тему: ребята используют ассессоров, а я объяснял, почему у нас это не работает.

Идея ассессоров следующая:

👉 Допустим, вы переобучили поисковой ранкер и получили хорошие ML-метрики, условный NDCG.

👉 Затем вы посылаете на ассессоров заранее подготовленный пул запросов, отранжированных новой и старой моделью, и получаете оценку качества от людей.

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

Поэтому никакой ассессор не сможет оценить, насколько хорошо мы собрали выдачу.

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

Думаю, что в какой-то момент от нас выйдет подробный доклад по этому поводу. Там много интересного: и как формировать пулы, и как подбирать хорошие оффлайн-метрики, и как сделать инструмент быстрым в использовании.

P.S. На самом деле ассессоров мы используем. Но только для сбора специального датасета для обучения модели релевантности. Но это не то же самое, что оценка поисковой выдачи в целом.
👍14
Ответ на пост: AI продакты - кто это?

Никита написал актуальный пост. Он подметил, что сейчас активно стали искать AI продактов. И задается вопросом кто они такие? В Авито есть ветка AI продактов (мы ее называем DS продакты). Я активно работаю с DS продактами и мне нравится идея выделять такую специализацию. Расскажу по порядку.

AI продакт - это в первую очередь продакт, а не DS инженер, и не руководитель DS инженеров. Он отвечает за запуски продуктов, использующих ML, и улучшение их метрик. Я бы сказал, что это обычный продакт, который имеет общий инженерный бекграунд и какое-то время поработал на проектах с ML. Например, имеет представление, как в каких компаниях устроены те или иные решения: поиск, динамический прайсинг, автоматизация поддержки итд

Почему недостаточно DS тимлида?

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

Примеры задач, которые делает AI продакт

- Составляет продуктовую стратегию
- Согласует и отвечает за выполнение продуктовых целей
- Согласовывает раскатки
- Обрабатывает входящие запросы из других команд

Первая киллер-фича AI продакта

Он позволяет DS тимлиду (то есть мне) сконцентрироваться на технических улучшениях моделей и алгоритмов. Я работал и без DS продакта - моя DS продуктивность была сильно ниже.

Вторая киллер-фича AI продакта

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

Поэтому нужно либо нанимать крутых бизнес-ориентированных DS инженеров и платить им огромные деньги. Либо дать ответственность продакту и пусть он долбает технаря.

Заключение

Ну что, я вас убедил, что AI продакт - полезная роль?

➡️Читайте также
Выбор, который обнаруживаешь в середине карьеры
Вечные проблемы DS команд

#management@big_ledovsky
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥6🙉3🥰1
Какие DS конференции нас ждут весной

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

16-17 апреля. Data Fusion. Конфа ВТБ. Честно говоря до этого на ней не был, но в этом году планирую сходить.

16-17 мая. IML conf. Питер. Это относительно новая конфа, коммерческая, но потому качественная. Она делается компанией JUG, которая делает JPoint и другие крупные ИТ конфы. Поэтому там есть программный комитет, хороший продакшн и прочее. Подал туда доклад, жду возьмут или нет.

23 мая - 1 июня. DataFest 2025. Как и в прошлом году датафест будет состоять из нескольких дней, которые будут проводиться разными компаниями. И один день опять будет проходить у нас. Конечно всех ждём!

➡️ Читать также
Впечатления с осенней IML 2024
Впечатления с Датафеста 2025
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1
Про мотивацию

Вчера сидели в баре, и я вспомнил, что меня в жизни сильно замотивировало и помогло стать тем, кем я стал.

В 10-м классе я занимался математикой с преподавателем из МАИ. Честно говоря, мой уровень математики был тогда не очень высокий. Но и преподаватель не был блестящим ученым)) От статей в уважаемых журналах там было далеко.

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

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

Но еще более удивительную историю я узнал у коллег. Оказалось, что сразу два человека из сидевших за столом выбрали техническое образование после просмотра Железного человека. Я его признаюсь не смотрел, после такого нужно исправить.

Такие дела. Как всегда буду рад вашим реакциям!

#lifestyle@big_ledovsky
26😁18👍4
Немного лайфстайл контента со вчерашнего турнира по настольному теннису!

Интересно, что из 5 человек команды 4 занимаются аналитикой и DS

- Мы с Ромой DS-ы, делаем продвижение в поиске и рекомендациях
- Коля - аналитик, делает скидки
- Даня отвечает за АВ платформу
- А Ваня где-то в продажах, даже не знаю на самом деле что конкретно делает.. 😅
🔥298🏆7🫡1
Мысли после месяца кодинга c AI

В интернетах ходят самые разные мнения по поводу написания кода с помощью LLM. Появился термин - вайб-кодинг 🏄‍♂. Это когда вместо того чтобы писать код, пишете инструкцию AI ассистенту, что вы хотите, чтобы он написал за вас.

Кто не пробовал, LLM реально хорошо пишут код. Даже очень хорошо. Откровенных галлюцинаций я не видел. Но не все так просто. Делюсь своими впечатлениями.

В сообществе появилось сразу несколько лагерей

🐙 Очевидно активизировались начинающие и авторы курсов для них. Там буря эмоций и космические ожидания. Теперь каждая домохозяйка сможет статьи программистом.

🐙 Одна часть опытных людей горит 😆, что наберут толпу вайб-кодеров из предыдущего пункта. Они так накодят, что ИТ системы по всему миру будет не откачать после такого вмешательства

🐙 Другая часть опытных людей предсказывает серьезные изменения в профессии и вымирание джунов как класса (т.е. людей из того же первого пункта 🤪)

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

Поэтому я жду, что будет смесь. Будут те, кто хорошо пишут код "по-старому", и те кто "по-новому". И "по-новому" тоже нужно будет немало учиться, чтобы хорошо писать промпты.

Что я пробовал

💎 Сперва я начал писать в веб-интерфейс ChatGPT и мне так понравилось, что я купил подписку за 20$.

💎 Затем я попробовал Cursor - редактор кода, сделанный на основе VSCode с AI помощником. Он произвел на меня не меньшее впечатление. Но после 2-недельного пробного периода подписку я пока не купил. Хочу попробовать другие инструменты

💎 И последнее - это терминал Warp. В нем можно писать команды в командную строку, а можно попросить что-нибудь написать за тебя. Очень удобно.

С следующих постах я подробнее расскажу о том, как эти инструменты работают, и как я работаю с ними.

Что хочу попробовать еще

Инструменты, работающие через API, совместимые с разными нейросетями.

🌳 В первую очередь хочу попробовать Aider. Это open-source проект и вы можете посмотреть его промпты на гитхабе. А еще он мне откликается по духу, т.к. работает из командной строки

🌳 Continue.dev - расширение для VSCode

🌳 Zed - Еще один трендовый редактор со встроенным AI. Может быть у VSCode наконец появился достойный конкурент (не то что бы против JetBrains и NeoVim, но у них другая ниша)

Итого

Пока использую ChatGPT через Web. Не прям чтобы очень удобно заниматься постоянным копипастом. Но все-таки я использую LLM точечно и плюс контроллирую что я посылаю, поэтому пока терпимо.

В любом случае в будущем хочется уйти от Web-UI и найти и настроить себе удобную среду.

PS. Узнали оригинал картинки?)
PPS. Буду рад вашим реакциям!

#productivity@big_ledovsky

🔜Читайте также
Мой сетап MacOS
Почему Jupyter ноутбукам придет замена
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23🔥82🥴1
Есть условно 4 типа людей, которые делятся по комбинации признаков: хорошие/плохие работники и умеют/не умеют проходить собесы.

И кстати тех, кто хорошо проходил собесы, но потом плохо перформит, не так много. А вот хороших инженеров, которые плохо проходят собесы достаточно. Поэтому к собесам нужно готовиться.

Чтобы следить за трендами о том, что сейчас спрашивают, и не замыкаться на наших интервью я хожу по собеседованиям читаю канал Димы Ebout Data Science. В отличии от других каналов, мне нравится его стиль - не душно, но и не треш-контент. Вот несколько интересных постов:

- Разбор собеса на Middle DS в NLP
- Self-attention в одном посте
- ML System Design RAG системы в одном посте

В общем, рекомендую обратить внимание. А еще меня зацепили видео с разборами на ютубе. Их пока немного, но они прям хорошего качества, с монтажом и хорошим звуком. Хочется чтобы такого контента в русскоязычном DS было больше.
🤡14👍5😐32🔥2
Правда про АБ тесты

Знаю, что меня читают аналитики.

Обратите внимание на митап Trisigma 16 апреля. Trisigma - это наша АБ платформа, которую мы выпустили наружу в качестве продукта.

А я поделюсь своим взглядом на АБ-тесты. Люблю, когда в блоге Валеры выходят разборы статей про мат методы в АБ. Но на самом деле АБ-ница - это не про кьюпеды, а про процессы.

- Чтобы АБ тест запускался быстро и по стандартам
- Чтобы система ежедневно обсчитывала много метрик и разрезов
- Чтобы метрики было легко поддерживать и добавлять
- Чтобы можно было накликать метрик и скинуть ссылку, а потом разобрать тест на регулярной встрече
- Чтобы люди могли исследовать почему их метрики пошли в ту или иную сторону, поискав прокрасы этой метрики во всех тестах за год
- И главное люди ей верили и по тестам засчитывали аплифты метрик

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

На практике тесты отличаются от теоретических знаний, которые вы могли увидеть на курсах (не является рекомендацией или официальной позицией 😅 просто правда жизни)

- Да, мы подглядываем, хотя вообще нельзя
- Да, смотрим на тест под разными альфами, когда их разбираем, хотя говорят что нужно фиксировать их заранее
- Да, не делаем поправку на множественное тестирование (но смотрим на матожидание ложных прокрасов)
- Да, обычно вырубаем красный тест досрочно
- Да, регулярно есть ложные прокрасы
- Да, иногда добавляем метрики и задним числом пересчитываем

В общем, тема тестов очень богатая и интересная. И стоит того, чтобы в ней разобраться 🙂

🙈 если тоже подглядывайте
😈 если осуждаете
🤔 если хотите узнать что такое прокрасы, и что такое красный и зеленый тест
🙈23🤔12😈10🔥4
К предыдущему посту - разговорник по АВ-тестам

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

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

Статистический критерий выдает пороговое значение, чтобы изменение не считалось случайным. Критерий зависит от объема трафика, дисперсии метрики (= величины шума) и вероятности ошибок, на которые вы соглашаетесь.

Если изменение метрики больше порога - говорят, что она прокрасилась

- Если метрика изменилась положительно, говорят, что прокрас зеленый 🟢 . Если отрицательно, то красный 🔴

- Если в тесте положительно прокрасились ключевые метрики - говорят, что тест зеленый 🟢

- Если отрицательно, то красный 🔴

- Если ничего не прокрасилось, говорят, что серый 🔲

- Если есть как положительные, так и отрицательные прокрасы, говорят, что тест зелено-красный 🟢🔴

- Если прокрасы положительные или отрицательные, но на грани значимости, то говорят, что тест серо-зеленый 🔲🟢 или серо-красный 🔲🔴
🔥16👍53
На Data Fusion

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

Я немного шокирован масштабом программы, т.к. она состоит их двух полных дней по 7 параллельных треков с утра до вечера. Вот буквально с 9-30 до 20-00. Происходит все это дело в кластере Ломоносов - однозначно живописном месте. Забавный факт, что я долгое время был убежден, что кластер Ломоносов - это суперкомпьютер и не понимал как люди могли его посещать 😂

Встретил Никиту и моих старых коллег по DS консалтингу IBM Дениса и Артура

Ждите следующего поста с впечатлениями!
🔥33❤‍🔥104😁2😍2👍1
Про доклад о природе последовательных рекомендаций на Data Fusion

Думал чем поделиться с прошедшего Data Fusion. Были и интересные доклады, и интересные знакомства. В итоге решил поделиться с вами докладом, который мне запомнился, и который является хорошим примером прикладного рисерча. Постараюсь все рассказать доступным языком 😛

Доклад на тему рекомендаций и называется «Does It Look Sequential? Анализ последовательных паттернов в датасетах для рекомендательных систем». Спикером была Анна Володкевич, а выступление основано на этой статье.

Предыстория: тренды в рекомендательных системах

Дело в том, что сейчас один из главных трендов области: использование в user-to-item рекомендациях трансформерных моделей обучающихся на последовательности пользовательских действий. Эти модели пытаются лучше учитывать последнюю историю вашего взаимодействия, а не смешивать в одну кучу старые и свежие действия. Сейчас популярны несколько архитектур, которые строятся по принципу языковых моделей. Например, SASRec и Bert4Rec.

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

Суть исследования

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

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

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

Выводы

Во-первых, если вы обучаете SASRec на своих данных, неплохо провести такой тест.

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

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

Я везде люблю искать продуктовую природу. Лично у меня пока нет интуитивного понимания, в чем отличие выдачи классических ALS моделей и трансформерных sequential. И было бы интересно его получить.

Спасибо, что дочитали! Если пост откликнулся, буду рад вашим реакциям 🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥285
Aider - впечатления

Практически сразу после прошлого поста про AI ассистенты для кодинга я начал пользоваться Aider-ом. Он мне невероятно зашел и я чувствую себя еще более воодушевленным от LLM технологий.

Несколько фактов про Aider

- Этот инструмент запускается из терминала, а значит не привязан к среде разработки. Это значит, что вам не нужно переходить из своей удобной настроенной среды в Cursor

- Он лежит на гитхабе и вы можете посмотреть его исходный код (и код промптов, который он посылает)

- Вы можете настроить его с любой LLM, в том числе локальной. Я использую gpt-o4-mini - это рекомендованная модель из стека OpenAI.

Aider зашел мне больше, чем Cursor, потому что он дает больший контроль за происходящим. Поэтому на нем легче повышать свой скилл в общении с AI. Я кстати еще больше убедился, что вайб-кодинг - это отдельный навык, который нужно качать.

В чем состоит повышенный контроль у Aider

Кроме возможности посмотреть промпты и потестировать разные модели:

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

Во-вторых, в Aider явно присутствует 3 режима работы. Code - попросить что-то сделать. Ask задать вопрос или спланировать изменение, при этом изменения в файлах не будет. И Architect - что-то среднее.

Architect я лично еще не освоил, в основном использую Code. В документации рекомендуется работать по принципу комбинирования Ask-Code и это неплохо работает.

Сложность работы с ассистентом

Основная проблема, с которой я столкнулся в вайб кодинге - это когда не получается с первого раза получить хороший результат. В отличии от ChatGPT в UI просьбы сделать правки довольно часто упираются в то, что Aider не может применить изменения. Изменения в коде делаются так - модель возвращает результат в формате «файл - код до - код после». Aider пытается найти в файле нужный фрагмент и заменить. Когда вы делаете правку, иногда модель предлагает правку к исходному коду, а не промежуточному варианту. В этот момент Aider ломается и выдает ошибки.

Поэтому я стараюсь делать изолированные итерации. Если получается не то, то откатываюсь (что легко благодаря коммитам под капотом) и делаю новый промпт. Ну и не стоит пренебрегать очисткой контекста, это тоже помогает.

Выводы и рекомендации

В целом инструмент очень крутой. У меня получилось сделать на нем довольно сложные вещи. Например, доработать телеграм бота, чтобы в docker compose добавилась крон джоба с тем же контейнером. Или написать тесты для миграций на sqlalchemy+alembic. ML модели вообще кодятся без каких-либо проблем.

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

Атомарные коммиты Aider приходится склеивать git rebase -i + squash, но это как мне кажется не проблема.

Такие дела, как всегда буду рад вашим реакциям 🔥
🔥20👍7👌1
2025/07/14 17:46:25
Back to Top
HTML Embed Code: