Запрети мне псевдолейблить – Telegram
Запрети мне псевдолейблить
2.76K subscribers
153 photos
3 files
147 links
Канал о пути к Kaggle competitions (теперь уже) GrandMaster и пиве, которым обливаешься в процессе

Последний авторский канал про мл, претендующий на искренность и позволяющий ставить клоунов
Download Telegram
Запрети мне псевдолейблить
Waagh закончен, получилось выбиться только в ~65 место. 🥉 Финальные результаты будут через две недели, когда боты в симуляции сойдутся и рейтинг устаканится. Даже видимо в глобальном рейтинге каггла упаду немного, но не сильно страшно. Разборы лучших решений…
Разбор решений NeuralPS Lux 3

#lux

Начинаем с третьего места, которое занял @aDg4b, загала называемый нами "Ворона в шляпе". Он уже не раз участвовал в simulation-соревнованиях, в том числе выиграл первый Lux и Kore 2022. В личной беседе @aDg4b отметил, что симуляционные задачи для него – самые интересные.

Основная идея
Решение построено на Imitation Learning (IL). Вместо того, чтобы учить награды или другие механики, модель просто обучается повторять действия сильных соперников, основываясь на их наблюдениях игрового поля.

Архитектура
Модель состоит из двух частей, которые не удалось объединить в единый end-to-end пайплайн:

1. World-wise UNet – предсказывает действия для всех агентов сразу.
2. Unit-wise SAP-UNET – дополнительная сеть, работающая как "модуль наведения". Если первый UNet приказывает стрелять, этот модуль решает, куда именно.
(Если у кого-то есть идеи, как объединить такие компоненты в end-to-end модель, напишите!)

Первая сеть: World-wise UNet
Входные данные:
Полный набор информации о мире (размерность 28×24×24):
24×24 – игровое поле.
28 каналов – различные характеристики среды (тип клетки, количество энергии и т. д.), а также память о прошлых позициях кораблей, времени сколько времени не наблюдали клетоку и прочее.
Глобальные параметры матча (инжектятся в bottleneck):
Дальность видимости кораблей, дальность стрельбы, параметры "ветра" и тд.

Выход сети:
6×24×24 – вероятности каждого действия для каждой клетки.

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

Вторая сеть: Unit-wise SAP-UNET
Входные данные:
Полный feature map + маска позиции юнита.

Выходные данные:
24×24 – вероятности выбора клетки для стрельбы.

IL
В качестве "донора" для IL использовались топ-2 команды (о которых мы еще поговорим):
1. С помощью Kaggle API загружались данные о матчах
2. Отбирались только те, где донор победил
3. В них фильтровались победы, где результат матча еще не предрешен.
Этого оказалось достаточно для сходимости модели, что для меня удивительно.

"Хорошие кагглеры думают, великие — воруют" (с) Фанаты Плескова
🔥5🥰31👍1🤡1
Новый день — новый Lux. Безоговорочное второе место

#lux

На этот раз код на Rust, критика JAX и доминация на всем протяжении соревнования.

🚀 Почему Rust?
Кагглеры обоснованно решили, что JAX — это забагованная, медленная штука, которую писали резерчеры, и для нормального Gym-энва она не подходит. Поэтому взяли и закодили свою среду на чистом Rust.

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

Вывод: в компилируемых языках test-driven разработка — мастхэв.

🛠️ Раз уж начали, то…
Если уже написали свою среду, то почему бы сразу не запилить feature extraction? В процессе написания среды они уже глубоко погрузились в механику игры и четко знали, как игроку показывают и что. Это невероятно помогает в feature engineering, проверил на себе.

Сначала правда код не запускался в среде Kaggle, но помогла компиляция в докере через Kaggle image. В итоге кодовая база разрослась до:
📌 10к строк на Rust
📌 6.5к строк на Python

Фичи без супер-изысков:
🗾 Всё, что знаем о поле (прямо сейчас)
🗾 Всё, что видели, но больше не видим
Всё, что знаем просто об игре: настройки, урон, ветер, очки противника, номер хода и т.д.
Всё, что знаем о будущем игры: куда двинет ветер, какие будут препятствия и куда они двинутся

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

🏗️ Архитектура модели
Маскирование недопустимых действий (например, нельзя выйти за карту, влететь в астероид или стрелять без энергии)
ResNet со skip-connections
Трансформер пробовали, но не завёлся
Алгоритм обучения — PPO
600 миллионов игр для сходимости

🔥 Производительность
Редкий случай, когда авторых хвастаются железом:
💻 CPU: Ryzen 9950X
🎮 2 x GPU: 3090 + 2070 Super
🛠️ RAM: 64 GB

Скорость: 2800 степов в секунду
Для сравнения, с помощью Ray + JAX у меня получилось выжать 200 степов в секунду, и это уже было быстрее, чем у всех на форуме.

TL;DR:
1. 🔥 🦀🔥
2. JAX
3. 2800 игр/сек на PPO
4. 600M эпизодов
5. ResNet все еще в моде

Если у кого есть проекты на стыке Rust и DS — пишите, очень хочу в таком поучаствовать. 🚀

Все больше вижу, как люди пишут свои маленькие тулы на компилируемых языках. Здесь раст, в #UBC был Cи. Приколы про Kaggle на C++ уже не совсем, правда?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥157👍5🤡3🥰1
March mania начался, все ставки сделаны и ставок больше нет.

Собственно задача этого когда, как и почти все время до этого- это предсказать исход матчей точнее, чем остальные кагглеры в терминах Brier-score

Здесь могла бы быть реклама вашей букмейкерской конторы.

🏀 🏀 🏀
Пока все три прогноза заходят, но и матчи вроде изи
🏀 🏀 🏀

Покупайте экспресс на матчи женской лиги NCAA

Через 19 дней будем знать результаты
👍9🤮322🔥1😁1🤡1
Пока что единственный РУЧНОЙ ЧЕРВЬ мастер в этом казино
🏆61🤡1
Guess who's back, bitch

Такие конечно эмоциональные качели от 'Я БЫЛ ПРАВ С САМОГО НАЧАЛА' до 'Ну не смог и не смог, ну чего бухтеть то'
16🔥13🤡7😁2
Запрети мне псевдолейблить
Guess who's back, bitch Такие конечно эмоциональные качели от 'Я БЫЛ ПРАВ С САМОГО НАЧАЛА' до 'Ну не смог и не смог, ну чего бухтеть то'
Опустился в бронзу из-за драмы:
Marquette, в победе которого моя модель уверена на 97%, проиграли New Mexico, причем из-за пары рандомных трехочковых в начале начали дизморалить и пытаться тоже забить издалека вместо борьбы под кольцом. Даже на графике видно, на сколько они все время были чуть-чуть позади и под конец окончательно сдали нервы. Просто сравните плотность атак из-за трехочковой линии у черных (New Mexico) и синих (Marquette)

UPD:
Драма продолжается
После этого разгона с New Mexico успел побывать на 4 🥇 месте (в деньгах 💰) и опуститься даже из бронзы на 177 место из-за какого-то неожиданно хорошего перфоманса Миссисипи

Ну что же, буду использовать полученный опыт в следующем году
Please open Telegram to view this post
VIEW IN TELEGRAM
😢15🤡62👍1👎1😁1🐳1
Kaggle для академиков

Прямо сейчас проходят соревнования, хорошее место в которых позволит опубликовать свой work-note и выступить с воркшопом на конфах CVPR25 (A+) / CLEF (A)

1. AnimalCLEF25 @ CVPR-FGVC & LifeCLEF
2. FungiCLEF25 @ CVPR-FGVC & LifeCLEF
3. PlantCLEF2025 @ LifeCLEF & CVPR-FGVC
4. GeoLifeCLEF25 @ CVPR & LifeCLEF
5. FathomNet 2025 @ CVPR-FGVC

Отдельно от них стоит BirdCLEF+ 2025. Это потому что за нее, в отличие от 5 предыдущих дают медальки, а значит конкуренция кратно выше. И это на самом деле очень хорошо, потому что можно на мягких лапах подкрасться к хорошим местам на первых пяти соревнованиях и против вас не будет драться на смерть весь консалтинг-отдел NVIDIA с 10к A100 в кармане. Отдел будет драться со мной за медальку на птичках.

А там глядишь, воркшоп с work-note на CVPR, магистратура в École Polytechnique и уютный офис Google в Париже с неплохой французской бытностью.

На фото это Эйфелева башня. Знаю, мыло, но ночью с рук сложно сделать совсем четкий снимок на polaroid. А почему я говорю именно про Париж- вы спросите лучше в лс.

А научиться решать соревы можно прямо вместе с @pseudolabeling
🔥16🤡5🥰21👍1
🥇 Первое место на NeurIPS Lux AI 3

За первое место соперничали в основном только три топовые команды. Давайте разберем ключевые решения победителей соревы:

Массовый фичинжиниринг
• Создали более 1000+ признаков для каждого тайла (напомню, их размер — 24×24)
•Сами написали PPO с V-trace на PyTorch
• Тоже двухголовая архитектура. Одна голова выбирает действие, а вторая определяет, куда стрелять, если действие связано с выстрелом
• Приделали еще и голову, которая предсказывает, куда шагнут враги в следующий момент, даже если враг не наблюдается. Таким образом, модель научилась стрелять «вслепую» 👀
• Обучались в формате bfloat16 на 1.5 млрд матчей. Всего за всю соревновательную сессию сыграли около 20 млрд матчей

Все другие секреты PPO уже разобраны, поэтому давайте сосредоточимся на поистине уникальном приеме команды:

🔥 Противодействие Imitation Learning (тут еще есть второе мнение от настоящего грандмастера)
• С первого люкса команда понимала, что многие полагаются на imitation learning, и решила активно противодействовать этому.
• Были обучены две модели — слабая и сильная (предыдущая лучшая и текущая) — с рандомным выбором, какая из них будет играть во время инференса.
• Сильная модель работала всего в 15% случаев, но писала об этом в логи игры, позволяя после матча распарсить и понять какая модель играла и замерять эффект. Все остальное время учили IL оппонентов плохому
• Анализ логов после матчей позволял точно оценить преимущества сильной модели относительно предыдущей. К тому же, топовые команды генерировали около 1000 матчей в день уже на лб (из них ~150 с сильной моделью), так что можно было проверить статзначимость улучшения.
• Под конец модель настолько раздулась, что две модели не помещались в сабмишн, так что пришлось оставить только одну и добавить к её атрибутам шум для того, чтобы портить трейн сет всем подражателям
#lux
2🔥302🤡2
Мою элитную LMU-магистратуру в этом году закрыли, потому что она оказалась слишком дорогой для немецкого правительства. Но в Германию все еще без проблем берут всех желающих и прошедших конкурсный отбор.

Тут на дружественном канале вышла как раз подборка немецких магистратур:
->>> подборка <<<-

Добавил бы от себя, что с этого года в TUM надо платить 6к евро в год за учебу, но это только в нем и остальные универы стоят порядка 100 евро в семестр + расходы на проживание
3👍11🤡44🔥3😁31🐳1
В строю наших слонов-компетишн-мастеров прибавилось:
https://news.1rj.ru/str/AparinAI/123
13🔥7🤡3
Пойду вспомню статистику гуся
🕊273💊3😢1
This media is not supported in your browser
VIEW IN TELEGRAM
25🤡4
🏀Не долго музыка играла, March Mania кончилась и все команды сыграли. 🏀

ПОЛУЧИЛОСЬ ОЧЕНЬ ПЛОХО

В этот раз было достаточно много 'Внезапных побед', так что после первых раундов меня довольно быстро потопило.

Из идей, которые можно вынести на будущее:
🔸 Надо обязательно участвовать. Это буквально лотерейный билет на solo gold — самый сложный шаг на пути к Kaggle Grandmaster, и его вполне можно вытянуть даже из паблик кернела с хорошим сидом

🔸 Вместо ELO — лучше GLIKO (версия 2). Он позволяет задавать разную дисперсию силы для разных команд, что особенно важно для нестабильных команд

🔸 Смотреть надо не на разницу очков, как Raddar, а на offense-defense метрики, как Джордж. Например, в попытках атак на кольцо хорошо видно, что одни команды закидывают трёшки, а другие играют в проход под кольцо. Результаты тоже сильно разные.

🔸 Женский баскетбол требует очень "неуверенного" подхода. Уровень команд более ровный, денег меньше, тренировки проще. В гранд-финале центровая проходит под кольцо и забивает сверху, а ее даже никто не пытается заблокировать. Фэнтези-баскет какой-то.

🔸 Последние матчи команды до турнира — самые важные. Игроки в NCAA проводят максимум 4 года, а звёзды уходят в профи уже через 2. Значит, старая статистика быстро устаревает и баланс сил меняетя.

Секретный хинт: можно взять отношения шансов на победу у букмейкеров и посмотреть, где модель фатально ошибается с распределением шансов в турнире через прямую симуляцию. Я наверно в следующий раз буду с ней блендить даже. Так можно отловить 'немодельные изменения', например травмы игроков
👍158💅32
Новое соревнование на Kaggle:
Yale/UNC-CH - Geophysical Waveform Inversion

Цель- инвертировать отражения сейсмических волн. Надо по 3D (два направления и время) предсказать карту глубин.

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

Метрика MAE по 69 колонкам (мультирегрессия)

По сути нам нужно из данных
p(*), t, x, z и (s + eps) вычислить c(*) в заданных точках.

Мои шесть семестров дифуров из универа напряглись, хотя гиперболическое дифференциальное уравнение в частных производных мы кажется отдельно не разбирали

Мне в свое время очень нравилась идея поженить свои знания МЛ и время потраченное на дифуры и уже была хорошая сорева для этого:
Google Brain - Ventilator Pressure Prediction

Там нужно было моделировать давление в легких в зависимости от нагнетаемого объема воздуха, что хорошо описывается дифурами, но в топовых решениях были просто plug-n-play трансформеры 😭
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥52
Продолжая тему академичных соревнований:
Forams Classification 2025

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

Данные тоже забавные:
3D сканы окаменелых моллюсков 128x128x128 вокселей и 15 классов. Загвоздка в том, что на каждый класс дано по 15 размеченных семплов, прямо как у мня на парах по классическому CV в свое время.
Данных всего 18424 примеров, так что подавляющая часть вообще не размечена.

Метрика- F1.


План для изи ачивки в академической карьере:
1. Берем команду из 5 человек
2. Смотрим глазами все классы и каждый размечает по 300 примеров (всего уже 1500 примеров)
3. Учим на jpeg-проекциях вокселей от авторов что-нибудь простое, типа Resnet.
4. Проверяем за резнетом и исправляем ошибки для самых уверенных классов
5. Учимся еще раз
6. Проверяем еще раз
7. ...
8. PROFIT!
👍1563🔥1🤡1
Forwarded from Hacker News
Python's new t-strings (Score: 154+ in 5 hours)

Link: https://readhacker.news/s/6t8rs
Comments: https://readhacker.news/c/6t8rs
1🔥54👍2🤡2
Человечество:
Изобретает LLM-driven поиск, чтобы не читать булшит от маркетологов и ллмки переписали все без воды и CEO-оптимизации

Маркетологи:
МЫ СОБРАЛИ ДЛЯ ВАС ПЯТНАДЦАТЬ ТЫСЯЧ ПРОМТОВ КОТОРЫЕ ПОЗВОЛЯТ ВАМ ЛУЧШЕ ИСКАТЬ С ПОМОЩЬЮ AI
🤣51🤡1142👍2💅1
Сори что без оригинального контента пока
6🤡1