Multi-Fidelity Policy Gradient Algorithms
если вы углублялись в концепцию полиси градиентов (ппо или рейнфорс например), то сталкивались с вопросом разброса такого обжектива, о чем уже достаточно давно говорят
еще критичнее это становится в относительно дорогих симуляторах (или же вообще непосредственно в реальном мире) с данными “высокого разрешения/точности”: из-за дисперсии надо дольше учиться, дольше гонять симулятор подороже, который еще и больше чувствителен к предиктивным ошибкам
но что если у нас есть возможность получать обедненные данные в бОльшем количестве (иначе смысла нет), так называемых low-fidelity environments, может ли это как-то помочь снизить нам разброс в градиент апдейтах?
и вот авторы смогли примерно что-то такое сделать из такого предположения. полиси обучаются при помощи high- & low-fidelity энвах, при том для обновления на более точных данных используется поправка с контрольной переменной, где вычитается скоррелированное слагаемое из основного приближения полиси градиента. и поскольку обедненная энва предполагает и того же агента, и примерно ту же динамику среды, то корреляцию можно считать выполненной (при том чем выше коррреляция тем сильнее эффект снижения дисперсии что интуитивно понятно)
обучали в такой манере рейнфорс и ппо - по результатам выглядит все довольно вкусно
- в 10 раз меньше можно использовать семплов из более крутой энвы по сравнению с бейзлайнами
- обучение становится стабильнее (просто потому что данных можно побольше нафигачить хоть и качества похуже)
- однако для скоррелированости нужно, чтобы у действий для обоих сред было одинаковое вероятностное пространство, то есть семплить действия в соответствии с одинаковым сидом (для непрерывных действий этому помогает reparametrization trick, для дискретных - Gumbel-max)
однако есть как раз-таки нюанс с вот этим low-fidelity энвами
- в качестве экспериментов обедненные среды делали просто упрощенными версиями таргет сред
- для картпола (который определяется диффуром второго порядка) - линеаризовали динамику
- для муджоко - инвертнули ревард, сохраняли 70%-90% гравитации изначальной среды
и по идее да, это более лайтовые энвы, но например в случае муджоко симуляция получается не прям дешевой-дешевой (из govna конфетку не получить). если же в качестве low-fidelity брать что-то совсем игрушечное, то корреляция между средами (спекулирую) сильно полетит и результаты могут получаться даже хуже бейзлайнов имхо (присказка для future work)
👀LINK
если вы углублялись в концепцию полиси градиентов (ппо или рейнфорс например), то сталкивались с вопросом разброса такого обжектива, о чем уже достаточно давно говорят
еще критичнее это становится в относительно дорогих симуляторах (или же вообще непосредственно в реальном мире) с данными “высокого разрешения/точности”: из-за дисперсии надо дольше учиться, дольше гонять симулятор подороже, который еще и больше чувствителен к предиктивным ошибкам
но что если у нас есть возможность получать обедненные данные в бОльшем количестве (иначе смысла нет), так называемых low-fidelity environments, может ли это как-то помочь снизить нам разброс в градиент апдейтах?
и вот авторы смогли примерно что-то такое сделать из такого предположения. полиси обучаются при помощи high- & low-fidelity энвах, при том для обновления на более точных данных используется поправка с контрольной переменной, где вычитается скоррелированное слагаемое из основного приближения полиси градиента. и поскольку обедненная энва предполагает и того же агента, и примерно ту же динамику среды, то корреляцию можно считать выполненной (при том чем выше коррреляция тем сильнее эффект снижения дисперсии что интуитивно понятно)
обучали в такой манере рейнфорс и ппо - по результатам выглядит все довольно вкусно
- в 10 раз меньше можно использовать семплов из более крутой энвы по сравнению с бейзлайнами
- обучение становится стабильнее (просто потому что данных можно побольше нафигачить хоть и качества похуже)
- однако для скоррелированости нужно, чтобы у действий для обоих сред было одинаковое вероятностное пространство, то есть семплить действия в соответствии с одинаковым сидом (для непрерывных действий этому помогает reparametrization trick, для дискретных - Gumbel-max)
однако есть как раз-таки нюанс с вот этим low-fidelity энвами
- в качестве экспериментов обедненные среды делали просто упрощенными версиями таргет сред
- для картпола (который определяется диффуром второго порядка) - линеаризовали динамику
- для муджоко - инвертнули ревард, сохраняли 70%-90% гравитации изначальной среды
и по идее да, это более лайтовые энвы, но например в случае муджоко симуляция получается не прям дешевой-дешевой (из govna конфетку не получить). если же в качестве low-fidelity брать что-то совсем игрушечное, то корреляция между средами (спекулирую) сильно полетит и результаты могут получаться даже хуже бейзлайнов имхо (присказка для future work)
👀LINK
🔥2
Llamba: Scaling Distilled Recurrent Models for Efficient Language Processing
мы уже упоминали как картезиа дистиллирует трансформеры в ссм, правда прошлая статья вызывала некоторые вопросы с точки зрения реализации
на этот раз получилось у них еще круче - в лламе 3.1 заменили аттеншн блоки на mamba блоки и получилась лламба (1б 3б и 8б параметров)
обучали в стиле MOHAWK по разным стадиям, где в knowledge distillation манере постепенно фиттили блоки все бОльшего размера: от выхода аттеншна (ссм) до конечных логитов модели
теперь только на замену аттеншну пришел дискретный блок мамбы 2, а дискретный он потому, что получает матрицу А напрямую из инпута, без махинаций с параметров дельта (который теоретически и дискретизирует стейт спейс модели для непрерывного потока времени), потому что задача здесь заключается в дистилляции аттеншна, который умеет оперировать только над дискретными объектами (токенами). короче подогнали
ну и здесь еще есть отличие от классической мамбы 2 в том, что оригинал является multi-value, а здесь же опять из-за подгона сделали multi-head + в оверолл архитектуре получается меньше мамба 2 блоков → больше батч сайз и меньше оверхеда на лаунч кернелов
по результатам даже у 8б модели потребовалось 12б токенов чтобы выдавать сравнимый результат на дефолтных бенчмарках (намного меньше (0.1%) чем у других гибридных или около того методов, из интересного есть еще наверное lolcats от Christopher Re, которые сворачивают софтмакс аттеншн в линейный через свд разложения)
еще через MLX погоняли модели на айфоне и макбуке что прикольно
судя по всему этот стартап в ближайшее время будет показывать много интересного своими on-device подходами
👀 link, code
Аттеншн - та же добыча радия.
В грамм добыча - в год труды.
Изводишь единого токена ради
Тысячи тонн словесной руды.Маяковский (Поэзия - та же добыча радия)
мы уже упоминали как картезиа дистиллирует трансформеры в ссм, правда прошлая статья вызывала некоторые вопросы с точки зрения реализации
на этот раз получилось у них еще круче - в лламе 3.1 заменили аттеншн блоки на mamba блоки и получилась лламба (1б 3б и 8б параметров)
обучали в стиле MOHAWK по разным стадиям, где в knowledge distillation манере постепенно фиттили блоки все бОльшего размера: от выхода аттеншна (ссм) до конечных логитов модели
теперь только на замену аттеншну пришел дискретный блок мамбы 2, а дискретный он потому, что получает матрицу А напрямую из инпута, без махинаций с параметров дельта (который теоретически и дискретизирует стейт спейс модели для непрерывного потока времени), потому что задача здесь заключается в дистилляции аттеншна, который умеет оперировать только над дискретными объектами (токенами). короче подогнали
ну и здесь еще есть отличие от классической мамбы 2 в том, что оригинал является multi-value, а здесь же опять из-за подгона сделали multi-head + в оверолл архитектуре получается меньше мамба 2 блоков → больше батч сайз и меньше оверхеда на лаунч кернелов
по результатам даже у 8б модели потребовалось 12б токенов чтобы выдавать сравнимый результат на дефолтных бенчмарках (намного меньше (0.1%) чем у других гибридных или около того методов, из интересного есть еще наверное lolcats от Christopher Re, которые сворачивают софтмакс аттеншн в линейный через свд разложения)
еще через MLX погоняли модели на айфоне и макбуке что прикольно
судя по всему этот стартап в ближайшее время будет показывать много интересного своими on-device подходами
👀 link, code
👍5
N-Gram Induction Heads for In-Context RL: Improving Stability and Reducing Data Needs
появление inductive bias следует в том числе считать за счет н-грамм паттерна в аттеншн мапах, потому авторы в прошлом году уже проворачивали явную вставку н грамм слоя в sequence модели для задачи языка
раз с ними ин-контекст способности появляются быстрее и “эффективнее” (что бы то ни значило) → может ли такое появиться в (ин-контекст) рл сетапе
ну и вот авторы заимплементили
- н грамм слой с внедрением н грамм матчинга из кода вышеупомянутой статьи (где вообще blyat ниче непонятно)
- который нативно работает в дискретном пространстве для игрушечных сред как даркрум и key-to-door. при том как матчинг на уровне state токенов, так и state-action-reward токене
- если же брать pixel-based среду (в данном случае MiniWorld), то здесь не обойтись без какой-либо дискретизации. здесь авторы реализовали в виде VQ квантизации, предобученной заранее (видимо на все том же мини ворлде)
тогда получается, что для сходимости нужно в ~30 раз меньше данных (вау! что довольно критично для ин-контекст рл) с учетом добавления двух гиперпараметров, которые несильно добавляют сложностей в переборе. в принципе вся сила экспериментального превосходства метода заключается в понятии expected maximum performance, который показывает ожидаемый максимальный перформанс при ограниченном вычислительном бюджете, нежели просто черри пик
теперь к непонятным моментам (много собственных предположений и спекуляций)
- критичным в мета-рл и частности ин-контекст рл является вопрос количества эпизодов, за которое сходится к оптимальному перформансу агент. есть графики только по поводу бейзлайна → можно спекулировать, что н-граммы в этом моменте не лучше
- нету непрерывного домена + экспериментальные среды являются довольно простыми в сравнении с остальными (на что авторы и сами указали). видимо не скейлится. но почему?
- может не так просто далось обучение резнета (который упоминается в статье), к кому самому возникает вопрос: почему он? там есть много моментов, в том числе и батчнорм, которые считаются out-of-fashion либо же оптимизированы под частные случаи
- либо же какой-то сбой дает сама векторная квантизация: происходит ли в используемости кодбука какие траблы в плане утилизации или разреженности
👀 link, где код лебовски
появление inductive bias следует в том числе считать за счет н-грамм паттерна в аттеншн мапах, потому авторы в прошлом году уже проворачивали явную вставку н грамм слоя в sequence модели для задачи языка
раз с ними ин-контекст способности появляются быстрее и “эффективнее” (что бы то ни значило) → может ли такое появиться в (ин-контекст) рл сетапе
ну и вот авторы заимплементили
- н грамм слой с внедрением н грамм матчинга из кода вышеупомянутой статьи (где вообще blyat ниче непонятно)
- который нативно работает в дискретном пространстве для игрушечных сред как даркрум и key-to-door. при том как матчинг на уровне state токенов, так и state-action-reward токене
- если же брать pixel-based среду (в данном случае MiniWorld), то здесь не обойтись без какой-либо дискретизации. здесь авторы реализовали в виде VQ квантизации, предобученной заранее (видимо на все том же мини ворлде)
тогда получается, что для сходимости нужно в ~30 раз меньше данных (вау! что довольно критично для ин-контекст рл) с учетом добавления двух гиперпараметров, которые несильно добавляют сложностей в переборе. в принципе вся сила экспериментального превосходства метода заключается в понятии expected maximum performance, который показывает ожидаемый максимальный перформанс при ограниченном вычислительном бюджете, нежели просто черри пик
теперь к непонятным моментам (много собственных предположений и спекуляций)
- критичным в мета-рл и частности ин-контекст рл является вопрос количества эпизодов, за которое сходится к оптимальному перформансу агент. есть графики только по поводу бейзлайна → можно спекулировать, что н-граммы в этом моменте не лучше
- нету непрерывного домена + экспериментальные среды являются довольно простыми в сравнении с остальными (на что авторы и сами указали). видимо не скейлится. но почему?
- может не так просто далось обучение резнета (который упоминается в статье), к кому самому возникает вопрос: почему он? там есть много моментов, в том числе и батчнорм, которые считаются out-of-fashion либо же оптимизированы под частные случаи
- либо же какой-то сбой дает сама векторная квантизация: происходит ли в используемости кодбука какие траблы в плане утилизации или разреженности
👀 link, где код лебовски
👍2
An Evolved Universal Transformer Memory
часто sakana.ai делает что-то интересное
недавно в transformer-squared они уже занимались махинациями с адаптацией на тест тайме, в этой же статье (которая хронологически вышла раньше) они явно размышляют над концепцией внешней памяти
и если сейчас, когда речь идет про память которая помогает адаптироваться на инференсе, в голове всплывает что-то типа недавних титанов или ТТТ. но тут авторы формулируют кв кэш (про который мы писали в последний раз здесь) как форму внешней памяти, которую можно оптимизировать, что интересно
короче говоря, статья не про мемори а про компрессию кв кэша
и реализуют они это через единую модельку всех слоев трансформера, которая выдает для каждого токена скор, оставлять ли токен в кеше или нет
- для этого они вычисляют спектрограмму (STFT) от аттеншн мап + делают EMA с гиперпараметром относительно оси времени (чтобы сжать ее). эта эвристика исходит не из какого-то profound факта, а просто потому что такая предобработка лучше всего у них заработала (по сравнению с сырым аттеншном и прочим) + еще добавляют поз эмбеды на основании “старости” каждого токена в кв кеше
- и затем эти фичи идут на вход модели, где работает Backward Attention Memory - аттеншн с не нижне-, а верхнетреугольной каузальной маской, таким образом эта внешняя легкая моделька настроена “в противоположном плане” фиттить свой аттеншн по сравнению с трансформером, что в совокупности должно давать прирост + есть резидуал коннекшны
- периодически эта модель выдает скоры, какие токены откидывать из кэша. сама же она обучалась при помощи эволюционного алгоса CMA-ES, который безградиентно обучает эту модель на селекцию токенов
на ЛонгБенче по сравнению с бейз лламой результат получше, а кэш сильно так пониже (для конкретных чисел можете посмотреть картинки) + из интересного еще применили это для ВЛМ на зеро-шот трансфер для ЛЛаВы и РЛ для десижн трансформера (который встроен в хф и последний раз мы его упоминали здесь)
и вроде бы получается круто, что правда (немного) улучшается результат, да и в этом присутствует интерпретация отсеивания ненужных токенов. но если сравнивать на языковых задачах, то есть много моментов которые бейзлайны не превосходят да и кв кэш не так сильно по памяти снижают + на иголке в сене перформанс деградирует, а к вижн и рл моментам так же остаются открытыми вопросы проведения экспериментов и тюна моделек
еще момент требования всей аттеншп мапы сильно ставит палки в колеса использованию флеш аттеншна
в принципе работа получилась интересной еще одним примером как грамотно можно эволюционные алгоритмы юзать для ллм и это не будет выглядеть сильно странно + унификация моментов внешней памяти и кв кэша тоже хороша
👀LINK
часто sakana.ai делает что-то интересное
недавно в transformer-squared они уже занимались махинациями с адаптацией на тест тайме, в этой же статье (которая хронологически вышла раньше) они явно размышляют над концепцией внешней памяти
и если сейчас, когда речь идет про память которая помогает адаптироваться на инференсе, в голове всплывает что-то типа недавних титанов или ТТТ. но тут авторы формулируют кв кэш (про который мы писали в последний раз здесь) как форму внешней памяти, которую можно оптимизировать, что интересно
короче говоря, статья не про мемори а про компрессию кв кэша
и реализуют они это через единую модельку всех слоев трансформера, которая выдает для каждого токена скор, оставлять ли токен в кеше или нет
- для этого они вычисляют спектрограмму (STFT) от аттеншн мап + делают EMA с гиперпараметром относительно оси времени (чтобы сжать ее). эта эвристика исходит не из какого-то profound факта, а просто потому что такая предобработка лучше всего у них заработала (по сравнению с сырым аттеншном и прочим) + еще добавляют поз эмбеды на основании “старости” каждого токена в кв кеше
- и затем эти фичи идут на вход модели, где работает Backward Attention Memory - аттеншн с не нижне-, а верхнетреугольной каузальной маской, таким образом эта внешняя легкая моделька настроена “в противоположном плане” фиттить свой аттеншн по сравнению с трансформером, что в совокупности должно давать прирост + есть резидуал коннекшны
- периодически эта модель выдает скоры, какие токены откидывать из кэша. сама же она обучалась при помощи эволюционного алгоса CMA-ES, который безградиентно обучает эту модель на селекцию токенов
на ЛонгБенче по сравнению с бейз лламой результат получше, а кэш сильно так пониже (для конкретных чисел можете посмотреть картинки) + из интересного еще применили это для ВЛМ на зеро-шот трансфер для ЛЛаВы и РЛ для десижн трансформера (который встроен в хф и последний раз мы его упоминали здесь)
и вроде бы получается круто, что правда (немного) улучшается результат, да и в этом присутствует интерпретация отсеивания ненужных токенов. но если сравнивать на языковых задачах, то есть много моментов которые бейзлайны не превосходят да и кв кэш не так сильно по памяти снижают + на иголке в сене перформанс деградирует, а к вижн и рл моментам так же остаются открытыми вопросы проведения экспериментов и тюна моделек
еще момент требования всей аттеншп мапы сильно ставит палки в колеса использованию флеш аттеншна
в принципе работа получилась интересной еще одним примером как грамотно можно эволюционные алгоритмы юзать для ллм и это не будет выглядеть сильно странно + унификация моментов внешней памяти и кв кэша тоже хороша
👀LINK
❤5