rizzearch
1.01K subscribers
988 photos
11 videos
320 links
Кайфули на каждый день

Авторы:
@zzmtsvv
@maxnygma (AI4Science посты)
Download Telegram
Real-World Humanoid Locomotion with Reinforcement Learning

к next-token prediction уже появлялись вопросы (здесь и особенно здесь), теперь расскажу про супер крутое и супер простое применение, в данном случае next action prediction

авторы сделали каузальный трансформер (по размерам составляет 1.4 млн параметров и контекстное окно в 16 токенов, скорее всего, из соображений памяти) для гуманоида, который

- оперирует над последовательностью типа obs_0-action_0-obs_1-action_1-…obs_N → action_N
- может ходить вперед-назад и поворачиваться за один таймстеп (это называется omnidirectional locomotion)
- в зеро-шот формате сразу адаптируется от симулятора к реальным оч разным условиям (и здесь не без помощи хорошей тренировочной гпу энвы IsaacGym + авторы перепроверяли перформанс на энве от производителя)

а обучали через дистилляцию (почти) обычного рл агента, которого прогоняли через тысячи энв с разной конфигурацией - ходить-вперед назад или поворачиваться на плоской поверхности, рельефной или подъемах. этот агент оперирует над МДП, то есть ему на вход поступает инфа о параметрах среды. когда идет дистилляция в трансформер, которая выглядит как кл дивергенция вместе с добавленным рл лоссом (к нему есть вопросы по поводу ревард функции и остального, что не раскрывают авторы) для самого малюсенького трансформера, то на вход итоговой модели поступают только обсервейшны. обучение происходило через классик актор-критик ппо

при том оффлайн датасет, как говорят авторы, не создавался - оба агента тренились в on-policy режиме, для чего генерилось примерно 10 миллиардов семплов в день. оптимально ли это или нет хз, можно еще так же упомянуть, что сама архитектура трансформера может быть неоптимальной (синусоидальные позиционки, составление токена в эмбеддинг пространстве), но результат таков каков он есть

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

👀 paper, blog
👍73
Titans: Learning to Memorize at Test Time

или “теперь считать градиенты и на инференсе тоже норма”

в общем-то гугл решил (кроме написания красивой буквы Т) обобщить на аттеншн пока что существующие тест-тайм подходы, которые обращаются в высчитывание градиентов (ТТТ, DeltaNet & LongHorn)

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

здесь в качестве этой лосс функции выступает MSE( M(k), v ), где М и есть сетка памяти, а k & v по аналогии с трансформером проекции входящего токена на ключи и значения, которые тем не менее не связаны с qkv аттеншна

память обновляется через моменты с этим самым сюрпризом, который высчитывается и на инференсе - таким образом получается то, что они называют титаном: модуль памяти + аттеншн (ну и всякие нормализации о которых они тоже упоминают)

выходы из этого блока памяти авторы смогли по-разному объединять с аттеншном - подавать в качестве контекста, ставить непосредственно слоем (аутпут памяти является инпутом аттеншна), либо с гейтом скрещивать выводы памяти и внимания

при том обучение (которое еще нужно до высчитывания градиентов непосредственно на инференсе) можно параллелить при помощи ассоциативного скана, если принять параметры обновления моментов внутри одного чанка постоянным, а не input-dependent

+ видимо аттеншна и модуля памяти оказывается недостаточно, потому авторы добавляют в каждую последовательность в начало обучаемые input-independent токены, своего рода приор для покрытия домена таски (ну и еще это откликается с аттеншн синками, которые уже успели применить и в других сферах)

а обосновывают это неидеальностью каузальной маски, которая сподвигает смотреть на более ранние в последовательности токены (частично формулировка такая была описана и здесь)

по экспериментам все как-то очень непонятно - и вроде реалистично обгоняет трансформер и другие модели, но очень маленький скейл до 1б. обещают в новой версии подогнать под бОльший размер моделей для более честного сравнения - но какой? 7б? либо они поменяют архитектуру памяти, коей является пока что млп, потому что скейлить feedforward до таких размеров это что-то очень странное, либо скейл окажется куда меньше (либо я не понимаю полностью как выглядит такое решение по замыслам авторов)

еще очень странно по мне выглядит фраза
Titans are capable of solvin problems beyond TC, meaning that Titans are theoretically more expressive than Transformers and most modern linear recurrent models in state tracking tasks.

окей, а собираетесь ли вы какой-никакой пруф приложить к этому, если называете теоремой

имхо - написано хорошо, но пока первая версия статьи не выглядит практично как способ млпшке + аттн противостоять огромным трансформерам, выглядит так, что желательно придумать этакий блок памяти для всей модели, а не отдельного аттеншн блока (ну или очень тщательно пытаться выявить где пара-тройка таких модулей памяти окажется выгодна внутри трансформера), если без высчитывания градиентов на тесте уж действительно мы больше не справимся

👀 link, code by lucidrains
👍532
Can Large Language Models Adapt to Other Agents In-Context?

думайте сами, решайте сами - статья ли это по мульти-агентности, промптингу или ин-контекст лернингу

ну а на самом деле присутствуют довольно интересные размышления, авторы берут интуицию из модели психики (theory of mind, ToM) и даже расширяют ее на случай агентов

- есть literal ToM, когда агент может предсказывать поведение другого, в случае с ллмками на промт подаем ему ситуацию среды и свои/чужие действия → в аутпуте пишет что вероятнее всего могут сделать другие
- а есть functional ToM, когда агент непосредственно адаптируется к принятиям решений других агентов, чтобы максимизировать (минимизировать) общую награду (регрет)

so, для этого они сделали нестатичные мульти-агент энвы для ллм под камень ножницы бумага, итеративную дилемму заключенного и баталию сексов)

в итоге разделение ТоМ теории на 2 составляющие было небесполезным - ллмкам (лламе 70б в основном) действительно тяжело адаптировать свои действия под поведение других игроков, в то время как по идее она неплохо справляется с тем, чтобы предсказывать это самое поведение. при том разница между этими двумя сущностями настолько велика, что модель не может обогнать табулярный рл метод (здесь по заверениям использовали модел-бейзд Rmax, который как раз заточен под стохастичную игру - более общий сценарий МДП для мульти-агент интеракций)

еще из сайд эффектов есть момент, что при удлинении горизонта планирования (long-term strategy) перформанс только ухудшается, что даже удивительно. имхо (основываясь на размышлении авторов) inductive bias настолько не заточен под момент стохастичности от других игроков, что настолько поразительные возможности затухают с необходимостью брут форса токенов (интересное сравнение механизма аттеншна и брут форса услышал здесь)

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

👀LINK
3👍2
ReBind: Enhancing Ground-State Molecular Conformation Prediction via Force-Based Graph Rewiring

Нейронки по-разному пытаются удешевить DFT. Один из вариантов как повлиять на это - научить модель предсказывать 3D ground-state конформацию по 2D графу. Это задача очень важна, так как 3D конформация в состоянии равновесия описывает многие физические и химические процессы конкретной молекулы

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

Авторы ReBind предалагают использовать encoder-decoder сеть с конструкцией force-aware матрицы связности. Чтобы учитывать non-bonded взаимодействия используют потенциал Леннарда-Джонса на промежуточной конформации из энкодера. Из производной потенциала получают силу, которую используют вместе с матрицей межатомных расстояний, чтобы добавить top-K ребер между вершинами с сильным взаимодействием. Их также разделяют на силы притяжения и отталкивания как веса новых ребер. Получившиеся матрицы связности используют в аттеншене декодера для генерации финальной конформации

Тестируют на QM9, MoleculeNet3D и GEOM-DRUGS. В основном сравнение направлено на то, чтобы побить последний метод на трансформере для задачи - GTMGC. Также метод неплохо скейлится на большие молекулы

Интересно, конечно было бы еще посмотреть на то, как можно улучшить non-bonded моделирование с помощью других потенциалов и дескрипторов помимо LJ

👀 LINK
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥4
DeMo: Decoupled Momentum Optimization

Кингма вместе с братвой из nousresearch.com (которая частично ответственна за создание YaRN) решил покуралесить в области оптимизации

и задался вопросом - а что ж так много раз во время мульти-гпу/мульти-нод обучения надо синхронизировать состояния оптимизатора (optimizer states) да и в принципе параметры модели (на ддп) между всеми процессами (что делается через all-reduce в общем)

ну и пришло в голову довольно необычное решение - давайте вычисляемые моменты (в которых накопляются градиенты) на каждом из процессов не синхронизировать между собой напрямую, а делать это после шага оптимайзера через то, что авторы назвали fast-moving components (при том оптимизатор у нас не абы какой, а локальный LocalSGD, взятый из федеративного обучения)

поконкретнее - интуитивно в обновляющихся моментах есть slow-moving и fast-moving компоненты, про которые авторы думают как о чем-то типа что фундаментально заложено и меняется очень небыстро и что-то, что восприимчиво к immediate апдейтам в данных

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

остается только загвоздка в том, а как эти fast-moving components экстрактить - при том они должны быть для эффективности декоррелированы и быстро вычисляться. на помощь этому приходит дискретное косинусное преобразование (DCT) по чанкам размера s. через него выбираем k частот в сигнале с самыми большими амплитудами → синхронизируем эти амплитуды и частоты по процессам (а это может быть гораздо легче если подобрать норм s & k по сравнению со всем размером модели) → применяем обратную операцию чтобы получить so-called “principal fast-moving” components и вычитаем (оставляем только slow-moving components которые гладко должны нас вести к сходимости)

по экспам решили сравниться против АдамВ на модели олмо (непонятно почему) и претренились на Долме. за факт того, как скрупулезно подошли к сравнению с бейзлайн моделью отдельный респект

про евал метрики все примерно ожидаемое (ну тут просто сами вопросы к этим метрикам). ну и видимо можно заключить, что действительно хорошо так прибавляет по скорости (на 1б по крайней мере) + даже улучшает сходимость, ну это по крайней мере на ддп и при таком скейле модели

👀LINK
👍4🔥21
Half-Quadratic Quantization of Large Machine Learning Models

про квантизацию уже говорили и затрагивали пока только методы где нужен калибровочный датасет (с помощью которого и составляется гессиан в тех статьях, которые мы упоминали)

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

классическую лосс функцию (lp норму, 0 < p < 1) дополняют вспомогательной обучаемой переменной которую называют W_e в нотации. по сути она приближает ошибку между оригинальными весами и теми, которые прошли квантизацию-деквантизацию + это все при фиксированном скейле (то есть из двух основных параметров zero_point & scale для квантизации фиттится только первое)

авторы обосновывают такой выбор тем, что таким образом получается моделировать аутлаеры в весах (из-за которых в принципе и встает остро необходимость в существующих методах квантизации в таком виде, в котором они есть сейчас) через гипер-Лапласовское распределение (красный график на последней картинке)

есть интересный нюанс, что методу не нужен автоград (никаких активаций слоев нет, только вес как они есть), так еще и за несколько минут на цпу half-quadratic солверы (в честь которых и назван метод) сходятся к решению

евалятся на перплексии с лламой 2, так еще зацепляют ViT + CLIP (проверяют линейную пробу и зеро шот). методы без калибровочных данных обгоняют, показывают что и GPTQ типо тоже курит в сторонке на аж 2 битах

но тут есть момент, который они сами упомянули, что не везде скейл так же квантуется в 8 бит, в остальных местах у него 16 бит → получается то не 2 бита а 3 на модельку то

в целом - не перегоняет, но нет оснований полностью откидывать. пишу это постфактум, ибо просто увидел, что HQQ используется в сота компрессии КВ кэшей (пирамид кв)

👀LINK