Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14👍3 3
Can LLMs Maintain Fundamental Abilities under KV Cache Compression?
уже мы писали и про сжатие (например тут и тут), и про компрессию кв кэша в том числе, включая идею с ретривал головами и аттеншн синками
а авторы из китая этой статьи решили уточнить момент, что в основном при компрессии кэша происходит проверка на длинных контекстах как лонгбенч или иголка в сене
и, как оказывается, эта неполная картина скрывает факт того, что начинают хериться другие способности модели
- арифметика и language understanding (которые проверялись при помощи GSM8K & MMLU) начинают сбоить
- при том с уменьшением длины промпта просадка по качеству ощущается еще больше (имхо потому что и так становится меньше ключей/значений, за которые можно зацепиться, так мы еще и сверху их урезаем)
- так еще и по таскам, где сильная зависимость от промптированной информации (нельзя выехать за счет knowledge которая непосредственно присутствует в весах модели) очевидно наблюдается деградация с учетом пунктов выше
- но при этом дипсик чуть получше при этом всем выступает чем альтернативы в виде лламы
- еще выявлен эвиденс о том, что chunk-based методы компрессии медленнее деградируют при сравнении с другими → можно использовать этот факт (чтобы сделать папиру не только с результатами о том как что-то не получается у existing methods но и предложить свой хайповый сота момент)
назвали метод The ShotKV (Prefill-Decoding Separated Shot-aware KV Cache Compression), который проверяли на трех моделях 8б (в принципе как и другие методы компрессии): ллама 3.1 классическа, инструктированная и дипсик-р1-дистилл
идея такая - давайте для few-shot примеров оставлять статичный сжатый кв кэш, а именно расчитывать самые значимые примеры (по аттеншн скорам) и оставлять только их, не вылезая за часть бюджета и оставим ее фиксированной
а вторую часть бюджета будем динамически обновлять, оставляя только самые важные сгенерированные токены, где важность так же будет определяться по аттеншн скору
и вроде сохраняется концепция компрессии по чанкам, и в то же время присутствует постоянная адаптация из-за перевычислений скоров декодированных токенов
по их результатам конечно типо обгоняют, но кода нет и видимо не планируется
👀LINK
уже мы писали и про сжатие (например тут и тут), и про компрессию кв кэша в том числе, включая идею с ретривал головами и аттеншн синками
а авторы из китая этой статьи решили уточнить момент, что в основном при компрессии кэша происходит проверка на длинных контекстах как лонгбенч или иголка в сене
и, как оказывается, эта неполная картина скрывает факт того, что начинают хериться другие способности модели
- арифметика и language understanding (которые проверялись при помощи GSM8K & MMLU) начинают сбоить
- при том с уменьшением длины промпта просадка по качеству ощущается еще больше (имхо потому что и так становится меньше ключей/значений, за которые можно зацепиться, так мы еще и сверху их урезаем)
- так еще и по таскам, где сильная зависимость от промптированной информации (нельзя выехать за счет knowledge которая непосредственно присутствует в весах модели) очевидно наблюдается деградация с учетом пунктов выше
- но при этом дипсик чуть получше при этом всем выступает чем альтернативы в виде лламы
- еще выявлен эвиденс о том, что chunk-based методы компрессии медленнее деградируют при сравнении с другими → можно использовать этот факт (чтобы сделать папиру не только с результатами о том как что-то не получается у existing methods но и предложить свой хайповый сота момент)
назвали метод The ShotKV (Prefill-Decoding Separated Shot-aware KV Cache Compression), который проверяли на трех моделях 8б (в принципе как и другие методы компрессии): ллама 3.1 классическа, инструктированная и дипсик-р1-дистилл
идея такая - давайте для few-shot примеров оставлять статичный сжатый кв кэш, а именно расчитывать самые значимые примеры (по аттеншн скорам) и оставлять только их, не вылезая за часть бюджета и оставим ее фиксированной
а вторую часть бюджета будем динамически обновлять, оставляя только самые важные сгенерированные токены, где важность так же будет определяться по аттеншн скору
и вроде сохраняется концепция компрессии по чанкам, и в то же время присутствует постоянная адаптация из-за перевычислений скоров декодированных токенов
по их результатам конечно типо обгоняют, но кода нет и видимо не планируется
👀LINK
rizzearch
Can LLMs Maintain Fundamental Abilities under KV Cache Compression? уже мы писали и про сжатие (например тут и тут), и про компрессию кв кэша в том числе, включая идею с ретривал головами и аттеншн синками а авторы из китая этой статьи решили уточнить момент…
у нее походу кв кэш тоже нормально так сжали
OmniRL: In-Context Reinforcement Learning by Large-Scale Meta-Training in Randomized Worlds
не так давно снова упоминали ин-контекст рл, на этот раз авторы из китая попробовали отскейлить область по осям сбора данных и генерализации модели по распределению тасок (то есть быть способной к очень разным таскам адаптироваться)
для этого они сделали фреймворк, который назвали AnyMDP (папира пока только для полностью наблюдаемых марковских процессов принятия решений)
- представляет из себя довольно интересное явление в дискретном пространстве действий и состояний (есть и код под непрерывные пространства)
- где семплируют матрицу переходов, по которым далее так же рандомно пикают среднее и ковариацию для семплинга реварда из нормального распределения (теоретически это может покрыть любой MDP)
- и для того чтобы этот граф не был тривиальным (то есть задача имела какую-никакую сложность в рамках принятий решений), его дополнительно проверяют на связность (то есть из каждого состояния можно дойти до любого другого), диаметр матрицы смежности и на сложность процесса, которую определяют через разницу между Q функциями с разными параметрами gamma (0.99 & 0.5)
- ко всему этому добавляется сбор данных при помощи разных политик (q-learning, model-based, random, и noise distillation)
а далее к этому идет модель - трансформер через Gated Slot Attention, что-то типа чанкового аттеншнка как трансформер хл, который мы упоминали и здесь, но реализован через свои кернелы для линейного аттеншна (хотя есть и другие его вариации) + они так же упоминают и другие sequence models но почему-то никакие экспы сравнительные не добавили
во время обучения они в 3 этапа производят куррикулум лернинг
- warmup с фиксированным небольшим количеством состояний
- далее в датасет добавляются траектории с бОльшим количеством действий (я так и не понял и не увидел кстати как именно в дискретном сценарии они в модель пихают стейты бОльшей размерности + как потом учесть, что на евал тасках не будет происходить ООД момент)
- увеличение сек лена до гораздо бОльших размеров (с 8к до 64к), при том делают это в memory-efficient манере из-за чанковой и линейной природы аттеншна (градиент во время бекворд пасса сохраняется только внутри каждого чанка)
еще достоин внимания важный момент, что таргетные и входные действия получаются от 2 разных политик, reference policy & behaviour policy соответственно + дополняют входное действие от поведенческой политики понятием приора, которое интуитивно старается добавить надежность совершаемого действия. авторы добавляют это просто в контекст сразу перед действием в последовательности, в их экспах это просто айди, от какой политики идет на вход информация (одна из тех, которую я упоминал выше) + так же есть айди под UNK нужный для евала и дополнительного момента на генерализацию
по итогу появляется с такими модификациями ин-контекст рл как на новых тасках AnyMDP, так и, более того, на гимназиум средах - озере, клиффе и пендулуме, которые ну вообще никак не присутствовали на обучении (в каком-то смысле пересекается со свойствами для оффлайн рл, когда модель до этого видела википедию или синтетические игрушечные МДП)
так же они решили провести аблацию на то, что в гимназиум средах могут нормально выступать ЛЛМки - и это получается, что подтверждает тейк отсюда
👀 link, code
не так давно снова упоминали ин-контекст рл, на этот раз авторы из китая попробовали отскейлить область по осям сбора данных и генерализации модели по распределению тасок (то есть быть способной к очень разным таскам адаптироваться)
для этого они сделали фреймворк, который назвали AnyMDP (папира пока только для полностью наблюдаемых марковских процессов принятия решений)
- представляет из себя довольно интересное явление в дискретном пространстве действий и состояний (есть и код под непрерывные пространства)
- где семплируют матрицу переходов, по которым далее так же рандомно пикают среднее и ковариацию для семплинга реварда из нормального распределения (теоретически это может покрыть любой MDP)
- и для того чтобы этот граф не был тривиальным (то есть задача имела какую-никакую сложность в рамках принятий решений), его дополнительно проверяют на связность (то есть из каждого состояния можно дойти до любого другого), диаметр матрицы смежности и на сложность процесса, которую определяют через разницу между Q функциями с разными параметрами gamma (0.99 & 0.5)
- ко всему этому добавляется сбор данных при помощи разных политик (q-learning, model-based, random, и noise distillation)
а далее к этому идет модель - трансформер через Gated Slot Attention, что-то типа чанкового аттеншнка как трансформер хл, который мы упоминали и здесь, но реализован через свои кернелы для линейного аттеншна (хотя есть и другие его вариации) + они так же упоминают и другие sequence models но почему-то никакие экспы сравнительные не добавили
во время обучения они в 3 этапа производят куррикулум лернинг
- warmup с фиксированным небольшим количеством состояний
- далее в датасет добавляются траектории с бОльшим количеством действий (я так и не понял и не увидел кстати как именно в дискретном сценарии они в модель пихают стейты бОльшей размерности + как потом учесть, что на евал тасках не будет происходить ООД момент)
- увеличение сек лена до гораздо бОльших размеров (с 8к до 64к), при том делают это в memory-efficient манере из-за чанковой и линейной природы аттеншна (градиент во время бекворд пасса сохраняется только внутри каждого чанка)
еще достоин внимания важный момент, что таргетные и входные действия получаются от 2 разных политик, reference policy & behaviour policy соответственно + дополняют входное действие от поведенческой политики понятием приора, которое интуитивно старается добавить надежность совершаемого действия. авторы добавляют это просто в контекст сразу перед действием в последовательности, в их экспах это просто айди, от какой политики идет на вход информация (одна из тех, которую я упоминал выше) + так же есть айди под UNK нужный для евала и дополнительного момента на генерализацию
по итогу появляется с такими модификациями ин-контекст рл как на новых тасках AnyMDP, так и, более того, на гимназиум средах - озере, клиффе и пендулуме, которые ну вообще никак не присутствовали на обучении (в каком-то смысле пересекается со свойствами для оффлайн рл, когда модель до этого видела википедию или синтетические игрушечные МДП)
так же они решили провести аблацию на то, что в гимназиум средах могут нормально выступать ЛЛМки - и это получается, что подтверждает тейк отсюда
👀 link, code
🔥4 3
Hi Robot: Open-Ended Instruction Following with Hierarchical
Vision-Language-Action Models
недавно мы уже упоминали о том, что в лоб использовать VLM для задач принятия решений не совсем оптимально, ибо модели такие создавались не на эту задачу
и вот теперь physical intelligence выпустили свое видение на этот счет, только они решили сделать это в более-менее иерархичной структуре (состоящей из двух уровней)
авторы назали Hi Robot (hierarchical interactive robot) - если проводить с концепцией Канемана
- есть Система 1: быстрая политика (в данном случае политика на флоу матчинге, не фаст), она исполняет low-level действия в соответствии с low-level языковыми коммандами и остальной инфой в виде проприоцепции и картинок. назовем это low-level process. языковые промпты кстати итеративно подаются на вход модели, так и могут меняться по ходу исполнения задачи в зависимости от преференций человека
- а есть Система 2: high-level process, который заточен на VLM, получающий текстовый инпут непосредственно от пользователя, а далее в совокупности с другими входными данными модель составляет список низкоуровневых инструкций для Системы 1 + так же здесь есть text-to-speech модуль (кстати для него использовали апи от cartesia.ai, ее мы упоминали здесь), чтобы пользователь мог получать подтверждение о своих запросах, просьбу о пояснении или сообщение об исправлении ошибок (в истории интеракции робота с реальным миром)
и хоть Система 2 получается нагроможденее, ее можно инферить реже чем низкоуровневую Систему 1 → можно сделать так, чтобы они работали с разной частотой и быть (более-менее) в шоколаде
окей, идея звучит очень здраво и возможно даже очевидно (пока дело не доходит до практики), остается вопрос в составлении датасета
датасет же составлялся частично вручную, частично синтетически
- очень детальное описание задач (накрыть на стол, сделать сендвич, пошопиться продуктами) надо было разбивать на низкоуровневую последовательность задач
- а так же еще приправить это все какими-то условиями из world knowledge моделей (e.g. user: “Can you make a sandwich for me? I’m lactose intolerant”. robot: “Sure, I won’t put cheese on it.”)
- и добавить возможность предлагать (а затем стремиться сделать) частное из недетального промпта (например “I want something sweet” в качестве юзер промпта)
кода нет, да и датасета тоже
👀LINK
Vision-Language-Action Models
недавно мы уже упоминали о том, что в лоб использовать VLM для задач принятия решений не совсем оптимально, ибо модели такие создавались не на эту задачу
и вот теперь physical intelligence выпустили свое видение на этот счет, только они решили сделать это в более-менее иерархичной структуре (состоящей из двух уровней)
авторы назали Hi Robot (hierarchical interactive robot) - если проводить с концепцией Канемана
- есть Система 1: быстрая политика (в данном случае политика на флоу матчинге, не фаст), она исполняет low-level действия в соответствии с low-level языковыми коммандами и остальной инфой в виде проприоцепции и картинок. назовем это low-level process. языковые промпты кстати итеративно подаются на вход модели, так и могут меняться по ходу исполнения задачи в зависимости от преференций человека
- а есть Система 2: high-level process, который заточен на VLM, получающий текстовый инпут непосредственно от пользователя, а далее в совокупности с другими входными данными модель составляет список низкоуровневых инструкций для Системы 1 + так же здесь есть text-to-speech модуль (кстати для него использовали апи от cartesia.ai, ее мы упоминали здесь), чтобы пользователь мог получать подтверждение о своих запросах, просьбу о пояснении или сообщение об исправлении ошибок (в истории интеракции робота с реальным миром)
и хоть Система 2 получается нагроможденее, ее можно инферить реже чем низкоуровневую Систему 1 → можно сделать так, чтобы они работали с разной частотой и быть (более-менее) в шоколаде
окей, идея звучит очень здраво и возможно даже очевидно (пока дело не доходит до практики), остается вопрос в составлении датасета
датасет же составлялся частично вручную, частично синтетически
- очень детальное описание задач (накрыть на стол, сделать сендвич, пошопиться продуктами) надо было разбивать на низкоуровневую последовательность задач
- а так же еще приправить это все какими-то условиями из world knowledge моделей (e.g. user: “Can you make a sandwich for me? I’m lactose intolerant”. robot: “Sure, I won’t put cheese on it.”)
- и добавить возможность предлагать (а затем стремиться сделать) частное из недетального промпта (например “I want something sweet” в качестве юзер промпта)
кода нет, да и датасета тоже
👀LINK
👍1
Towards General-Purpose Model-Free Reinforcement Learning
Скотт Фуджимото может быть известен вам как один из пионеров современных рл методов - TD3 & TD3-BC, а так же он в принципе один из тех кто сильно продвинул область оффлайн рл (точнее model-free offline rl), когда она еще называлась батч рл
теперь, полагаю, ему надоело перебирать гиперпараметры под каждый бенчмарк чтобы vydrochit’ сота перформанс на каждом в отдельности, а захотелось отскейлить это дело созданием метода, который может выступать на около-сота уровне с фиксированным набором гиперпараметров для каждого бенчмарка
но если не хочется vydrachivat’ гиперпараметры → стоит vydrochit’ многие аспекты в пайплайне, как уже примерно делал первый автор улучшения TD3-BC → TD7 по state-action репрезентациям
только здесь пошло еще дальше: авторы добиваются такой генерализации (относительно перебора гиперпараметров) на model-free методе при помощи внедрения model-based идей (и не только) для получения cупер-пупер крутых репрезентаций
а именно
- состояния переводятся в латентное пространство (что проприоцепция, что пиксельные обсервейшны) при помощи энкодера + так же есть энкодер под состояния и действия одновременно (те самые state-action репрезентации)
- эти энкодеры обновляются в model-based стиле “анроллом динамики”: надо по горизонту восстанавливать награду, следующее латентное состояние и флаг терминальности (булево значение, которое показывает, закончился ли эпизод)
- при том последние 2 явления обучаются классически в мсе стиле, а награда восстанавливается по бинам при помощи twohot трансформации (она так же используется в дримере для предсказания реварда, да и в последнее время все чаще фигурирует как вид обучения критика через классификацию а не регрессию)
- критик же обучается через мульти-степ сумму наград по заранее выбранному горизонту
- а политика после всего этого оптимизируется в более-менее классическом стиле (разве что за нестандартный прием имхо можно посчитать гамбел софтмакс для дискретных действий)
- и это все в конце полируется тем, что семплы подаются на вход во время обучения при помощи буффера LAP, который выставляет приоритет при семплировании в соответствии с ошибкой критика (в терминологии рл это называется Temporal Difference error, TD error)
ну и вроде по экспериментам вырисовывается что-то интересное - хоть и не везде выбивается сота, но метод ощутимо находится на высоком уровне. и это все при том, что гиперпараметры не перебирались в отличие от других методов, хотя конечно остается вопрос точно ли авторы ничего не перебирали хотя бы чуть-чуть, или же как именно они решили выставить неизменяемую конфигурацию гиперов (например момент с exploration noise, значение которого они позаимствовали из предыдущих работ по d4rl, но не по атари)
а вообще в целом результаты довольно классные - еще бы такая концепция повторялась бы, если и обучать в мультитаск/мета стиле (ведь название статьи тоже на это может намекать в плане general-purpose RL), так еще и model-based это типа world models так что хайп бррррррр
👀LINK
Скотт Фуджимото может быть известен вам как один из пионеров современных рл методов - TD3 & TD3-BC, а так же он в принципе один из тех кто сильно продвинул область оффлайн рл (точнее model-free offline rl), когда она еще называлась батч рл
теперь, полагаю, ему надоело перебирать гиперпараметры под каждый бенчмарк чтобы vydrochit’ сота перформанс на каждом в отдельности, а захотелось отскейлить это дело созданием метода, который может выступать на около-сота уровне с фиксированным набором гиперпараметров для каждого бенчмарка
но если не хочется vydrachivat’ гиперпараметры → стоит vydrochit’ многие аспекты в пайплайне, как уже примерно делал первый автор улучшения TD3-BC → TD7 по state-action репрезентациям
только здесь пошло еще дальше: авторы добиваются такой генерализации (относительно перебора гиперпараметров) на model-free методе при помощи внедрения model-based идей (и не только) для получения cупер-пупер крутых репрезентаций
а именно
- состояния переводятся в латентное пространство (что проприоцепция, что пиксельные обсервейшны) при помощи энкодера + так же есть энкодер под состояния и действия одновременно (те самые state-action репрезентации)
- эти энкодеры обновляются в model-based стиле “анроллом динамики”: надо по горизонту восстанавливать награду, следующее латентное состояние и флаг терминальности (булево значение, которое показывает, закончился ли эпизод)
- при том последние 2 явления обучаются классически в мсе стиле, а награда восстанавливается по бинам при помощи twohot трансформации (она так же используется в дримере для предсказания реварда, да и в последнее время все чаще фигурирует как вид обучения критика через классификацию а не регрессию)
- критик же обучается через мульти-степ сумму наград по заранее выбранному горизонту
- а политика после всего этого оптимизируется в более-менее классическом стиле (разве что за нестандартный прием имхо можно посчитать гамбел софтмакс для дискретных действий)
- и это все в конце полируется тем, что семплы подаются на вход во время обучения при помощи буффера LAP, который выставляет приоритет при семплировании в соответствии с ошибкой критика (в терминологии рл это называется Temporal Difference error, TD error)
ну и вроде по экспериментам вырисовывается что-то интересное - хоть и не везде выбивается сота, но метод ощутимо находится на высоком уровне. и это все при том, что гиперпараметры не перебирались в отличие от других методов, хотя конечно остается вопрос точно ли авторы ничего не перебирали хотя бы чуть-чуть, или же как именно они решили выставить неизменяемую конфигурацию гиперов (например момент с exploration noise, значение которого они позаимствовали из предыдущих работ по d4rl, но не по атари)
а вообще в целом результаты довольно классные - еще бы такая концепция повторялась бы, если и обучать в мультитаск/мета стиле (ведь название статьи тоже на это может намекать в плане general-purpose RL), так еще и model-based это типа world models так что хайп бррррррр
👀LINK
❤8