Forwarded from Azat
Ого, ну раз пошла такая пьянка, придется ответить. Спасибо кстати, но поздравлять пока рано...
такой вот примерно рецепт усредненный получился:
- имитация на топовых игроках, точность около 85% была на валидации, давало 950-1100 эло за день игры
- ppo с подгрузом чекпоинта из имитации, где-то 400 топовых дек, играют все против всех, но с вероятностью 90% берем и меняем часть карт на рандомные - так учим эмбеды карт которых не было в имитации (а это процентов 80) ну и учимся играть против мусора чтобы не отлетать типам с 450 эло.
- ppo с подгрузом предыдущего шага, все против всех но теперь только 10% что карты будут меняться, плюс фриз эмбедов. дальше чемпионат по итогам которого я удалил 50% дек.
Сабмиты давали 1000-1100, примерно, какие-то лучше имитации, какие-то хуже, хрен поймешь.
- грузим прошлый чекпоинт, берем top 1 деку по итогам чемпионата (flg 55456110) и опять PPO, но один из игроков всегда играет топовую деку, другой одну из оставшихся 200
на хитрые штуки типа кастомных голов и MCTS времени совсем не осталось, фактически первый сабмит последнего шага был за 4 часа до делайна. ну и я нуб в RL, так что решение довольно ванильное, разве что я потырил некоторые штуки у топов orbits
учил на 4090, за неделю до конца снял 8x5090, итоговый пайплайн со всеми шагами двое суток где-то учился.
исходя из логов надеюсь на 3-8 место, из забавного так как по-сути 50% времени я тренировал деку flg и модель училась против него играть, то на играх за сутки винрейт больше 80% против него, лол. и с luca каким-то образом 55%, этого я уже никак не могу объяснить, возможно везет пока
совет молодым кто пойдет ферму решать, если позволите:
не торопитесь идти делать RL
сначала отточите пайплайн на имитации - он должен вас сходу закидывать в золото. если не закидывает - идите ловите ошибки, досыпайте и чистите данные. я что на orbits, что тут потратил 90% времени на это. codex/claude пишут довольно странный код если детально не смотреть, типа ставят LN после GELU, weight decay на эмбеды, при том что за батч 95% карт не будет сыграна и тд. если ваш пайплайн не способен тупо скопировать стратегию, то и все остальное вряд ли поможет. /goal на ночь и оптимизация кода на трейнах по 30 минут аля nanogpt speedrun часто давала фиксы и неожиданно полезные решения.
И помните, у самурая нет цели, только путь
такой вот примерно рецепт усредненный получился:
- имитация на топовых игроках, точность около 85% была на валидации, давало 950-1100 эло за день игры
- ppo с подгрузом чекпоинта из имитации, где-то 400 топовых дек, играют все против всех, но с вероятностью 90% берем и меняем часть карт на рандомные - так учим эмбеды карт которых не было в имитации (а это процентов 80) ну и учимся играть против мусора чтобы не отлетать типам с 450 эло.
- ppo с подгрузом предыдущего шага, все против всех но теперь только 10% что карты будут меняться, плюс фриз эмбедов. дальше чемпионат по итогам которого я удалил 50% дек.
Сабмиты давали 1000-1100, примерно, какие-то лучше имитации, какие-то хуже, хрен поймешь.
- грузим прошлый чекпоинт, берем top 1 деку по итогам чемпионата (flg 55456110) и опять PPO, но один из игроков всегда играет топовую деку, другой одну из оставшихся 200
на хитрые штуки типа кастомных голов и MCTS времени совсем не осталось, фактически первый сабмит последнего шага был за 4 часа до делайна. ну и я нуб в RL, так что решение довольно ванильное, разве что я потырил некоторые штуки у топов orbits
учил на 4090, за неделю до конца снял 8x5090, итоговый пайплайн со всеми шагами двое суток где-то учился.
исходя из логов надеюсь на 3-8 место, из забавного так как по-сути 50% времени я тренировал деку flg и модель училась против него играть, то на играх за сутки винрейт больше 80% против него, лол. и с luca каким-то образом 55%, этого я уже никак не могу объяснить, возможно везет пока
совет молодым кто пойдет ферму решать, если позволите:
не торопитесь идти делать RL
сначала отточите пайплайн на имитации - он должен вас сходу закидывать в золото. если не закидывает - идите ловите ошибки, досыпайте и чистите данные. я что на orbits, что тут потратил 90% времени на это. codex/claude пишут довольно странный код если детально не смотреть, типа ставят LN после GELU, weight decay на эмбеды, при том что за батч 95% карт не будет сыграна и тд. если ваш пайплайн не способен тупо скопировать стратегию, то и все остальное вряд ли поможет. /goal на ночь и оптимизация кода на трейнах по 30 минут аля nanogpt speedrun часто давала фиксы и неожиданно полезные решения.
И помните, у самурая нет цели, только путь
5🔥23⚡7❤5👍2🍌2🏆1
Наконец-то новый образовательный RL-мем в моем любимом паблике про RL
Создано специально для Азата, который не уйдет на пенсию, пока на каггле не кончится РЛ
Я это к тому, что ждем PvE соревнование с закрытой информацией и неопредленностью на некотором среднесрочном горизонте.Ах да, точно, PvE с закрытой информацией- это же AI Agent Security - Multi-Step Tool Attacks . Буквально задача соревы: сделай что-то, а мы тебе не скажем что и какие условия. Тест и трейн вообще разные, но ты попробуй
Я это к тому, что ждем PvE соревнование с закрытой информацией и неопредленностью на некотором среднесрочном горизонте.
😁19❤3🍌3👾2
Разбор ROGII - Wellbore Geology Prediction начнем с сетапа соревнования. Мы на нем подфармили еще одно серебро, а часть подписчиков апнула золото, причем в нескольких разных командах. Горжусь и завидую.
Представьте, что Герр Дональд Трамп сказал нам 'drill, baby, drill', а мы и поверили. И вот уже бурим скважину для исследования недр где-то в Техасе: у нас есть идеальный план бурения и наш бур напичкан кучей датчиков. Буром управляет опытный оператор, который знает, что у пласта породы плотность неравномерная: встречаются камни, пустоты и включения других пород. Из-за этого бур немного (или много) поворачивает внутри скважины и отклоняется от модельной траектории. Оператор смотрит на датчики и подруливает буром, чтобы оставаться как можно ближе к модельному плану бурения- его цель как можно корректнее разведать датчиками на буре показания как можно ближе к траектории.
Наша задача- понять, как глубоко в пласте мы находимся, зная предыдущие наблюдения + текущие показатели датчиков. В общем смысле это надо, чтобы бур не выскочил в другой пласт (нам не интересный) и не насобирал ненужной информации. Ну и спланировать, как мы будем качать нефть, сжигать попутный газ и с этой бесплатной энергии майнить битки
И того, у нас есть:
1. Координаты в каждый момент времени для бура для каждой скважины. Доступна информация до тех пор, пока бур спускается в целевой пласт и для часть скважины уже внутри пласта. Это наш train кусочек для авторегрессии. Еще для каждого участка скважины знаем длину пути от поверхности и оценочное расстояние в футах до границ всех нам известных пластов (оценивается по typewell, последний пункт).
2. Значения Gamma Ray (GR) на протяжении всего пути. Работает так: у каждой породы свой уровень гамма-радиоактивности, так что регулярно снимая показатели фоновой радиации с бура, мы можем по изменениям понять, что состав породы меняется. Для каждого пласта мы знаем примерны состав и показатель радиоактивности по typewell (следующий пункт), так что можем довольно неплохо понять, что слишком близко подошли к границе пласта и рулить назад.
3. Знаем те же показатели для ближайшей измерительной скважины (typewell): глубину, значение GR на этой глубине и метку того, в каком пласте находимся. Предполагается, что она пробурена вертикально вниз.
При этом данные реальные и близкие скважины переиспользуют одни и те же typewell и вообще у них направление и траектория бурения похожа, потому что пласты породы расположены друг на друге и это сильно влияет на оптимальную траекторию.
Можно было бы сказать, что в Техасе все данные по скважинам обязательно нужно сдавать правительству, но организаторы об этом позаботились и к каждой скважине и ее координатам добавили индивидуального шума, так что относительное расстояние между скважинами исказилось. И кажется даже немного перемешались ближайшие typewell. Мало того, скважины еще и обрезали, так что матчить их долго и совсем не ясно, какие скважины попали в тест, а какие нет, потому что это Code Comp.
Как решать будете?
#RogiiWGP
Представьте, что Герр Дональд Трамп сказал нам 'drill, baby, drill', а мы и поверили. И вот уже бурим скважину для исследования недр где-то в Техасе: у нас есть идеальный план бурения и наш бур напичкан кучей датчиков. Буром управляет опытный оператор, который знает, что у пласта породы плотность неравномерная: встречаются камни, пустоты и включения других пород. Из-за этого бур немного (или много) поворачивает внутри скважины и отклоняется от модельной траектории. Оператор смотрит на датчики и подруливает буром, чтобы оставаться как можно ближе к модельному плану бурения- его цель как можно корректнее разведать датчиками на буре показания как можно ближе к траектории.
Наша задача- понять, как глубоко в пласте мы находимся, зная предыдущие наблюдения + текущие показатели датчиков. В общем смысле это надо, чтобы бур не выскочил в другой пласт (нам не интересный) и не насобирал ненужной информации. Ну и спланировать, как мы будем качать нефть
И того, у нас есть:
1. Координаты в каждый момент времени для бура для каждой скважины. Доступна информация до тех пор, пока бур спускается в целевой пласт и для часть скважины уже внутри пласта. Это наш train кусочек для авторегрессии. Еще для каждого участка скважины знаем длину пути от поверхности и оценочное расстояние в футах до границ всех нам известных пластов (оценивается по typewell, последний пункт).
2. Значения Gamma Ray (GR) на протяжении всего пути. Работает так: у каждой породы свой уровень гамма-радиоактивности, так что регулярно снимая показатели фоновой радиации с бура, мы можем по изменениям понять, что состав породы меняется. Для каждого пласта мы знаем примерны состав и показатель радиоактивности по typewell (следующий пункт), так что можем довольно неплохо понять, что слишком близко подошли к границе пласта и рулить назад.
3. Знаем те же показатели для ближайшей измерительной скважины (typewell): глубину, значение GR на этой глубине и метку того, в каком пласте находимся. Предполагается, что она пробурена вертикально вниз.
При этом данные реальные и близкие скважины переиспользуют одни и те же typewell и вообще у них направление и траектория бурения похожа, потому что пласты породы расположены друг на друге и это сильно влияет на оптимальную траекторию.
Можно было бы сказать, что в Техасе все данные по скважинам обязательно нужно сдавать правительству, но организаторы об этом позаботились и к каждой скважине и ее координатам добавили индивидуального шума, так что относительное расстояние между скважинами исказилось. И кажется даже немного перемешались ближайшие typewell. Мало того, скважины еще и обрезали, так что матчить их долго и совсем не ясно, какие скважины попали в тест, а какие нет, потому что это Code Comp.
Как решать будете?
#RogiiWGP
1🔥20🤯5🍌5❤3👍1🦄1
Нестеров получил премию Гаусса
Все, кто учился DL по слайдам постсоветской матшколы знают про Nesterov Accelerated Gradient. Статья вышла еще в 1983 году, но оценить ее реальный вклад можно только в последние лет 10-15. Производные от него методы оптимизации, к сожалению, не стали железным стандартом в индустрии, но довольно популярныу знающих людей
Так вот, за свой вклад в математику Юрий Нестеров получил премию Гаусса, с чем я его горячо поздравляю. Это буквально нобелевская премия, но для математиков и высшая форма признания вклада в науку.
О том, как работает метод оптимизации и в чем идея, лучше посмотреть вот в этом посте, а я хотел бы примерно рассказать, как так вышло, что метод с лучшей теоретической оценкой не стал стандартом.
Мои три подписчика с ММП скажут, что у Adan/NAdam не нормируют градиенты и из-за этого менее устойчивы к правильному LR -> хуже проскакивают турбулентные участки гиперповерхности лосса.Кстати, возмущенные неточностью подписчики с ммп ставьте обезьяну, узнаем сколько вас.
Но фатальным ударом для этих методов был таймлайн.
Статья про Nadam появилась в 2016, и в этот момент Attention is all you need (Aiayn) уже находилась в процессе написания, так что в ней использовали проверенный Adam как оптимизатор. После этого многие побежали воспроизводить результаты у себя и следовали рецепту, описанному в статье. У нас есть десятки тысяч статей, которые развивают идеи Aiayn и большая часть использует именно Adam. А значит у ресерчеров больше наблюдений для Adam и его имплементации более оптимизированы под современное железо.
По практике скажу, что Nesterov momentum мне буста в качестве давал ровно ноль раз, так что приглашаю попустить меня в комментах и объяснить, почему нужно всегда учить именно с Adan.
Все, кто учился DL по слайдам постсоветской матшколы знают про Nesterov Accelerated Gradient. Статья вышла еще в 1983 году, но оценить ее реальный вклад можно только в последние лет 10-15. Производные от него методы оптимизации, к сожалению, не стали железным стандартом в индустрии, но довольно популярны
Так вот, за свой вклад в математику Юрий Нестеров получил премию Гаусса, с чем я его горячо поздравляю. Это буквально нобелевская премия, но для математиков и высшая форма признания вклада в науку.
О том, как работает метод оптимизации и в чем идея, лучше посмотреть вот в этом посте, а я хотел бы примерно рассказать, как так вышло, что метод с лучшей теоретической оценкой не стал стандартом.
Мои три подписчика с ММП скажут, что у Adan/NAdam не нормируют градиенты и из-за этого менее устойчивы к правильному LR -> хуже проскакивают турбулентные участки гиперповерхности лосса.
Но фатальным ударом для этих методов был таймлайн.
Статья про Nadam появилась в 2016, и в этот момент Attention is all you need (Aiayn) уже находилась в процессе написания, так что в ней использовали проверенный Adam как оптимизатор. После этого многие побежали воспроизводить результаты у себя и следовали рецепту, описанному в статье. У нас есть десятки тысяч статей, которые развивают идеи Aiayn и большая часть использует именно Adam. А значит у ресерчеров больше наблюдений для Adam и его имплементации более оптимизированы под современное железо.
По практике скажу, что Nesterov momentum мне буста в качестве давал ровно ноль раз, так что приглашаю попустить меня в комментах и объяснить, почему нужно всегда учить именно с Adan.
👍28❤17🙉10🍌7🔥6
Forwarded from Hacker News
Pre-Release of Polars 2.0 (🔥 Score: 152+ in 3 hours)
Link: https://readhacker.news/s/749mt
Comments: https://readhacker.news/c/749mt
Link: https://readhacker.news/s/749mt
Comments: https://readhacker.news/c/749mt
Polars
Pre-release of Polars 2.0
Preview of Python Polars 2.0, bringing the streaming engine to all lazy queries
👍18🔥13🍌1🍾1
Нам пообещали починить Rl соревы на каггле!
Кагл стафф пообещал починить будущие RL соревнования: будут прогонять модель Бредли-Терри после периода 'охлаждения' лб. Это ответ на огромную дисперсию и шатание рейтинга в покемонах. Сейчас используют вариацию на тему Glicko score и уже многие заметили ее нестабильность.
Хочу вставить свои 5 копеек иповыпендриваться своими двумя мастерами в статах объяснить, почему это плохой фикс для Pokemon и даже Orbit Wars
Для начала вспомним, что за Бредли Терри. Подробные выкладки можно почитать тут, а я попробую объяснить на пальцах. Изначально модель придумал Эрнст Цермело для оценки силы игроков в шахматных турнирах. Сам Эрнст известен тем, что отказался приветствовать фюрера перед каждой парой в университете Фрайбурга и ушел с места почетного профессора. А еще придумал аксиому выбора. Потом модель вновь переоткрыли, как это водится, через 20 лет.
Базовая идея модели: хотим по стохастическим парным сравнениям определить ранкинг каких-то предметов. Например выяснить, не только то, кто самый крутой шахматист, а кто второй по силе, третий и тд. У нас есть статистика матчей и нам не слишком важно, чтобы каждый сыграл с каждым. Но нам очень важно, чтобы граф связей (игр/сравнений) был связный. Т.е. шагая от шахматиста к шахматисту по связям (матчам с известным исходом) мы всегда могли достичь любого шахматиста лиги.
Хотим из нашего графа побед/поражений (частично заполненного, но связного) вывести такие theta_i, theta_j, что
P(i победит j) = sigma(theta_i - theta_j).
С точки зрения моделей мы банально учим логрег на одной фиче: разнице one hot энкодингов игроков. Пусть у нас три игрока и мы их кодируем:
A. (1, 0, 0)
B. (0, 1, 0)
C. (0, 0, 1)
Тогда один матч, где A играл с C и выиграл у нас будет представлен так:
Фичи: (1, 0, -1) = (1, 0, 0) - (0, 0, 1) = A - C
Таргет: (1) (A победил)
Учим мы соответственно theta_i. Они собой и представляют 'силу' каждого участника.
Статистические предположения для такой модели следующие:
1. Попарные сравнения независимые (игра каждый раз начинается с начала игры и игры независимые)
2. Латентные качества не меняются (боты не становятся сильнее/слабее между играми)
3. Вероятность победы в паре определяется разностью сил
4. Нет никаких matchup эффектов
Сама модель потом развилась в ELO и Glicko скоры как онлайн-вариант подсчета. И именно последняя используется сейчас на каггле. Если почитаете первую ссылку, то там еще и связь с PageRank можно найти. И даже скоры силы в баскетболе тоже развитие этих идей.
Так вот, почему идея использовать Бредли-Терри для каггла довольно странная: последние RL соревнования нарушают один из асампшенов модели.
Для покемонов нарушаются два последних: у колод есть матчап эффекты и игроки заранее не равны. Т.е. сила определяется и колодой, и пилотирующим алгоритмом. А колоды работают по принципу камень-ножницы-бумага, которые по дизайну не могут быть отражены в модели.
Более того, модель еще и не поддерживает случай игры вчетвером, поэтому починить дисперсию игр в Orbit тоже не выйдет. Придется использовать какое-нибудь расширение в стиле Плакетта-Люса.
Единственный плюс: где первый фикс метрики, там и выбор разных алгоритмов формирования лб для разных соревнований. Логично силу агентов сравнивать разными способами для разных игр. А то представьте, что мы бы все челленджи по классификации меряли только с помощью Roc-Auc.
Кагл стафф пообещал починить будущие RL соревнования: будут прогонять модель Бредли-Терри после периода 'охлаждения' лб. Это ответ на огромную дисперсию и шатание рейтинга в покемонах. Сейчас используют вариацию на тему Glicko score и уже многие заметили ее нестабильность.
Хочу вставить свои 5 копеек и
Для начала вспомним, что за Бредли Терри. Подробные выкладки можно почитать тут, а я попробую объяснить на пальцах. Изначально модель придумал Эрнст Цермело для оценки силы игроков в шахматных турнирах. Сам Эрнст известен тем, что отказался приветствовать фюрера перед каждой парой в университете Фрайбурга и ушел с места почетного профессора. А еще придумал аксиому выбора. Потом модель вновь переоткрыли, как это водится, через 20 лет.
Базовая идея модели: хотим по стохастическим парным сравнениям определить ранкинг каких-то предметов. Например выяснить, не только то, кто самый крутой шахматист, а кто второй по силе, третий и тд. У нас есть статистика матчей и нам не слишком важно, чтобы каждый сыграл с каждым. Но нам очень важно, чтобы граф связей (игр/сравнений) был связный. Т.е. шагая от шахматиста к шахматисту по связям (матчам с известным исходом) мы всегда могли достичь любого шахматиста лиги.
Хотим из нашего графа побед/поражений (частично заполненного, но связного) вывести такие theta_i, theta_j, что
P(i победит j) = sigma(theta_i - theta_j).
С точки зрения моделей мы банально учим логрег на одной фиче: разнице one hot энкодингов игроков. Пусть у нас три игрока и мы их кодируем:
A. (1, 0, 0)
B. (0, 1, 0)
C. (0, 0, 1)
Тогда один матч, где A играл с C и выиграл у нас будет представлен так:
Фичи: (1, 0, -1) = (1, 0, 0) - (0, 0, 1) = A - C
Таргет: (1) (A победил)
Учим мы соответственно theta_i. Они собой и представляют 'силу' каждого участника.
Статистические предположения для такой модели следующие:
1. Попарные сравнения независимые (игра каждый раз начинается с начала игры и игры независимые)
2. Латентные качества не меняются (боты не становятся сильнее/слабее между играми)
3. Вероятность победы в паре определяется разностью сил
4. Нет никаких matchup эффектов
Сама модель потом развилась в ELO и Glicko скоры как онлайн-вариант подсчета. И именно последняя используется сейчас на каггле. Если почитаете первую ссылку, то там еще и связь с PageRank можно найти. И даже скоры силы в баскетболе тоже развитие этих идей.
Так вот, почему идея использовать Бредли-Терри для каггла довольно странная: последние RL соревнования нарушают один из асампшенов модели.
Для покемонов нарушаются два последних: у колод есть матчап эффекты и игроки заранее не равны. Т.е. сила определяется и колодой, и пилотирующим алгоритмом. А колоды работают по принципу камень-ножницы-бумага, которые по дизайну не могут быть отражены в модели.
Более того, модель еще и не поддерживает случай игры вчетвером, поэтому починить дисперсию игр в Orbit тоже не выйдет. Придется использовать какое-нибудь расширение в стиле Плакетта-Люса.
Единственный плюс: где первый фикс метрики, там и выбор разных алгоритмов формирования лб для разных соревнований. Логично силу агентов сравнивать разными способами для разных игр. А то представьте, что мы бы все челленджи по классификации меряли только с помощью Roc-Auc.
❤14🔥8🍌5🍾1
Тем временем в ферме участвует уже 8400 кагглеров. Во истину агенты дали соревнованиям новую жизнь
🔥29👍6😱4
Тем временем кагл видимо планирует наконец-то обновить парк видекарт для кернелов и скоринга.
P100 переезжают в статус 'пенсионерских'.
На AIMO3 еще в 2025 можно было использовать H100, так что я ожидаю именно их как замену p100. А это прирост по перфомансу в 7 раз
По поводу T4 ничего не известно, но интерполируя прошлый абзац, это должны быть L4 и прирост в 3.7 раза
Вероятно, нас еще ждет ротация TPU, но там все слишком закрыто. Их и так постоянно меняют, но в очереди на TPU модель выбрать нельзя и каждый раз играешь в лоторею. Для меня вся идея выдавать TPU на каггле выглядит как мертворожденный проект:
1. Новые TPU есть только у гугла
2. Старые TPU гугл разбирает и на вторичке их никак не купить
Вывод:
Скилл использования TPU- только для гуглеров и мб нейроагентов.
TLDR:
P100 (2016) -> H100 (2022)
T4 (2018)-> L4 (2023), возможно
P100 переезжают в статус 'пенсионерских'.
На AIMO3 еще в 2025 можно было использовать H100, так что я ожидаю именно их как замену p100. А это прирост по перфомансу в 7 раз
По поводу T4 ничего не известно, но интерполируя прошлый абзац, это должны быть L4 и прирост в 3.7 раза
Вероятно, нас еще ждет ротация TPU, но там все слишком закрыто. Их и так постоянно меняют, но в очереди на TPU модель выбрать нельзя и каждый раз играешь в лоторею. Для меня вся идея выдавать TPU на каггле выглядит как мертворожденный проект:
1. Новые TPU есть только у гугла
2. Старые TPU гугл разбирает и на вторичке их никак не купить
Вывод:
Скилл использования TPU- только для гуглеров и мб нейроагентов.
TLDR:
P100 (2016) -> H100 (2022)
T4 (2018)-> L4 (2023), возможно
👍27🍌9🤩5❤1