На Data Fusion
Итак, в этом году я наконец-то попал на Data Fusion. Во-первых, я получил приглашение (как блогер 😅 ) и офигенную толстовку. Во-вторых, я участвовал в соревнованиях Data Fusion этого года и поэтому хотел поучаствовать и в самой конфе. На этот раз не могу похвастаться призовыми, но задача определения категории была супер полезна c точки зрения опыта. Научился дообучать берт, замораживать и размораживать веса и вот это все.
Я немного шокирован масштабом программы, т.к. она состоит их двух полных дней по 7 параллельных треков с утра до вечера. Вот буквально с 9-30 до 20-00. Происходит все это дело в кластере Ломоносов - однозначно живописном месте. Забавный факт, что я долгое время был убежден, что кластер Ломоносов - это суперкомпьютер и не понимал как люди могли его посещать 😂
Встретил Никиту и моих старых коллег по DS консалтингу IBM Дениса и Артура
Ждите следующего поста с впечатлениями!
Итак, в этом году я наконец-то попал на Data Fusion. Во-первых, я получил приглашение (
Я немного шокирован масштабом программы, т.к. она состоит их двух полных дней по 7 параллельных треков с утра до вечера. Вот буквально с 9-30 до 20-00. Происходит все это дело в кластере Ломоносов - однозначно живописном месте. Забавный факт, что я долгое время был убежден, что кластер Ломоносов - это суперкомпьютер и не понимал как люди могли его посещать 😂
Встретил Никиту и моих старых коллег по DS консалтингу IBM Дениса и Артура
Ждите следующего поста с впечатлениями!
🔥33❤🔥10❤4😁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. И было бы интересно его получить.
Спасибо, что дочитали! Если пост откликнулся, буду рад вашим реакциям 🔥
Думал чем поделиться с прошедшего 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
🔥28❤5
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, но это как мне кажется не проблема.
Такие дела, как всегда буду рад вашим реакциям 🔥
Практически сразу после прошлого поста про 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
Шашлыки на 9 мая или Как любые активности с моим участием превращаются в поход
Легально сходить на шашлыки в Москве непросто. Все началось с того, что наша подруга Маша нашла, что можно бронировать беседку для шашлыков бесплатно на сайте mos.ru. 9-го мая за бесплатно желающих понятно было много. Поэтому забронировать удалось только с 9 утра до часа дня на пляже в Покровском Стрешнево. Ну чтож, завтрак шашлыками звучит прикольно, мы с женой вписались.
Вечером 8 мая ребята уже замариновали мясо и даже купили запасной мангал (вообще мангал должен предоставляться). Я вспомнил про свою супер горелку для того, чтобы делать на ней кофе - не зря ж я походник. Но тут возникла проблема. Объявили, что 9-го мая выключают мобильный интернет. Машины у нас ни у кого нет, карш и такси не вызвать, а у ребят грудной ребенок.
Утром в 8-30 мы пришли к нашим друзьям с моим большим походным рюкзаком, куда я загрузил большую часть вещей. Мы с женой сразу отправились своим ходом. Было страшно входить в мцк с рюкзаком в котором газовый баллон, т.к. насколько я знаю провозить его нельзя. Я предпочел войти через метро и потом пересесть, т.к. там меньше проверяют. Оказалось 9-го мая всем было пофиг, проверяющие не лютовали и порадовались моему рюкзаку, и что у меня впереди какое-то приключение.
Т.к. заказать такси у друзей не получилось, мы с ними встретились на Шелепихе и поехали в сторону Покровского-Стрешнево: они с коляской, мы с походным рюкзаком. Интернет не работал, поэтому я построил глазами маршрут и взялся всех довести. Мы вышли на Балтийской и пошли пешком. Минут через 20, когда мы почти пришли, дорога неожиданно прервалась замурованными воротами - мы уперлись в военную базу 🤷♂️. Чтобы ее обойти пришлось пройти добрые 40 минут, чтобы наконец добраться до пляжа с беседкой. Было около 10 утра. Маша переживала, что бронь нашей беседки пропадёт. Однако проблема оказалась совсем не в этом.
Оказалось, что беседки были, однако никаких мангалов там нет. Смотритель парка сперва вел себя как советская продавщица, потом немного смягчился, но в любом случае шашлыков нам было не пожарить. Вокруг виднелись яхты и элитные дома, а сама удаленность этого места говорила - вас тут не ждут. Тогда мы вспомнили, что видели на карте парка зону шашлыков.
Путь занял у нас еще минут 40. GPS не работал, и это была настоящая тренировка по спортивному ориентированию. Периодически я даже смотрел в компас. К 11 мы почувствовали запах жаренного мяса. Формат зоны на самом деле хороший: много мангалов и беседки. Правда все беселки конечно были заняты. В части из них сидели одинокие студенты, которые за деньги держали их для своих заказчиков, которые подходили позже. Сам контингент был на любителя. Две трети шашлычников были студенты из МАИ, пьющие уже в это время, а также трудовые мигранты.
Тем не менее атмосфера в этом импровизированном комьюнити была хорошей и даже праздничной. Мы нашли себе мангальчик. Есть хотелось безумно - мы же не завтракали! Мясо получилось очень вкусное. Я спросил где Даня научился так мариновать шашлык, он сказал, что спросил пропорции у ChatGPT 😅 В 2 часа дня мы уже сели на МЦК Стрешнево, которое оказалось в 10 минутах от площадки. Выход на шашлыки в этом году можно считать успешным.
#lifestyle@big_ledovsky
Легально сходить на шашлыки в Москве непросто. Все началось с того, что наша подруга Маша нашла, что можно бронировать беседку для шашлыков бесплатно на сайте mos.ru. 9-го мая за бесплатно желающих понятно было много. Поэтому забронировать удалось только с 9 утра до часа дня на пляже в Покровском Стрешнево. Ну чтож, завтрак шашлыками звучит прикольно, мы с женой вписались.
Вечером 8 мая ребята уже замариновали мясо и даже купили запасной мангал (вообще мангал должен предоставляться). Я вспомнил про свою супер горелку для того, чтобы делать на ней кофе - не зря ж я походник. Но тут возникла проблема. Объявили, что 9-го мая выключают мобильный интернет. Машины у нас ни у кого нет, карш и такси не вызвать, а у ребят грудной ребенок.
Утром в 8-30 мы пришли к нашим друзьям с моим большим походным рюкзаком, куда я загрузил большую часть вещей. Мы с женой сразу отправились своим ходом. Было страшно входить в мцк с рюкзаком в котором газовый баллон, т.к. насколько я знаю провозить его нельзя. Я предпочел войти через метро и потом пересесть, т.к. там меньше проверяют. Оказалось 9-го мая всем было пофиг, проверяющие не лютовали и порадовались моему рюкзаку, и что у меня впереди какое-то приключение.
Т.к. заказать такси у друзей не получилось, мы с ними встретились на Шелепихе и поехали в сторону Покровского-Стрешнево: они с коляской, мы с походным рюкзаком. Интернет не работал, поэтому я построил глазами маршрут и взялся всех довести. Мы вышли на Балтийской и пошли пешком. Минут через 20, когда мы почти пришли, дорога неожиданно прервалась замурованными воротами - мы уперлись в военную базу 🤷♂️. Чтобы ее обойти пришлось пройти добрые 40 минут, чтобы наконец добраться до пляжа с беседкой. Было около 10 утра. Маша переживала, что бронь нашей беседки пропадёт. Однако проблема оказалась совсем не в этом.
Оказалось, что беседки были, однако никаких мангалов там нет. Смотритель парка сперва вел себя как советская продавщица, потом немного смягчился, но в любом случае шашлыков нам было не пожарить. Вокруг виднелись яхты и элитные дома, а сама удаленность этого места говорила - вас тут не ждут. Тогда мы вспомнили, что видели на карте парка зону шашлыков.
Путь занял у нас еще минут 40. GPS не работал, и это была настоящая тренировка по спортивному ориентированию. Периодически я даже смотрел в компас. К 11 мы почувствовали запах жаренного мяса. Формат зоны на самом деле хороший: много мангалов и беседки. Правда все беселки конечно были заняты. В части из них сидели одинокие студенты, которые за деньги держали их для своих заказчиков, которые подходили позже. Сам контингент был на любителя. Две трети шашлычников были студенты из МАИ, пьющие уже в это время, а также трудовые мигранты.
Тем не менее атмосфера в этом импровизированном комьюнити была хорошей и даже праздничной. Мы нашли себе мангальчик. Есть хотелось безумно - мы же не завтракали! Мясо получилось очень вкусное. Я спросил где Даня научился так мариновать шашлык, он сказал, что спросил пропорции у ChatGPT 😅 В 2 часа дня мы уже сели на МЦК Стрешнево, которое оказалось в 10 минутах от площадки. Выход на шашлыки в этом году можно считать успешным.
#lifestyle@big_ledovsky
😁27🔥11❤6👍4
Приехал в Питер на IML. В субботу делаю доклад про ранжирование платных в поиске и рекомендациях Авито
IML 2025. ML-конференция: от обучения до эксплуатации моделей
Как мы ранжируем платные объявления в поиске и ленте рекомендаций | Доклад на IML 2025
Расскажу про механики показа платных объявлений в поисковой выдаче и в ленте рекомендаций Авито. Вы узнаете, какие модели у нас работают и как мы смешиваем платные айтемы с органической выдачей.
👍19🔥11
This media is not supported in your browser
VIEW IN TELEGRAM
👍11🔥7❤5
Онлайн впечатления с IML
Классная конфа. Хорошие доклады и организация. Жду свое выступление
Много докладов по теме поиска и рекомендаций, а также LLM. Думаю потому что первые приносят много денег, а LLM - это сейчас главная ставка в AI.
Третье фото из импровизированной лавки специально для моих друзей, любителей сплит клавиатур (Миша Ч и Дима С 👋). Захотелось попробовать пересесть на них еще раз.
#iml
Классная конфа. Хорошие доклады и организация. Жду свое выступление
Много докладов по теме поиска и рекомендаций, а также LLM. Думаю потому что первые приносят много денег, а LLM - это сейчас главная ставка в AI.
Третье фото из импровизированной лавки специально для моих друзей, любителей сплит клавиатур (Миша Ч и Дима С 👋). Захотелось попробовать пересесть на них еще раз.
#iml
🔥22
IML_25_Ледовский_Ранжирование_платных.pdf
26.2 MB
Презентация моего доклада на IML
Видео доклада выйдет через несколько месяцев, а пока могу поделиться слайдами (уже несколько человек спрашивало).
Можете задавать вопросы прямо сюда!
Видео доклада выйдет через несколько месяцев, а пока могу поделиться слайдами (уже несколько человек спрашивало).
Можете задавать вопросы прямо сюда!
🔥25
Планирую стрим с подписчиками
Во-первых, хочу поделиться, что пошел на курс голоса и речи в актерскую студию. Тема топ, но об этом в другой раз 🔥
В общем, задали нам домашнее задание провести прямой эфир. Можно это сделать в нашей учебной группе, а можно в своем канале если есть. А я сам никогда стримы не проводил.
Первая осторожная часть меня сразу выпалила - «ну о чем мне стримить в канале? кому вообще эти стримы нужны? нужно сделать учебный стрим в группе».
А другая провокаторская ухмыляется - «ну что, зассал?» 😅
Манипуляция удалась и третья рациональная часть пошла прорабатывать будущий стрим. И неожиданно обнаружила - а почему в канале ни разу не было ответов на вопросы?
Итак, стрим состоится в понедельник 26 мая в 20:00 Мск. Собираю вопросы, темы следующие
💎 Карьерные советы. Как дорасти до синьора/лида и стать хорошим инженером
💎 Как продуктивно работать и не выгореть
💎 И в целом можете задавать любые вопросы про меня, мой путь и прочее. Отвечу на все, что находится в разумных границах приличия.
Ну вот, буду вас с нетерпением ждать. На стриме также расскажу зачем пошел на речь. А после ответов на письменные вопросы пообщаемся голосом. Увидимся!
Задавайте ваши вопросы в гугл форму
Добавить в гугл календарь
Во-первых, хочу поделиться, что пошел на курс голоса и речи в актерскую студию. Тема топ, но об этом в другой раз 🔥
В общем, задали нам домашнее задание провести прямой эфир. Можно это сделать в нашей учебной группе, а можно в своем канале если есть. А я сам никогда стримы не проводил.
Первая осторожная часть меня сразу выпалила - «ну о чем мне стримить в канале? кому вообще эти стримы нужны? нужно сделать учебный стрим в группе».
А другая провокаторская ухмыляется - «ну что, зассал?» 😅
Манипуляция удалась и третья рациональная часть пошла прорабатывать будущий стрим. И неожиданно обнаружила - а почему в канале ни разу не было ответов на вопросы?
Итак, стрим состоится в понедельник 26 мая в 20:00 Мск. Собираю вопросы, темы следующие
💎 Карьерные советы. Как дорасти до синьора/лида и стать хорошим инженером
💎 Как продуктивно работать и не выгореть
💎 И в целом можете задавать любые вопросы про меня, мой путь и прочее. Отвечу на все, что находится в разумных границах приличия.
Ну вот, буду вас с нетерпением ждать. На стриме также расскажу зачем пошел на речь. А после ответов на письменные вопросы пообщаемся голосом. Увидимся!
Задавайте ваши вопросы в гугл форму
Добавить в гугл календарь
Google Docs
Вопросы к стриму
🔥22👍7🤩3