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

Авторы:
@zzmtsvv
@maxnygma (AI4Science посты)
Download Telegram
Contextual Position Encoding: Learning to Count What's Important

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

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

авторы предложили именно такое (СoPE), объединили детали из относительного и обучаемых энкодингов - позиции кодируются как сумма сигмоид между дот продактом запросов и ключей (queries & values). таким образом получается опора на предыдущий контекст исключительно, так еще и через сигмоиду определяем степень влияния этого контекста

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

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

смущает только Figure 3 (и далее в рассуждениях я могу ошибаться) - как я пон, они говорят, что может CoPE обобщаться на более длинный контекст, что отчасти так, у него меньше перплексия, но ввиду грамотной интерполяции (а не экстраполяции) дробных позиций - если мы удлиняем контекст с 512 до 1024 например на евале, то все равно будем видеть токены от 0 до 512, пушто на трейне мы их и не видели. то есть этот метод действительно выглядит лучше, но кмк по другим причинам (если вы нашли ошибку в моем рассуждении - напишите, мне интересно почитать)

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

👀LINK
🔥7👍42🤔1
Retentive Network: A Successor to Transformer for Large Language Models

тоже уже база, но хочу про нее рассказать

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

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

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

еще расширяют эту идею на MSR (Multi-Scale Retention, a.k.a Multi-Head Attention) и подают разным головам разные гаммы ⇒ головы теперь не только по-разному могут производить ретеншн (аттеншн) в плане обработки контекста, но еще и по-разному обрабатывать временную составляющую

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

да и ко всему есть код, что приятно

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

👀LINK
🔥3👀21👍1🤩1
CPPO: Continual Learning for Reinforcement Learning with Human Feedback

вот научили ревард модельку для ллм - окей, пристрастилась к желаниям человечков, но ведь желания со временем меняются. и как к такому адаптироваться?

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

на практике дивергенцию считают как мсе между потокенными лог вероятностями (что интересно) - назвали Knowledge Retention Loss. и его добавили к привычному лоссу ппо

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

но так же они и пробовали обучать эти веса для каждого батча 🤯

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

далеко не факт, что идея будет долго жить, потому что имхо много где перемудрили, но она очень жесткая

👀LINK

да, и такие папиры бывают с таким графическим оформлением
🤯3🕊1🥴1
Is Value Learning Really the Main Bottleneck in Offline RL?

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

но точно ли это главная проблема - нет ли чего посерьезнее? а оказыается есть, и это именно обучение актора

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

то есть вот рецепт примерно усредненный - обучать критика на максимально разнообразных данных + по полной обучать актора на аутпутах критика

еще предлагают решать эту проблему через дообучение на евале посредством оценки критика и дивергенции, чтобы на онлайне политика сильно от оффлайн версии не отходила, что называется test-time training. ну или менее муторный вариант OPEX - обновлять на евале параметры в сторону максимизации значений критика

кстати косвенно с результатами из этой папиры результаты сходятся

👀LINK
🔥3👌1
Unsupervised Learning by Predicting Noise

🕔RIZZEARCH THROWBACK 🕔

Noise as Targets (NaT). Делают self-supervised learning путем генерации случайных таргетов. Один из первых методов

Из нашего unsupervised датасета, мы экстрактим признаки с помощью обычной сверточной сетки и нормализуем. Далее мы делаем “таргеты из шума” с помощью семплирования векторов на сфере. Такой подход напоминаем k-means на сфере, однако отличие в предотрващении коллапса репрезентаций у NaT

Как же нам подбирать оптимальные пары “картинка-таргет вектор”? Это assignment problem и для нее существует Венгерский алгоритм из середины 20-ого века. Однако как с многими алгоритмами ситуация не очень хорошая - асимптотика O(n^3). Поэтому авторы запускают его в стохастическом режиме по батчам

👀 LINK
🔥4
🕔RIZZEARCH THROWBACK 🕔

Теперь иногда в риззерче мы будет писать про статьи до 2021 года включительно. Это некая классика - то, что было проверено временем и повлияло на создание новых методов. Такие посты будут отмечены соответствующей надписью
👍14
Generalization in Diffusion Models Arises from Geometry-Adaptive Harmonic Representations (OUTSTANDING PAPER AWARD 🥇)

Вы когда-нибудь задумывались каким образом обобщаются диффузионные модели? Или почему мы можем наблюдать меморизацию тренировочных данных у таких моделей как Stable Diffusion? Статья? Получившая outstanding paper award на ICLR 2024 🔥 статья, отвечает на эти вопросы

В диффузионных моделях есть проблема меморизации - это когда при семплировании модель буквально воспроизводит тренировочные семплы или же комбинирует детали из нескольких. Меморизация тесно пересекается с обобщением. Чем больше датасет, тем больше ошибка на тренировке и меньше на тесте. Модель постепенно переходит от меморизации к обобщению и выучивает истинную score функцию. Однако, так ли это? 🤔

Авторы делят тренировочные картинки на два непересекающихся набора и показывают, что при достаточно большом количестве картинок сетки на разных наборах выучивают примерно одинаковые score функцию - признак обобщения

Далее логичный вопрос - какие inductive biases позволяют диффузиям избегать проклятия размерности и обобщаться? Авторы исследуют декомпозицию Якобиана денойзера через собственные значения и приходят к выводу, что денойзер постепенно уменьшает влияние вариаций в датасете. Собственные значения обычно маленькие, что говорит, о инвариантности генераций относительно преобразований в зашумленной картинке и низкоранговой структуре Якобиана. Также, исследуя базисы на собственных векторах, мы можем судить о важности разреженных репрезентаций картинок, которые связаны с качеством генераций

Если посмотреть на собственные значения и ветктора относительно зашумленных картинок, мы получим четкую картинку - денойзер быстро достигает спарсификации и показывает колебательные собственные вектора 🔀. Базисы этих векторов адаптируются под конкретные контуры и участки картинок. Такие базисы назвали geometry-adaptive harmonic bases (GAHBs) и они от части отвечают за обобщение диффузионных моделей

👀 LINK
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74🔥3👎1
Neural Redshift: Random Networks are not Random Functions

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

эту сложность определяли через

- частотность (по фурье)
- полиномиальную декомпозицию
- сжимаемость (LZW compressibility, не знаю как лучше по-русски)

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

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

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

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

👀LINK
🔥7👏3👍1