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
328 - Telegram Web
Telegram Web
Про мотивацию

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

В 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/13 13:44:48
Back to Top
HTML Embed Code: