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

Авторы:
@zzmtsvv
@maxnygma (AI4Science посты)
Download Telegram
Vision-Language Models Provide Promptable Representations for Reinforcement Learning

беркли и дипмаинд решили использовать VLM в довольно нетривиальном виде для рл - вместо того, чтобы подавать эмбеддинги влмки в ответ на текстовый запрос о действии напрямую в политику, авторы привносят то, что они называют promptable representations через текст и CoT, которые пытаются раскрыть world knowledge из модели.

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

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

почему так? да потому что в принципе VLM (в данном случае InstructBLIP и PrismaticVLM) не обучены на то, чтобы принимать действия в среде (иначе это было бы VLA), а следовать инструкциям и отвечать на вопросы о картинках → так давайте и спрашивать про визуальную составляющую и семантику наблюдаемых действий, нежели сходу просить предпринять действие (это пусть решает политика)

модно-молодежно: показывают и оч жесткий sample-efficiency по сравнению с сотой на майнкрафте, мол в 10 раз меньше данных надо. верим, но имеем в виду что довольно сильно рaзнятся методы обучения

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

👀 link, code (в виде юпитер ноутбука мда)

если что VLM используют активно и в роботике - например здесь
3
Спасибо, что вы с нами😌😋

Вторая пикча позаимствована
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
14👍33
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
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
🔥43
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
👍1