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

Авторы:
@zzmtsvv
@maxnygma (AI4Science посты)
Download Telegram
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
Fine-Tuning Large Vision-Language Models as Decision-Making Agents via Reinforcement Learning

Расширить возможности Vision-Language Models при помощи рл, чтобы они могли например играть в блекджек? да! и тут Сергей Левин не остался в стороне (кстати, он также успел поработать и с относительно большими диффузионками, тем самым тоже расширил границы рл)

Тюнили модельку llava-v1.6-mistral-7b в классических традициях - сначала сфт с инструкт датасетом, затем по аналогии с рлхф обучают как рл агента (в принципе логично, только ревард модель не учат поскольку реварды выдают сами среды)

состояния подаются в виде картинок и текста - в тексте постоянно напоминают описание задачи + подаются возможные действия, которые можно сделать в данном состоянии (частично зависит от картинки) и говорят выдать действие в виде “action”: “…” в конце промпта (уточняю на этом внимание, потому что авторы пишут, что иногда моделька такое не выдавала и тогда они брали действие на рандоме. звучит не оч безопасно, несмотря на то, что при каждом шаге в зависимости от картинки подаются только legal actions, мало ли что на рандоме может выдать модель, когда мы выпускаем ее в более реальную среду)

а тюнят при помощи ппо - вычисляем log-likelihood промпта, который содержит акшн ⇒ вычисляем вероятность и сохраняем все необходимое в буффере

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

правда надо тогда учесть, что при вычислении лог лайклихуда промпта больший масштаб будет иметь именно СоТ ⇒ уменьшаем его при помощи гипера < 1, и все идет гладко

А на каких средах тестили?

- Number Line, где надо последовательными плюсами или минусами из данного числа получить таргетное
- пара вариаций чего-то типа двадцати одного, где надо просто из карт составить эту сумму (EZPoints)
- blackjack of course
- Alfworld - среда, которая тестит может ли VLM в принятие действий на основании осмысления визуального пространства (среды выше проверяли может ли моделька в арифметику при умении распознавать визуальные паттерны), а именно взять что-то с полки, положить туда-то, осмотри что-то на свету и тд и тп

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

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

👀LINK

По просьбе нашего подписчика☝️
🔥7❤‍🔥21👏1