Дата канальи — про «специалистов» в данных / ML / AI
4.94K subscribers
205 photos
7 videos
12 files
189 links
Корпжиза аналитиков и DS. Если хотите анонимно поделиться историей на широкий круг -- го в личку @NikitaZelinskiy, аналогично по остальным вопросам
Download Telegram
#ML

Итак, второй по популярности у нас uv, но знакомы с ним лишь 19% 😱
Время исправляться и образовываться. Утверждается, что он самый быстрый в моменте пакетный менеджер. И даже ускоряет установку больших пакетов 🤷‍♂️
Ну тогда попробуйте сыграть в перестановки:

$ pip install uv
$ uv pip install catboost

или, для ценителей однострочников:

$ pip install uv && uv pip install catboost

PS: результат непредсказуем

PPS:

$ uv tool install catboost

аналогично. А вот flask так ставится без проблем
👍5
Завтра в вышке ждем всех на завершающую мл-тренировку в этом году, заодно раздадим подарки активным и обсудим что будем делать в следующем
🔥6
Forwarded from Александра Сытник
Тренировки по ML

2️⃣8️⃣ декабря состоится последняя в этом году тренировка по машинному обучению ↩️

Мы вспомним пройденный материал. Подведём итоги и поговорим о планах. Нас ждут интересные выступления. Разбор соревнований. Подарки лидерам челленджей ❤️

📢 Спикер:
⚪️Александр Киреев, DS Team Lead МТС, 26 медалей Kaggle

📆 Когда: 28 декабря с 11:10
🗺️ Где: Покровский бульвар д. 11, ауд. R505

Подробнее про челленджи 🐭

Студентам других вузов необходимо заполнить форму для заказа пропуска не позднее чем за 24 часа до дня проведения тренировок, по организационным вопросам участия в тренировках вы можете обращаться к Александре ▶️
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥74
Саша на Новый год хочет 2000 подписчиков, осталось 10. Поможем?
Forwarded from LightAutoML framework (Alex Ryzhkov)
Добрый день, коллеги!

От лица команды LightAutoML поздравляю всех с наступающим 2025 годом! Хотим пожелать вам всем побольше качественных датасетов, ML моделей и счастливых бизнес-заказчиков 🎄

Со своей стороны мы подвели итоги 2024 года, среди которых можно отметить следующие:

1) Победа на Kaggle AutoML Grand Prix 2024, где мы были единственной командой, выигравшей 2 из 5 этапов

2) Фактически двукратный рост на основном GitHub репозитории sb-ai-lab/LightAutoML

3) Чуть более трети от всех 230k загрузок LightAutoML с PyPI произошли в 2024 году

4) В 2024 году в журнале JMLR вышла статья по прогону OpenML AutoML benchmark, в которой мы попали в топ-3 общемирового рейтинга AutoML решений для различных задач

5) В мае 2024 более недели находились в топе рейтинга Trending Research на сайте paperswithcode.com

6) Руководитель команды LightAutoML Александр Рыжков полностью прошел Kaggle - стал 4x Kaggle Grandmaster (теперь их 10 человек по миру)

Счастливого 2025-ого года и спасибо, что вы с нами 🦙

P.S. Верю в силу 6 рукопожатий - если вдруг кто-то из ваших друзей/коллег еще не знает про lama, приглашайте к нам в канал 🙃
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7
KDD_2020_Tutorial_on_Online_User_Engagement_Metrics_and_Optimization.pdf
20.3 MB
#ML

Разбирал папку 'Загрузки' и наткнулся на туториал c KDD20 по связи офлайн и онлайн метрик в рекомах -- лучшее, что я вообще видел по рекомендашкам.

Как интерпретировать A/B если существенную часть находят через поиск, как оптимизировать напрямую Revenue или GMV, как встроить RL, как избежать feedback loop (и здесь ответ совсем не тот, что принимается на собесах) и тд -- 270 страниц удовольствия в формате презентации 😊

Короче, хоть через 4 дня и 25й год, но эта штука очень актуальна. А еще канальи-DS любят разбирать статьи про математику, а платит нам бизнес, поэтому кмк небесполезно узнать как оно все-таки правильно выдавать стране угля.
🔥234👍3
#кейсы #ML

Давно про кейсы не было.
Вот история – загнали как-то больших и важных манагеров MLю учиться. Чтоб прочувствовали, канальи, от и до. В прямом смысле – и данные собрать и подготовить, и код написать, и пилот провести, и фин эффект посчитать, и в пром внедриться. 🙈
Ясное дело, что опытные делегаторы почти все делегировали.
Но кому? Все 🍅🍅 пилят в пром нормальные модели, вот и выдали большим и важным для помощи юных и активных.
Построили они 100500 моделей на 100500 подуктов и приносят внедрять, мол пилот уже был – все конверсии в 10 раз выросли и тп.
Говорю – ничего не знаю, ничего не видел, пилотируем еще раз.
Передают они модельку для инференса в питонячьем ноутбуке (первый красный флаг), затем выясняется, что работает она примерно суток (!!!) трое. И это все типа инференс (!). 🤬😵😱

Естестественно, от пилота я вежливо отказался.
А какие в корпорации опции решить проблему? Шантаж и эскалация 👊.
Сижу значит на встрече с этими биг боссами и они очень вежливо интересуются – что мол не так?
Я и говорю – трое суток как-то многовато (к тому времени я уже глянул в код и увидел что на инференсе модель каждый раз переобучается, причем с генерацией 10тыс+ признаков и отбором фичей, тоже не самым быстрым).
Они – а сколько нормально?
Для батча на этом объеме – максимум минут 5-10 на готовой витрине с фичами. 😝😝😝
Коллеги говорят “большое спасибо” и завершают встречу, а на заднем фоне кто-то орет. 🤕

PS: Про отбор фич и неочевидные эффекты поговорим отдельным постом, а пока к расчету фичей -- потому как ускорение расчета фичей это очень почетно) В соревновании OTTO – Multi-Objective Recommender System один из участников пишет что в 100+ раз (!!!) ускорил генерацию стандартных фич -- и это не предел.
7👍7😁6
Дата канальи — про «специалистов» в данных / ML / AI pinned «#кейсы #ML Давно про кейсы не было. Вот история – загнали как-то больших и важных манагеров MLю учиться. Чтоб прочувствовали, канальи, от и до. В прямом смысле – и данные собрать и подготовить, и код написать, и пилот провести, и фин эффект посчитать, и…»
#ML

Как же у меня все-таки горит с собесов по ML System Design — например, с такого https://telegra.ph/ML-System-Design-Framework-12-29

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

Але, гараж!
Я лосс выбираю / модифицирую / взвешиваю под оффлайн метрики и данные конечно, а не наоборот. Если у меня регрессия и оценивать меня будут по MAPE — я и буду оптимизировать MAPE (например, через взвешенный MSE — хотя можно и напрямую сам MAPE -- с масштабами просто аккуратно надо). В учебном коде для градиента в SGD это выглядело бы так:

def _der_loss(self, x, y, weight = 1):
if self.loss in ['MSE', 'MSE_weighted']:
return -(y - self._f(x)) * x * weight
elif self.loss == 'MAPE':
return -np.sign(y - self._f(x)) * x * weight


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

Учить нормально — медвежья услуга, получается? Как думаете?
👍171
Дата канальи — про «специалистов» в данных / ML / AI pinned «#кейсы #ML Раз уж пошло про KPI – вот безобидный прием против вредного манагера. Прием для настоящих каналий! Если вразумлять и просвещать манагера на метрики регресии, распределения остатков и прочее сил уж больше нет, то могу предположить что каналья-манагер…»
#ML

В комментариях под предыдущим постом про лоссы Саша Ледовский (тимлид топовой high load ml-команды Авито) поддержал тезисы поста и привел пример своих кейсов когда даже бизнес-метрики на собеседовании были бы далеко не очевидны, не говоря уже и про лоссы.

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

- почему именно такой?
- а почему лосс именно ранжирующий? Почему не BCE на L2? ты еще не определил релевантность
- почему не BPR-loss? Какие между ними возможны трейдоффы? По качеству и перфомансу?
- а сколько надо рекомендовать?
- а под что такая модель обучится? вдруг это контентные рекомендации и там лютый popbias?
...
Короче, вот точно бы не туда дискуссия пошла -- даже если бы интервьюер промолчал, пришлось бы к этому вопросу возвращаться с поздних этапов.
Модель -- это инструмент, выбор лосса -- настройка инструмента. Онлайн метрика -- цель, офллайн -- прокси на нее.

PS: кстати, Саша давно ведет свой, наполненный оптимизмом и абсолютно личным опытом канал
PPS: а еще Саша — классный коллега, работали пару лет в соседних структурах одной организации
👍12🔥4🙏3
#кейсы #ML

Сегодня 31 декабря.
Поэтому расскажу кейс о работе 31 декабря много лет назад. Горел флагманский и достаточно сложный и в плане бизнеса и плане инфры (первое внедрение в пром на спарке за историю банка, причем на паре десятков источников и с кучей моделей и модулей) проект.
Всем отделом, вне зависимости от грейда, 31 декабря часов до 11 вечера сидели на работе – все ковыряли данные и пилили модели, причем это ровно тот случай, когда в комнате чувствуешь себя самым тупым. Наш отдел реально знали и уважали ☺️
И вот примерно за что: сидит очень синьорный DS (наверное самый синьорный, которого я встречал вживую) и в реплике источника с ODS (operational data store, а не тот который был слаке) в таблице на 100+ млрд записей нашел 14 😱 записей, которые менялись при перезапуске скрипта сразными параметрами спарка.

Как была устроена реплика: если запись в источнике изменялась / удалялась / добавлялась, то в реплике писалась дата до десятой секунды, и тип операции – ‘I/U/D’. То есть чтобы собрать данные на дату в прошлое (чтобы потом сделать фичи) надо было написать что-то вроде:

select a.*
from
(
select
*
, row_number() over (partition by smth order by ods_dt desc) as rn
from table
where ods_date < our_date
) a
where (a.rn = 1) and (a.ods_type <> ‘D’)

Заменив row_number() на rank() он нашел что у одной и той же записи могут быть изменения, которые совпали с точностью до десятой доли секунды! И вот он ковырял пока не нашел незадокументированное поле ods_seq, которое хранило какой-то локальный номер операции. Добавил в сортировку оконной функции и дождался пересчета всех тестов на этой огромной таблице.
14 записей на 100+ млрд! И для него это был как песок в часах – недопустимое расхождение, которое вызывало зуд и зубовный скрежет.
Другой (начальник отдела, кстати) до победного калибровал свою модель. И мы работали полный день и второго января и третьего и так до самой сдачи проекта (только 8 марта случился следующий выходной).

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

И вот я искренне желаю вам в Новом Году оказаться в таком коллективе, где люди сильнее вас, умнее вас, и увлечены как минимум не меньше вас; на таком проекте где от вашей работы и внимания к деталям зависит действительно очень много, чтобы у вас была здоровая гордость за свою работу!

Моя мечта чтобы быть DS / MLE было не менее почетно чем врачом 👨‍🔬 или адвокатом 👨‍⚖️, чтобы мы с вами работали не потому что “продакт - бэклог - фича - жира” 🤮, а потому что делаем важное и очень классное дело, и на этих данных в этой области мы действительно первооткрыватели, нас драйвят файндинги и эффект на бизнес, на конечного пользователя. Нас драйвит изящество и скорость алгоритмов, красивые подходы, решенные задачи.

Новых знаний вам! Новых свершений! С наступающим Новым 2025 годом!
🍾🎄🥂🔔☃️🎄🥳
Please open Telegram to view this post
VIEW IN TELEGRAM
60🎄31🔥6🤡3🤯2👍1🗿1🆒1😎1
В канинкулы постараюсь воздержаться от лонгридов, но мимо забавного пройти не могу.
Все же писали курсовую / диплом / диссер?

Сразу после обоснования задачи идет лит. обзор -- кстати сам по себе часто очень полезная штука (особенно если лекцию студентам прочитать или понять что вообще в этой задаче люди делают).
Survey papers еще и достаточно цитируемы — можно и хирш порастить 🏆.

Так вот, последние пару лет стал замечать, что даже в обзоры вставляют такую картинку, типа методологию 🤓
Мб так и правильнее, но чет смеюсь 😂
🔥6🤔3😁2
#ML

Не все 31 декабря резали оливьешку и чистили мандаринки.
Фанаты мультиагентных систем из HF выпустили новую библиотеку SmolAgents:
https://huggingface.co/blog/smolagents
https://github.com/huggingface/smolagents
Кто баловался с langraph / langchain помнит что с opensource LLM не ко всем моделям работали bindы
(хотя год назад статья на HF вполне себе обнадеживала https://huggingface.co/blog/open-source-llms-as-agents).
Сейчас же утверждается что SmolAgents будет работать с любой LLM, которая есть на HF.
Когда же еще пробовать как не новогодних каникулах?
🔥5💯32
Developing-Multi-Agent-Systems-with-JADE.pdf
3.3 MB
#ML

Вот вам просто для сравнения -- как строили MAS в начале 00х, тогда были популярны 2 фреймворка -- MACE и JADE, вот интро по JADE (а статей с ним к тому времени было уже прилично)
🔥4
Дата канальи — про «специалистов» в данных / ML / AI
В канинкулы постараюсь воздержаться от лонгридов, но мимо забавного пройти не могу. Все же писали курсовую / диплом / диссер? Сразу после обоснования задачи идет лит. обзор -- кстати сам по себе часто очень полезная штука (особенно если лекцию студентам…
#ML

получил коммент -- а что заставило смеяться? Конкретно для меня целая схема по гуглингу статей выглядит очень забавно. Могу показать какие схемы мне нравятся: обзор 2023 по темпоральным графовым сеткам или SoK: Certified Robustness for
Deep Neural Networks
. Я читаю обзоры чтобы понять ландшафт, какие подходы есть в крупную клетку и когда их применять и ожидаю картинки про это, а не картинку про отбор статей на всю страницу)
🔥5🤓4👍21
#кейсы
Кейс про 71 или нет KPI, который нельзя взломать
В карьере каналий-манагеров бывают взлеты и падения.
Вот и героиня этой истории попала в организации в волну дебоссинга и очнулась на чужом пляже на пару грейдов ниже. В новом подразделении особой характерной чертой была высокая текучка руководителей – сменилось 7 за три года ☠️.

А все из-за KPI – надо было настроить реплики (обновляемые копии структур данных) 71 одной системе в хадуп к концу года.
Большинство конечно были оракловые, но встречались и DB2 и SAP и прочий зоопарк.
К слову тогда лицензия на коннектор оракл-хадуп стоила 1 млрд рублей, но обосновать ее покупку канальи не смогли, ели кактус.

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

Так вот героиня истории оказалась очень креативной – а давайте считать системы не по названиям и бизнес-логике а по КЭ (конфигурационным элементам) – бюрократической сущности, в которой вели учет инфры. Например, сервер с отчетами – 1 КЭ, бэкап-сервер – второй и тд. В среднем на одну систему 20 КЭ – в итоге вместо репликации 71 системы достаточно сделать 3,5. Протокольной службе действительно хватило 71 ID!! 😂
После такого оглушительного успеха грейд героине восстановили конечно) 💪👏

Но спустя полгода появился супер-топ-манагер из 🇺🇸. Поглядел своим опытным взглядом и сказал – зачем вы вообще на такое соглашаетесь. Пусть за реплики отвечает бизнес, а мы будем инструмент пилить (то что в мире таких ETL полно оставим за скобками). Признаюсь, идея ответственности бизнеса за ИТ меня впечатлила 😍😍😍
Высший пилотаж!

Но оглядевшись, понял что так в жизни много где – ответственность за здоровье на пациенте а не враче, ответственность за безопасность и образование детей на родителях, а не на школе. Так что действительно – почему бы KPI на заказчика / клиента не перекладывать? Давайте-таки продавать лопаты а не копать!
😁104🤔1