Привет всем!👋
Вчера закончилось соревнование - ROGII - Wellbore Geology Prediction.
По результату соревнования наша команда забрала бронзу 🥉 заняв 525/6191 место. На Private LB мы поднялись на 168 мест.
Немного предыстории:
Я начал соревнование соло, но после общения в чате Псевдолейблинга на меня вышел парень, который слушал мое выступление в МФТИ "Я профессионал" и предложил поучаствовать вместе. Я согласился, также в рамках соревнования я начал впервые активно использовать вайбкодинг.
Fun Fact: Это соревнование - первое мое соревнование, в котором 90% работы за меня выполнил Claude Code.
Времени много кодить у меня не было, благодаря Claude я делал вечером дела в параллель, высвободив себе немного свободного времени, по сути руководя им как тимлид. Мы сделали довольно таки годный репозиторий, в который каждый сабмит и прогон логировался с комментариями, сохраняя версию ноутбука, проверяя кросс валидацию. Из смешного: файл с логированием сабмитов submission_history.csv начинался строго на английском, имел четкий численный идентификатор эксперимента (exp_001), но в конце уже полностью перешел на русский с потерей четкой структуры идентификации. Множественная потеря контекста привела к хаосу в документе и его пришлось в момент переписывать, это достаточно забавно.
Fun Fact: Название команды было предложено не мной, только в процессе работы я узнал, что это оказывается довольно-таки нишевый исполнитель.
Об экспериментах:
Их было много, спаршены все топ паблик кернелы, сгенерированы признаки из подсказок в discussions (далее по тексту physfeats), даже попробованы нейросетевые подходы. Топ-1 взяла UNet архитектура, мы тоже ее пробовали, но при увеличении кол-ва скважин, модель банально взрывалась по метрикам, побороть это нам не удалось.
Об итоговом сабмите:
Fun Fact: Сабмит, который принес нам бронзу был сделан последним, за пару часов до дедлайна. Он на Private показал топ-1 скор из всех, что у нас были.
По итогу, бросив нейросетевые подходы (решения аналогичного соревнования прошлого года и архитектура с Attention, Unet, поиск предобученных на HF), мы остановились на бленде из классических моделей (линейки, бустинги) с физическими фильтрами. Последние дни боролись именно за стабильность решения, в т.ч используя усреднение предсказаний по куче сидов (да-да finetuning сидов это база для Kaggle).
О архитектуре итогового сабмита и выводах ниже⬇️⬇️⬇️
#соревнования
