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

Авторы:
@zzmtsvv
@maxnygma (AI4Science посты)
Download Telegram
softmax is not enough (for sharp out-of-distribution)

“Energy continuously flows from being concentrated
To becoming dispersed, spread out, wasted and useless.”— The 2nd Law:
Unsustainable, by Muse


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

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

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

помимо toy example такое же наблюдается и на гемме 2б на других задачках, где есть необходимость в жестком/остром аттенде информации по токенам ⇒ и авторы это связывают с необходимостью в создании адаптивной температуры (которую топорно пытались недавно сделать китайцы)

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

👀LINK

подслушано здесь
2👍2
Round and Round We Go! What makes Rotary Positional Encodings useful?

так уж получилось, что RoPE часто используют в ллмках - идея “ротейта” векторов q & k друг от друга в соответствии с их расстоянием друг от друга интуитивно понятна, так еще и на практике работает неплохо. а чтобы работала еще лучше, приправляют это все поворотом не на один угол, а на много (которые характеризуются диапазоном частот для пущей генерализации и надежности, что эта модификация выстрелит)

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

в первую очередь, они выяснили, что далеко не всегда происходит дикей активаций с варьированием расстояния, а только в специальных случаях, например, при константных запросах и ключах, что не оч практично. гораздо практичнее представлять q & k какими-то случайными величинами, и тогда никакого дикея нет

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

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

но их немного. а основная “масса аттеншна” складывается вокруг низких частот, где появляются семантические аттеншн головы (2) (интуиция: поворот векторов незначителен, что позволяет сосредоточиться на смысле). и этим эвиденсом авторы, кстати, объясняют, почему в лламе 3 авторы сделали самую низкую частоту намного меньше с привычным гипером (1/10k → 1/500k)

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

👀LINK

inspired by this
👍5🔥22
Directional Message Passing for Molecular Graphs

rizzearch throwback

Сегодня узнаем, как можно улучшить молекулярные репрезентации с помощью модели DimeNet. Авторы из замечательного университета Мюнхена в 2020 сделали новый способ предсказания квантовых свойств молекул с помощью информации об углах в триплетах атомов. Давайте погрузимся в детали

Мы уже писали про фундаментальную модель для молекулярных репрезентаций - SchNet. Эта модель добивалась инвариантных латентов через использование попарных расстояний в message passing. Однако, потенциальная энергия зависит от сразу нескольких составляющих: зависимости от длины связи, от угла между связями, от показателя кручения связи и от неявных связей типо электростатических взаимодействий или сил Ван-дер-Ваальса. Авторы решают частично проблему, добавляя информацию об углах

🏹 Во-первых, эмбеддинги в DimeNet исходят из месседжа между двумя атомами, а не из их отдельных фичей. Это сделано, потому что такая параметризация позволяет получить эквивариатность к поворотам, т.е к группе SO(3). Это важно, так как, не смотря на то, что мы хотим иметь инвариатные предсказания энергии, обычный граф по радиусу не дает возможности отличить молекулы одинаковые по расстояниям внутри этого радиуса

💫 Для дополнительных индуктивных признаков, авторы не просто используют углы и расстояния, а представляют их через сферичесике функции Бесселя и сферические гармоники. Апдейт месседжей делается по набору входящих месседжей от соседей. Стоит также учитывать, что несмотря на более богатые геометрические признаки, сложность модели стала O(nk^2) вместо O(nk)

По экспериментам, модель обгоняет SchNet, MEGNet и другие топовые модели на тот момент. Набор экспов стандартный - регрессия (QM9) и молекулярная динамика (MD17)

Подытоживая, эта статья заложила фундамент для использования расширенной геометрической информации в молекулярных репрезентациях. Однако помним, что есть еще и другие части, определяющие потенциальную энергию, о которых мы расскажем в следующих постах 🚀

👀 LINK
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
42
Transformers are SSMs: Generalized Models and Efficient Algorithms Through Structured State Space Duality

читала ли ты на ночь про связь между трансформерами и ссм, Дездемона?


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

Три Дао и Альберт Гу решили продолжить развивать мамбу и выкатили мамбу-2, где SSM заменился на SSD (state space duality)

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

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

при том в стейт спейс моделях, в матричной формулировке, эта каузальная маска L так же включает в себя относительное позиционное кодирование, которое зависит от инпута - тот самый селективный скан в мамбе, завязанный на матрице А. матрица же А отвечает за структурированную проекцию предыдущего хидден стейта на хидден в конкретном таймтсепе, обычно ее делали диагональной, но в ссд теперь она представляется identity * some_scalar (то есть ее можно представить просто в виде скаляра)

и такая потеря в вариативности повышает efficiency. но как быть с потерей качества? поскольку проведены аналогии с аттном, то и мы можем попробовать взять оттуда концепции и применить их на ссд, как те же разные головы аттеншна, вычисления по которым можно распараллелить ⇒ повышаем капасити модели (при том намного по сравнению с обычной мамбой, ибо в ее случае была одна голова с меньшей размерностью, чем это позволяет мамба-2). а так получается можно между ссд и аттеншн терминами провести следующий мэтч:

(A, C, B, X) → (L, Q, K, V), где Х - инпут

так же авторы обобщают концепцию мульти-хеда на multi-query/key/value attention. как оказывается, эффективный тип ssm можно по-другому назвать как multi-value attn

помимо этого архитектуру можно свести на привычный мульти-гпу сетап и иметь только один all-reduce блок, как и аттн. разве что нормировку надо заменять на групп норму и ставить количество групп = tensor parallelism degree (чтобы не замедлять вычисления) + блочное разбиение матриц и все такое

в папире становится жоско быстрее стандартной мамбы, да и даже флеш аттеншн перегоняет при сек лене ≥ 2k

есть неявное замечание, что авторы видимо четко осознали, что раз ссм можно свести только к линейному аттеншну, который может превосходить софтмакс аттеншн только на скейле моделек до ~= 7б, то и нет смысла превзойти ванильный аттн и есть резон только превосходить linear attention-like архитектуры по efficiency и перформансу (что в каком-то смысле очень даже уважаемо)

итого - табличное сравнение по памяти и скорости на последней картинке, мамба-2 старается привнести объединение бенефитов из двух миров аттеншна и ссм. мб займет свою нишу на модельках относительно небольшого скейла

👀LINK
3🔥1
Restructuring Vector Quantization with the Rotation Trick

Christopher Ré продолжает делать интересное, правда на уже не в рамках HazyResearch, и на сей раз он добрался до VQ-VAE

авторы поднимают вопрос того, что по факту Straight-Through Estimator (STE) во время бекворда третирует производную кодбук вектора по отношению к энкодер аутпуту как identity matrix

но в этом может заключаться и загвоздка, когда бекворд доходит до энкодера, ибо по сути STE не привносит свой импакт по изменению параметров энкодера → положение энкодер аутпутов по отношению к кодбукам не влияет на градиент энкодера

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

и вычисляют к тому же они не наивно, а сразу через хаусхолдера, при том, по заверениям авторов, разницы по времени с классическим вк вае нет

сравнивали на видео и картинках + еще добавили адверсариал сетап вместе с диффузией. много где обыгрывает классику по всем трем фронтам - реконструкции, “утилизации” кодбука и ошибке квантизации

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

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

👀LINK
8👍1