Telegram Group & Telegram Channel
Новый день — новый 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



group-telegram.com/pseudolabeling/247
Create:
Last Update:

Новый день — новый 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++ уже не совсем, правда?

BY Запрети мне псевдолейблить




Share with your friend now:
group-telegram.com/pseudolabeling/247

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

The picture was mixed overseas. Hong Kong’s Hang Seng Index fell 1.6%, under pressure from U.S. regulatory scrutiny on New York-listed Chinese companies. Stocks were more buoyant in Europe, where Frankfurt’s DAX surged 1.4%. This provided opportunity to their linked entities to offload their shares at higher prices and make significant profits at the cost of unsuspecting retail investors. He adds: "Telegram has become my primary news source." Individual messages can be fully encrypted. But the user has to turn on that function. It's not automatic, as it is on Signal and WhatsApp. To that end, when files are actively downloading, a new icon now appears in the Search bar that users can tap to view and manage downloads, pause and resume all downloads or just individual items, and select one to increase its priority or view it in a chat.
from us


Telegram Запрети мне псевдолейблить
FROM American