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

Авторы:
@zzmtsvv
@maxnygma (AI4Science посты)
Download Telegram
Bootstrap your own latent: A new approach to self-supervised Learning

И хоть статья относительно старая и такие цифры на ImageNet’е не удивляют, идея все равно красивая

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

By the way, с этим могут возникнуть проблемы, поскольку упирается в распределение классов и вопросу того, а как именно собирать батч в процессе обучения, чтобы получать адекватные пары или триплеты

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

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

Дополнительно к этому таргет модель обновляется через exponential moving average (EMA) ⇒ стабилизируем получение эмбеддингов через придание “не столь резкого появления разницы” между аутпутами

Обогнали соту того времени, а какую цену заплатили? Всего лишь добавили один гиперпараметр - коэффициент, относящийся к ЕМА, а остальное в трейн лупе довольно дефолтно

И да, идею наверняка позаимствовали из рл, где почти всегда используют target Q-networks для подобной же стабилизации обучения через уравнение Беллмана. И мы писали, что от этого некоторые пытались отказаться

👀LINK
🤩3
CTRL-Adapter: An Efficient and Versatile Framework for Adapting Diverse Controls to Any Diffusion Model

Этот адаптер позволяет адаптить картиночные контролнеты под большие картиночные или видео диффузии. Решается проблема архитектурного несоответсвтия между адаптерами и разными моделями. CTRL-Adapter включает в себя spatial/temporal свертки/аттеншен, на входе юзают таймстеп, кондишен на картинку и текст. Во время адаптации контролнеты и генеративная модель заморожены

Есть также важные детали. В стандартных контролнетах латент также юзают на входе, однако тут это не делается в случаях i) большие скейлы шума мешают принимать кодишен и выход с контролнета получается неинформативным, ii) sparse фреймы для видео заставляют адаптер игнорировать отсутствующие кадры

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

Дополнительно можно подавать разные контролнеты с взвешивать их - получается типо MoE
👀 LINK
Please open Telegram to view this post
VIEW IN TELEGRAM
5
Tensorized NeuroEvolution of Augmenting Topologies for GPU Acceleration

Уверен, вы все перед сном задавались вопросом - а что происходит сегодня с эволюционными алгоритмами ? 🥴

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

Зачем это надо? поскольку топология сети в данном случае тоже не зафиксирована, то такие алгоритмы предоставляют нам более богатый класс моделей-аппроксиматоров, в отличие от классического дип лернинга. Все это, в общем и целом, называется NeuroEvolution of Augmenting Topologies (NEAT)

Но! Это все происходит очень медленно - выстраивание или разрушение одной связи между произвольными вершинами влияет в целом на всю архитектуру сети, а потому и подбор происходит последовательно, что очень жестко отталкивает - легче 100500 раз прогнать обычные нейронки за это время на гпу и решить задачу

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

И у них это получилось! Теперь есть жесткая либа, она позволяет выстраивать “млпшки” с произвольной архитектурой. Не факт, что это сильно пойдет в народ и вообще побьет дефолт сетап, но мы можем такое сделать! пути ресерча неисповедимы

И да, написать они смогли такое на джаксе, чьи преимущества мы уже ни раз упоминали (здесь и здесь)

👀LINK
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2🥱1
The Hedgehog & the Porcupine: Expressive Linear Attentions with Softmax Mimicry

RuntimeError: CUDA error: out of memory. God please no

жиза при работе с трансформерами - не влезли по длине последовательности, ограничиваем видимость модели (и в частности аттеншна) 😟

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

а как? та давайте просто заменим софтмакс на dot product между какими-то фичами от query & key. опа - и все так просто. а в чем тогда подвох?

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

авторы супер просто и красиво решили эту идею - они заметили, что у прошлых вариаций

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

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

напоминает knowledge distillation, isn’t it? это оно и есть

👀LINK
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
2👀1
Unleashing the Power of Pre-trained Language Models for Offline Reinforcement Learning

мы уже упоминали о супер возможностях ЛЛМок в домене рля (здесь и здесь)

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

и получилось у них это при сочетании следующего

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

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

или отвечает за это все нечто подобное длани Господней, парящей над миром? 😭

👀LINK
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁3👀1
Transformers learn to implement preconditioned gradient descent for in-context learning

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

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

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

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

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

Кстати говоря, все эти теоретические выкладки произведены для линейного аттеншна. Если применять классический, то результат ухудшается. Но это только для линейной регрессии, а для реальных или более сложных задач - не факт 😈

👀LINK
🤯4👀2
HyperLLaVA: Dynamic Visual and Language Expert Tuning for Multimodal Large Language Models

Yet another MLLM, but with stuff from 2017 🔕

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

Есть два модуля: картиночный и текстовый эксперт 😓. Эксперты эти представляют из себя гиперсети, которые генерируют параметры сети для динамически меняющихся эмбеддингов. Такого эксперта вставляются на каждом слое проектора для картинок, и обучают на фичах конкретного слоя. Сами гиперсети генерят параметры для upsample и downsample модулей, по сути имитируя адаптер

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

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

LINK 👀
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥2
Transformers Learn Temporal Difference Methods for In-Context Reinforcement Learning

И снова теория! и снова рл! и снова теория ин-контекст рл! на этот раз дополняющая возможности трансформера еще круче

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

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

И он не просто может, а именно и воспроизводит их во время обучения. при том могут воспроизвести не только TD, но и

- residual gradient (когда берем полный градиент в уравнении Беллмана)
- TD(lambda) - взвешенное среднее между обычным TD и Monte Carlo Policy Evaluation с полным вычислением ретернов
- недисконтированный случай ревардов - Average Reward TD

Стоит отметить, что в качестве данных они принимают не MDP, а Markov Reward Process - убирают действия из уравнений, чтобы все зависело только от состояний. облегчили себе работу, поскольку статья нацелена на моделирование трансформером value function, а не актора/control algorithm + анализ опять проведен над линейным аттеншеном. а что будет дальше - не знаем, но скорее всего будет еще жарче 😈

👀LINK
2👍2
rizzearch
Transformers Learn Temporal Difference Methods for In-Context Reinforcement Learning И снова теория! и снова рл! и снова теория ин-контекст рл! на этот раз дополняющая возможности трансформера еще круче пожалуй, самый обширный и результативный пласт рл методов…
А остальные обзоры на статьи по In-context RL вы можете найти с нашим дайджестом!

А для тех, кто хочет разобраться в базе рл, незаменимым творением будет учебник Саттона и Барто по фундаментальным основам области
❤‍🔥3
Linear Transformers with Learnable Kernel Functions are Better In-Context Models

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

итак - в линейном аттеншне тем или иным образом с feature map’ами стараются аппроксимировать оригинальный аттеншн, где есть возведение экспоненты в степень. Ну и based делал это через разложение в тейлора до второй степени. и было круто

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

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

и ко всему прочему есть и код - и хф, и все-все

👀LINK
6