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
AMAGO: Scalable In-Context Reinforcement Learning for Adaptive Agents
Another cool paper на узкую и сложную, но тем не менее потенциально хайповую тему
В основном в ин-контекст рл обучают агентов, завязанных на концепции памяти и обрабатывают последовательности в том или ином виде (рнн, трансформер, ссм) ⇒ результат, как и во всем рл, очень жестко зависит от технических деталей при имплементации, к тому же пока еще нет полной связи с устоявшимися концепциями рл
амаго делает боооольшой такой шаг на пути к тому, чтобы скомбинировать sequential модели и goal-conditioned Q-learning + оптимизирует код, чтобы сделать метод масштабируемым и максимально емким во всех смыслах
- адекватно кодирует данные относительно длины последовательности чтобы не засорять память
- закручен офф-полиси актор-критик с общим бекбоном
- они не просто улучшают существующие ин-контекст результаты, но и расширяют задачи с условными целями
В общем конфетка
👀LINK
Another cool paper на узкую и сложную, но тем не менее потенциально хайповую тему
В основном в ин-контекст рл обучают агентов, завязанных на концепции памяти и обрабатывают последовательности в том или ином виде (рнн, трансформер, ссм) ⇒ результат, как и во всем рл, очень жестко зависит от технических деталей при имплементации, к тому же пока еще нет полной связи с устоявшимися концепциями рл
амаго делает боооольшой такой шаг на пути к тому, чтобы скомбинировать sequential модели и goal-conditioned Q-learning + оптимизирует код, чтобы сделать метод масштабируемым и максимально емким во всех смыслах
- адекватно кодирует данные относительно длины последовательности чтобы не засорять память
- закручен офф-полиси актор-критик с общим бекбоном
- они не просто улучшают существующие ин-контекст результаты, но и расширяют задачи с условными целями
В общем конфетка
👀LINK
🎉4
Griffin: Mixing Gated Linear Recurrences with Local Attention for Efficient Language Models
дипмаинды представили интересный гибрид - что-то между трансформером, ссм и рнн, но ни одно из них, но поближе все-таки к трансформеру🤓
Идея довольно нужная и в некотором смысле даже вечная - трансформер медленный в инференсе и ограничен длиной последовательности, в остальном просто чудо, хотим получить идеал.
Авторы в известном трансформер блоке меняют аттеншн на то, что они называют gated linear reccurence + локальный аттеншн ⇒ быстрее трансформера на инференсе, на трейне так же эффективно. Еще показывают, что экстраполируется на бОльшую длину последовательности чем во время обучения
И еще есть код что тоже круто🥸
👀LINK
дипмаинды представили интересный гибрид - что-то между трансформером, ссм и рнн, но ни одно из них, но поближе все-таки к трансформеру
Идея довольно нужная и в некотором смысле даже вечная - трансформер медленный в инференсе и ограничен длиной последовательности, в остальном просто чудо, хотим получить идеал.
Авторы в известном трансформер блоке меняют аттеншн на то, что они называют gated linear reccurence + локальный аттеншн ⇒ быстрее трансформера на инференсе, на трейне так же эффективно. Еще показывают, что экстраполируется на бОльшую длину последовательности чем во время обучения
И еще есть код что тоже круто🥸
👀LINK
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9