Supervised Pretraining Can Learn In-Context Reinforcement Learning
А возможна ли какая-то теория, которая объясняет, как же все-таки работает ин-контекст лернинг, а конкретнее ин-контекст лернинг в рл, потому что это не совсем то же, что и инконтекст в нлп
Так вот, возможна. Авторы придумали как обучать и евалить трансформер, что он с точки зрения теории является эффективной имплементацией Байесовского постериорного семплинга.
А как такое достигается? В чем особенность алгоритма? Во время обучения трансформер учат предсказывать оптимальное действие (которое может быть получено оракулом или чем-либо еще) для фиксированного состояния, которое мы помещаем в начало последовательности, а остальная (основная) часть последовательности - случайный контекст.
Что это значит? - тренировочный датасет собирается случайной равномерной политикой - у действий одинаковая вероятность, с которой ее могут засемплить. Таким образом в контекст вбиваются элементы эксплорейшна относительно реварда и динамики среды (для кучи-кучи разных тасок) + мы подаем это на вход трансформеру не в последовательном виде, а случайном. Получаем расширение вариативности контекста на двух уровнях
Окэй, допустим. А как такой трансформер евалить? Да в принципе как обычно, за исключением того, что, судя по оригинальной имплементации, во время евала в качестве контекста хранится 1 предыдущий эпизод, никак не связываясь с текущим эпизодом (кроме потока стейтов для которых предиктим действия)
Это нетривиально имхо, поскольку AD и S5 плавно обрабатывают входящие сигналы мульти-эпизодичного контекста. Еще одна важная разница заключается в том, что DPT умеет решать только MDP, о POMDP речи не идет вообще
Вот такую цену заплатили авторы, чтобы получить крутой теоретически обоснованный алгоритм🥸
👀LINK
А возможна ли какая-то теория, которая объясняет, как же все-таки работает ин-контекст лернинг, а конкретнее ин-контекст лернинг в рл, потому что это не совсем то же, что и инконтекст в нлп
Так вот, возможна. Авторы придумали как обучать и евалить трансформер, что он с точки зрения теории является эффективной имплементацией Байесовского постериорного семплинга.
А как такое достигается? В чем особенность алгоритма? Во время обучения трансформер учат предсказывать оптимальное действие (которое может быть получено оракулом или чем-либо еще) для фиксированного состояния, которое мы помещаем в начало последовательности, а остальная (основная) часть последовательности - случайный контекст.
Что это значит? - тренировочный датасет собирается случайной равномерной политикой - у действий одинаковая вероятность, с которой ее могут засемплить. Таким образом в контекст вбиваются элементы эксплорейшна относительно реварда и динамики среды (для кучи-кучи разных тасок) + мы подаем это на вход трансформеру не в последовательном виде, а случайном. Получаем расширение вариативности контекста на двух уровнях
Окэй, допустим. А как такой трансформер евалить? Да в принципе как обычно, за исключением того, что, судя по оригинальной имплементации, во время евала в качестве контекста хранится 1 предыдущий эпизод, никак не связываясь с текущим эпизодом (кроме потока стейтов для которых предиктим действия)
Это нетривиально имхо, поскольку AD и S5 плавно обрабатывают входящие сигналы мульти-эпизодичного контекста. Еще одна важная разница заключается в том, что DPT умеет решать только MDP, о POMDP речи не идет вообще
Вот такую цену заплатили авторы, чтобы получить крутой теоретически обоснованный алгоритм🥸
👀LINK
🔥6👍4❤3
PIXART-α: FAST TRAINING OF DIFFUSION TRANS- FORMER FOR PHOTOREALISTIC TEXT-TO-IMAGE SYNTHESIS
Авторы данной статьи всерьез озабочены ценой и влиянием на экологию разработки нейросетей, например, они подсчитали, что обучение современной диффузии выделяет столько же CO2 сколько человек в течение 7 лет.
EFFICIENT T2I TRANSFORMER
Начнем с того что у нас есть уже предобученная на ImageNet модель DiT с дискретным кол-вом классов. Нам нужно каким либо образом интегрировать текстовый кондишен в модель и в то же время избавиться от классового кондишена. Что мы делаем для этого?
1. Между слоями self-attention и FF слоем внедрен слой cross-attention для эффективного внедрения текстового кондишена в модель
2. Модуль AdaLN-single: Линейные проекции внутри модуля AdaLN DiT занимают 27% параметров, однако они не являются необходимыми для задач T2I, так как классовые условия не используются. Для решения этой проблемы авторы предалагают ввести новый слой AdaLN-single который имеет глобальный набор весов и смещений.
Стандартный блок:
Sᵢ =f(c+t), параметры - [β₁, β₂, γ₁, γ₂, α₁, α₂]
Модифицированный:
S̅ = f(t)
И теперь:
Sᵢ = g(S̅, Eᵢ),
g - функция суммирования
Eᵢ обучаемый эмбеддинг с таким же размером что и S̅
2. Репараметризация: Для использования предварительно обученных весов все Eᵢ инициализируются значениями, которые дают те же параметры что и DiT без классового кондишена для 500-го шага. Этот подход эффективно заменяет слой-специфические параметры глобальными, обеспечивая совместимость с предварительно обученными весами и сокращая размер модели.
Данные
LAION содержит большое кол-во изображений товаров с маркетплейсов с довольно скудными фонами, наверно это не то что будет радовать глаз пользователей, поэтому авторы решили добавить в обучающую выборку SAM датасет ориентированный на задачу сегментации с обильным кол-вом объектов. Все данные были переразмеченны LLaVA. Ну и для достижения эстетического удовольствия пользователей финальный тюн произведен на JourneyDB.
👀 LINK
Авторы данной статьи всерьез озабочены ценой и влиянием на экологию разработки нейросетей, например, они подсчитали, что обучение современной диффузии выделяет столько же CO2 сколько человек в течение 7 лет.
EFFICIENT T2I TRANSFORMER
Начнем с того что у нас есть уже предобученная на ImageNet модель DiT с дискретным кол-вом классов. Нам нужно каким либо образом интегрировать текстовый кондишен в модель и в то же время избавиться от классового кондишена. Что мы делаем для этого?
1. Между слоями self-attention и FF слоем внедрен слой cross-attention для эффективного внедрения текстового кондишена в модель
2. Модуль AdaLN-single: Линейные проекции внутри модуля AdaLN DiT занимают 27% параметров, однако они не являются необходимыми для задач T2I, так как классовые условия не используются. Для решения этой проблемы авторы предалагают ввести новый слой AdaLN-single который имеет глобальный набор весов и смещений.
Стандартный блок:
Sᵢ =f(c+t), параметры - [β₁, β₂, γ₁, γ₂, α₁, α₂]
Модифицированный:
S̅ = f(t)
И теперь:
Sᵢ = g(S̅, Eᵢ),
g - функция суммирования
Eᵢ обучаемый эмбеддинг с таким же размером что и S̅
2. Репараметризация: Для использования предварительно обученных весов все Eᵢ инициализируются значениями, которые дают те же параметры что и DiT без классового кондишена для 500-го шага. Этот подход эффективно заменяет слой-специфические параметры глобальными, обеспечивая совместимость с предварительно обученными весами и сокращая размер модели.
Данные
LAION содержит большое кол-во изображений товаров с маркетплейсов с довольно скудными фонами, наверно это не то что будет радовать глаз пользователей, поэтому авторы решили добавить в обучающую выборку SAM датасет ориентированный на задачу сегментации с обильным кол-вом объектов. Все данные были переразмеченны LLaVA. Ну и для достижения эстетического удовольствия пользователей финальный тюн произведен на JourneyDB.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍3
Будем рады услышать обратную связь о канале. Оставляйте идеи/пожелания в секции комментариев!)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13
SynCode: LLM Generation with Grammar Augmentation
Многострадальный guided generation, - подход, который позволяет мутировать логпробы на выходе ЛЛМок так, чтобы генерации подчинялись некоторому синтаксису. Именно благодаря guided generation ты можешь насильно заставить свою ЛЛМ генерировать, например, синтаксически валидный JSON. Или даже не просто синтаксически валидный, а валидный по отношению к какой-то конкретной схеме. Топик интересный и его довольно долгое время ковыряют: вон существуют Guidance, Outlines и ещё пачка инструментов.
SynCode - это очередной инструмент для guided generation. Но ребята предложили новую идею: в оффлайне строят DFA mask store, - карту ключ-значение, которая маппит каждое состояние DFAшки (конечный автомат лексера) в маски для логпроб токенов. Это дало свои плоды - генерация с Syncode быстрее генерации с Outlines или Llama.cpp в несколько раз.
Статья довольно большая, но любителям дискретки, жаждующим почитать что-нибудь про автоматы в мире DL, зайдёт.
👀 Link
🗿 Code
Многострадальный guided generation, - подход, который позволяет мутировать логпробы на выходе ЛЛМок так, чтобы генерации подчинялись некоторому синтаксису. Именно благодаря guided generation ты можешь насильно заставить свою ЛЛМ генерировать, например, синтаксически валидный JSON. Или даже не просто синтаксически валидный, а валидный по отношению к какой-то конкретной схеме. Топик интересный и его довольно долгое время ковыряют: вон существуют Guidance, Outlines и ещё пачка инструментов.
SynCode - это очередной инструмент для guided generation. Но ребята предложили новую идею: в оффлайне строят DFA mask store, - карту ключ-значение, которая маппит каждое состояние DFAшки (конечный автомат лексера) в маски для логпроб токенов. Это дало свои плоды - генерация с Syncode быстрее генерации с Outlines или Llama.cpp в несколько раз.
Статья довольно большая, но любителям дискретки, жаждующим почитать что-нибудь про автоматы в мире DL, зайдёт.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍2❤1
Emergent Agentic Transformer from Chain of Hindsight Experience
Довольно интересный пример ин-контекст рля, при этом без мета-рля (без генерализации на несколько задач/сред)+ частый пример, как авторы могут (умышленно или по невнимательности) завышать результаты метода
So, авторы придумали Agentic Transformer, осуществление ин-контекст рля за счет "chain of hindsight". Короче говоря, у них способ организации контекста внутри трансформера похож на то, что происходит в AD. Во время обучения траектории семплятся на рандоме из всего оффлайн датасета, а затем их сортируют по ретерну (это сумма наград за весь эпизод)
По результатам бьет не только Imitation learning алгоритмы, но и TD learning модели, которые являются доминантой
Однако эти результаты не совсем честны) Во время евала они берут не последний ретерн, который получается из ин-контекст роллаута, а максимальный. По сути они черрипикают + таким образом немножко ломают интуитивное понятие in-context reinforcement learning'а
Но идея все равно имеет место быть🙃
👀 LINK
Довольно интересный пример ин-контекст рля, при этом без мета-рля (без генерализации на несколько задач/сред)
So, авторы придумали Agentic Transformer, осуществление ин-контекст рля за счет "chain of hindsight". Короче говоря, у них способ организации контекста внутри трансформера похож на то, что происходит в AD. Во время обучения траектории семплятся на рандоме из всего оффлайн датасета, а затем их сортируют по ретерну (это сумма наград за весь эпизод)
По результатам бьет не только Imitation learning алгоритмы, но и TD learning модели, которые являются доминантой
Однако эти результаты не совсем честны) Во время евала они берут не последний ретерн, который получается из ин-контекст роллаута, а максимальный. По сути они черрипикают + таким образом немножко ломают интуитивное понятие in-context reinforcement learning'а
Но идея все равно имеет место быть
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
CoDi-2: In-Context, Interleaved, and Interactive Any-to-Any Generation
Авторы показывают, как получить классную in-context conversational генерацию с помощью диффузии и мультимодальной LLM (MLLM). CoDi-2 состоит из текстового, картиночного и аудио энкодеров, MLLM и финального картиночного декодера. Для проекций фичей в общее пространство юзают MLP
Тренировка происходит с помощью композитного лосса, состоящего из стандратного лосса диффузии, лосса MLLM + LoRA для предикта некст токена и MSE между conditional фичей, сгенерированной MLLM и выходов диффузионого автоэнкодера (мультимодального в этом случае). Последняя часть как позволяет вместе тренировать MLLM и диффузию
Отдельная важная часть статьи - это данные💻 Тут у нас instruction пары (MIMIC-IT), мультимодальные пары (LAION, AudioSet, Webvid), а также для image composition задействован InstructPix2Pix и датасет из Kosmos-G
В итоге получаются прикольные conversational примеры как на картинке. Кстати, CoDi это статья про any-to-any генерацию с разными энкодерами, но важно знать, что сейчас ей 2 статьи с таким название (да, лол). Вторая про дистилляцию и тут мы уже про нее писали 😉
👀 LINK
Авторы показывают, как получить классную in-context conversational генерацию с помощью диффузии и мультимодальной LLM (MLLM). CoDi-2 состоит из текстового, картиночного и аудио энкодеров, MLLM и финального картиночного декодера. Для проекций фичей в общее пространство юзают MLP
Тренировка происходит с помощью композитного лосса, состоящего из стандратного лосса диффузии, лосса MLLM + LoRA для предикта некст токена и MSE между conditional фичей, сгенерированной MLLM и выходов диффузионого автоэнкодера (мультимодального в этом случае). Последняя часть как позволяет вместе тренировать MLLM и диффузию
Отдельная важная часть статьи - это данные
В итоге получаются прикольные conversational примеры как на картинке. Кстати, CoDi это статья про any-to-any генерацию с разными энкодерами, но важно знать, что сейчас ей 2 статьи с таким название (да, лол). Вторая про дистилляцию и тут мы уже про нее писали 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Transformers as Decision Makers: Provable In-Context Reinforcement Learning via Supervised Pretraining
Для тех, кто любит теорию, теорию в рл, теорию в ин-контекст + рл😈
Мы уже упоминали один алгоритм ин-контекст рл (ICRL) - DPT, по нашим сведениям пока это единственный теоретически обоснованный такой алгоритм. Но возможно ли привести единую теорию под тот же AD? Чтобы перед эмпирическими результатами мы могли иметь хоть какое-то - не только интуитивное - представление о результатах?
Авторы смогли привести transformer-based модели к общей теории. Получили ожидаемые результаты о сходимости к оптимуму, что отлично, поскольку если было бы иначе - в теории не сходилось бы к оптимальной награде или что-то еще, то алгоритмы пришлось бы переделывать скорее всего)
Но, казалось бы, вся эта теория нужна только под AD, потому что это чисто эвристический алгоритм, в отличие от DPT. Но не совсем так - основные выводы таковы, что алгоритмы подойдут к оптимальному решению настолько, насколько это “позволяет” трейн датасет (приходят ли модели из оффлайн датасета к оптимальному решению или около-оптимальному) + необязательно получать для DPT оптимальные действия извне, при помощи оракула, которого почти невозможно получить в реальных задачах
DPT, как и AD, в качестве оптимальных действий достаточно получать то, что выдают обученные сингл-таск модельки ⇒ и то, и то сойдется
В принципе теория несложная, потому что исходит из постановки задачи как Supervised Learning’а. С нее частично можно начать вкатываться в современный рл имхо
👀LINK
Для тех, кто любит теорию, теорию в рл, теорию в ин-контекст + рл
Мы уже упоминали один алгоритм ин-контекст рл (ICRL) - DPT, по нашим сведениям пока это единственный теоретически обоснованный такой алгоритм. Но возможно ли привести единую теорию под тот же AD? Чтобы перед эмпирическими результатами мы могли иметь хоть какое-то - не только интуитивное - представление о результатах?
Авторы смогли привести transformer-based модели к общей теории. Получили ожидаемые результаты о сходимости к оптимуму, что отлично, поскольку если было бы иначе - в теории не сходилось бы к оптимальной награде или что-то еще, то алгоритмы пришлось бы переделывать скорее всего)
Но, казалось бы, вся эта теория нужна только под AD, потому что это чисто эвристический алгоритм, в отличие от DPT. Но не совсем так - основные выводы таковы, что алгоритмы подойдут к оптимальному решению настолько, насколько это “позволяет” трейн датасет (приходят ли модели из оффлайн датасета к оптимальному решению или около-оптимальному) + необязательно получать для DPT оптимальные действия извне, при помощи оракула, которого почти невозможно получить в реальных задачах
DPT, как и AD, в качестве оптимальных действий достаточно получать то, что выдают обученные сингл-таск модельки ⇒ и то, и то сойдется
В принципе теория несложная, потому что исходит из постановки задачи как Supervised Learning’а. С нее частично можно начать вкатываться в современный рл имхо
👀LINK
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🥰1
Generalization to New Sequential Decision Making Tasks with In-Context Learning
До этого ин-контекст рл проверяли на относительно простых, известных средах (Darkroom & MuJoCo). Авторы решили испытать на известных cвоей сложностью MiniHack & Procgen, которые также включают в себя задачи на эксплорейшн, навигацию/планирование и использование инструментов + много различных левелов в тасках
И встает вопрос - а возможно ли в этих, более сложных и вариативных средах, так же получить ин-контекст? При том такая постановка настолько сложна, что на трейновых средах играешь за рыбу🐠 и пытаетесь скушать как можно больше всего, а во время тестирования заставляют в качестве ниндзя🥷
Йо, и такое возможно! Но стоит сделать достаточно большой датасет (десятки тысяч траекторий с разных уровней на каждую таску, коих десятки), иметь доступ к оптимальным действиям (как обычно) и правильно аугментировать - семплить разные траектории из тех же уровней, чтобы нивелировать меморизацию и сподвигнуть к генерализации
К тому же в качестве контекста можно на пальцах пересчитать, сколько эпизодов нужно для достижения оптимума (7)😎
👀LINK
До этого ин-контекст рл проверяли на относительно простых, известных средах (Darkroom & MuJoCo). Авторы решили испытать на известных cвоей сложностью MiniHack & Procgen, которые также включают в себя задачи на эксплорейшн, навигацию/планирование и использование инструментов + много различных левелов в тасках
И встает вопрос - а возможно ли в этих, более сложных и вариативных средах, так же получить ин-контекст? При том такая постановка настолько сложна, что на трейновых средах играешь за рыбу
Йо, и такое возможно! Но стоит сделать достаточно большой датасет (десятки тысяч траекторий с разных уровней на каждую таску, коих десятки), иметь доступ к оптимальным действиям (как обычно) и правильно аугментировать - семплить разные траектории из тех же уровней, чтобы нивелировать меморизацию и сподвигнуть к генерализации
К тому же в качестве контекста можно на пальцах пересчитать, сколько эпизодов нужно для достижения оптимума (7)
👀LINK
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
ChAda-ViT : Channel Adaptive Attention for Joint Representation Learning of Heterogeneous Microscopy Images
CVPR 2024
🔬🦠🧬
В биологии есть большое количество различных данных и они отличаются своей структурой. Одна из важных задач - создания эффективных унифицированных репрезентация для биологических данных для последующего использование в тюнинге на различные задачи
Очевидно, есть серьезная проблема - данные сильно отличаются в количестве каналов. Основные и базовые подходы делают фокус на интра-канальных пространственных фичах и часто игнорируют связь между каналами
Авторы предлагают Channel Adaptive Vision Transformer, который способен кодировать данные с вариативным количеством каналов. Делается это с помощью создания патчей по каналам, маскирования и паддинга как в SSL для ViT. При обучении добавляют позиционные и канальные эмбеддинги. Первые используются для обработки spatial информации между каналами, а вторые для обучаются на связях патчей внутри каждого конкретного канала. Такой подход позволяет модели различать между патчами на одной позиции, но в разных каналах
В экспериментах показано, что ChAda-ViT имеет качественные аттеншен мапы на последнем слое, что подтверждает хайп
👀 LINK
CVPR 2024
🔬🦠🧬
В биологии есть большое количество различных данных и они отличаются своей структурой. Одна из важных задач - создания эффективных унифицированных репрезентация для биологических данных для последующего использование в тюнинге на различные задачи
Очевидно, есть серьезная проблема - данные сильно отличаются в количестве каналов. Основные и базовые подходы делают фокус на интра-канальных пространственных фичах и часто игнорируют связь между каналами
Авторы предлагают Channel Adaptive Vision Transformer, который способен кодировать данные с вариативным количеством каналов. Делается это с помощью создания патчей по каналам, маскирования и паддинга как в SSL для ViT. При обучении добавляют позиционные и канальные эмбеддинги. Первые используются для обработки spatial информации между каналами, а вторые для обучаются на связях патчей внутри каждого конкретного канала. Такой подход позволяет модели различать между патчами на одной позиции, но в разных каналах
В экспериментах показано, что ChAda-ViT имеет качественные аттеншен мапы на последнем слое, что подтверждает хайп
👀 LINK
❤2👍2
In-Context Exploration-Exploitation for Reinforcement Learning
О том, как не надо писать статьи(несмотря на то, что приняли на ICLR 24)
Уже очень много мы успели упомянуть об ин-контекст рл - и везде для достижения такого надо много данных как во время обучения, так и во время инференса для накопления контекста, поскольку исследование новых сред происходит не так быстро. Было бы неплохо такое нивелировать. А как?
Авторы встраивают в инференс доп модель, которая производит явный трейд-офф между exploration/exploitation, при этом они не делают байесовский инференс явно, встраивая свой алгоритм в трансформер ⇒ скорость сходимости к оптимальной награде меняется с сотни эпизодов до десятка.
А в чем тогда проблема? Да вообще непонятно, как в коде устроена эта их модификация. Есть псевдокод, но он выдает больше вопросов, чем ответов, а авторы никакой код и не прикладывают
Вот так и получаем - по идее новая СОТА, но по ней мало что понятно
👀LINK
О том, как не надо писать статьи
Уже очень много мы успели упомянуть об ин-контекст рл - и везде для достижения такого надо много данных как во время обучения, так и во время инференса для накопления контекста, поскольку исследование новых сред происходит не так быстро. Было бы неплохо такое нивелировать. А как?
Авторы встраивают в инференс доп модель, которая производит явный трейд-офф между exploration/exploitation, при этом они не делают байесовский инференс явно, встраивая свой алгоритм в трансформер ⇒ скорость сходимости к оптимальной награде меняется с сотни эпизодов до десятка.
А в чем тогда проблема? Да вообще непонятно, как в коде устроена эта их модификация. Есть псевдокод, но он выдает больше вопросов, чем ответов, а авторы никакой код и не прикладывают
Вот так и получаем - по идее новая СОТА, но по ней мало что понятно
👀LINK
❤3
XLand-MiniGrid: Scalable Meta-Reinforcement Learning Environments in JAX
Вспоминая феномен JAX сред, наши замечательные авторы решили расширить его и на понятие ин-контекст рля, да при том сделать это мега круто!
А почему круто?
- вдохновлены сложностью XLand’a и минималистичностью MiniGrid’a
- древовидная система правил, которая определяет конкретную таску (а значит может легко варировать сложность и разнообразность)
- возможность обучения сингл-таск и мета-агентов
- триллион шагов за 2 дня обучения!!!
А как такая библиотека помогает продвинуться области? Даже самые легкие задачи из бенчмарков вызывают затруднение как для обычных, так и для мета алгосов. На определенных задачах только после 1 миллиарда/триллиона шагов один агент начинает хоть что-то выучивать. Такой долгий разгон означает, что потолок в сложности тасок пробит, и теперь есть удобный и невероятно быстрый фреймворк, на котором можно улучшаться
👀LINK
Вспоминая феномен JAX сред, наши замечательные авторы решили расширить его и на понятие ин-контекст рля, да при том сделать это мега круто!
А почему круто?
- вдохновлены сложностью XLand’a и минималистичностью MiniGrid’a
- древовидная система правил, которая определяет конкретную таску (а значит может легко варировать сложность и разнообразность)
- возможность обучения сингл-таск и мета-агентов
- триллион шагов за 2 дня обучения!!!
А как такая библиотека помогает продвинуться области? Даже самые легкие задачи из бенчмарков вызывают затруднение как для обычных, так и для мета алгосов. На определенных задачах только после 1 миллиарда/триллиона шагов один агент начинает хоть что-то выучивать. Такой долгий разгон означает, что потолок в сложности тасок пробит, и теперь есть удобный и невероятно быстрый фреймворк, на котором можно улучшаться
👀LINK
❤🔥7👍1