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

Авторы:
@zzmtsvv
@maxnygma (AI4Science посты)
Download Telegram
Revisiting In-Context Learning with Long Context Language Models

дипмаинды уже эмпирически показывали более-менее интуитивно понятные принципы ин-контекст лернинга, а в этот раз другие авторы и KAIST чуть побольше просветили вопрос с точки зрения вместимости большого контекста

раз контекст больше → примеров больше можно вместить → какие примеры лучше всего запихнуть в промпт?

прошлая работа рассматривала с точки зрения рейнфорса и ансупервайзд техник, а здесь другое

- либо брать на рандоме
- либо по релевантности (которая измеряется через эмбеддинги)
- по диверсити (которая идет через те же эмбеддинги и кластеризацию)
- ну и вставлять либо в куррикулум подходе (от легкого к сложному), либо сразу все сложное

ничего значительно лучше не работает рандома на переводе, суммаризации, ризонинге и даже классификации (на гемини семействе и лламе)

но все-таки результаты можно улучшить - не надо отходить от рандомного взятия примеров (тем более что так их можно закешировать), а давайте нагенерим еще примеров и потом просто отфильтруем → получаем прирост в резах. правда дипмайнд как обычно не разглашает, как именно они производили фильтрацию, кроме как магической фразы
To do this, we design a function f

+ добавляют трешхолд (как это делали здесь, но еще добавили оценку по Ликерту)

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

👀LINK
Forwarded from TGStat Bot
Итоги года для канала "rizzearch" от @TGStat
🔥26
Спасибо, что вы с нами!
🔥143
Training-Free Long-Context Scaling of Large Language Models

в связи с репортом квена 2.5, напишем обзор на Dual Chunk Attention (DCA), который как раз в семействе новых моделей и используется

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

и это делают через разбитие аттеншна по двум (трем) чанкам (держим в голове что chunk_size < pretrain_seq_len)

- intra-chunk attn: в нем позиционируем информацию внутри искусственно обособленного чанка → позиции принимают значения от 0 до chunk_size - 1 включительно. при том стоит уточнить также, что такой рейндж значений сохраняется у всех ключей. (0, 1 … pretrain_seq_len - 1) % chunk_size → (0, 1, … chunk_size - 1, 0, 1, … ) (и при том необязательно pretrain_seq_len % chunk_size == 0)
- inter-chunk attn: с первым “внутричанковым аттеншном” еще понятно что делать, но вот как выходить за его пределы, чтобы не поломать основную концепцию каузальности (q_position_ids ≥ k_position_ids) и в перформансе не потерять? да авторы просто для таких queries делают позиционные индексы как pretrain_seq_len - 1. и все? и все (почти).
- достаточно грубая концепция интер-чанка приводит к successive-chunk attn: чтобы поболе сохранить понятие локальности для аттеншна, между соседними чанками для первых pretrain_seq_len - chunk_size позиций значение pretrain_seq_len - 1 заменяют на [chunk_size, chunk_size + 1, … pretrain_seq_len - 1]

ну и это все в совокупности составляет DCA, совместимый с флеш аттеншном и не требующий файнтюна ввиду того, что численное распределение позиционных индексов не изменилось (ибо chunk_size < pretrain_seq_len)

ну и, рассуждая постфактум что такое используется в квене 2.5 вместе с YaRN, можно заключить, что папира вес имеет (в том числе и по их результатам в перплексии, иголке в сене и ин-контекст евалу)

👀LINK
👍332
Zero-Shot Reinforcement Learning from Low Quality Data

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

но дело не заканчивается только на Forward-Backward (FB) Representations, которые относятся к successor measures, интуитивно замеряющие дисконтированную “будущую покрытость” (future occupancy) состояний при данной полиси

а авторы так же замеряют расширение идеи successor measures → (universal) successor features, которые фокусируются более на репрезентациях, способных (по ходу обучения на практике) смоделировать эту дисконтированную сумму (покрытость) фичей. а универсальными эти фичи (USF) делают тем, что их расширяют на семейство политик (вместо одной конкретной). обычно это выглядит так что просто полиси pi дополнительно параметризуется латентом z

ну в сущности и то, и то позволяет разъединить динамику среды/сред в наиболее общем смысле этого слова от ревард функции, которую тем не менее потом на тест тайме при помощи определений и формул можно выразить через FB и USF

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

окей, а что по резам? на не очень данных обгоняет стандартные зеро-шот + goal-conditioned подходы (Goal-Conditioned IQL) + на стандартных “больших” датасетах перформанс не херит. есть разве что вопросы (скорее всего касательно future work или теории за successor stuff), что фичи обгоняют measures на ExoRL & D4RL as well. интуитивно, как и заверяют авторы, это может быть связано с тем, что фичи просто более универсальны (латент семплируется, будучи не приуроченным никак к датасету и оттого степень покрытия просто может быть больше)

очень хочется респектануть за ответственный подход к экспам - и код есть, и interquantile mean посчитан, и в аппендиксе многое расписано чтобы код дополнить, и даже есть отдельный пункт с тем, что у них не получилось - а именно ни оффлайн, ни онлайн файнтюн не дали прироста по сравнению с тем как если тренироваться с нуля

👀LINK
1
RDT-1B: a Diffusion Foundation Model for Bimanual Manipulation

снова фаундейшн по роботике, на этот раз от Tsinghua для двух лапищ

многое окликается из синонимичных работ, что используется и здесь, но есть и свои идеи

- тоже диффузия с action chunking’ом (только без флоу матчинга в этот раз)
- в качестве текстового энкодера - т5 (что стандартно в принципе для мультимодальных моделей с диффузией) + siglip как визуал энкодер. во время обучения заметили, что одновременно их использовать не имеет смысла (визуал токены перебивают текстовые своим количеством), потому энкодеры эти используются через раз
- в претрен датасете (1млн+ траекторий, 46 датасетов с разными роботами, 21 террабайт) разные герцовки по действиям → дополнительный инпут для модели для генерализации
- для того чтобы объединить не только разные герцовки, но и разные физические действия, авторы сделали unified action space, который маппит действия со всех роботов в физические величины (из соображений проприоцепции) + паддят эти самые векторы не просто 0 (который с точки зрения физики что-то да может обозначать и портить данные), а с добавлением ван-хот энкода о том, паддинг ли это или действительное действие “0”
- так же делятся своими архитектурными соображениями по поводу QK Norm & RMSNorm (не столь новы для диффузионных трансформеров, но тот факт, что у них сходятся эмпирические наблюдения может подтверждать, что результатам можно доверять)

крутой аппендикc, даже расписаны пропорции в семплировании разных опенсурс датасетов + код вроде тоже ничего (файлы по отдельности, а так есть проблемы с запуском). еще есть вопрос по поводу файнтюна - претренили они 1млн степов на 48 H100, а потом файнтюнили на бимануальных данных 130к степов. оукей, только чекпоинт для файнтюна брали с 500к степов, зачем упоминать о том что обучали миллион степов тогда, если последний чекпоинт (который видимо деградировал из-за того, что 1б параметров относительно мало для такого размера датасета) был хуже чем используемый?

👀LINK
2
Real-World Humanoid Locomotion with Reinforcement Learning

к next-token prediction уже появлялись вопросы (здесь и особенно здесь), теперь расскажу про супер крутое и супер простое применение, в данном случае next action prediction

авторы сделали каузальный трансформер (по размерам составляет 1.4 млн параметров и контекстное окно в 16 токенов, скорее всего, из соображений памяти) для гуманоида, который

- оперирует над последовательностью типа obs_0-action_0-obs_1-action_1-…obs_N → action_N
- может ходить вперед-назад и поворачиваться за один таймстеп (это называется omnidirectional locomotion)
- в зеро-шот формате сразу адаптируется от симулятора к реальным оч разным условиям (и здесь не без помощи хорошей тренировочной гпу энвы IsaacGym + авторы перепроверяли перформанс на энве от производителя)

а обучали через дистилляцию (почти) обычного рл агента, которого прогоняли через тысячи энв с разной конфигурацией - ходить-вперед назад или поворачиваться на плоской поверхности, рельефной или подъемах. этот агент оперирует над МДП, то есть ему на вход поступает инфа о параметрах среды. когда идет дистилляция в трансформер, которая выглядит как кл дивергенция вместе с добавленным рл лоссом (к нему есть вопросы по поводу ревард функции и остального, что не раскрывают авторы) для самого малюсенького трансформера, то на вход итоговой модели поступают только обсервейшны. обучение происходило через классик актор-критик ппо

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

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

👀 paper, blog
👍73