1015
Кайфули на каждый день Авторы: @zzmtsvv @maxnygma (AI4Science посты)
π∗0.6: a VLA That Learns From Experience
Давно меня не было😚😚😚
В последний раз про pi.website я писал, когда они сделали инпеинтинг для VLA с флоу матчингом (они уже успели и сделать его по классическому рецепту, обучаясь в inpainting-aware стиле). теперь же они над pi05 нафигачили то, что назвали pi06* (под звездочкой имеется в виду оффлайн рл)
Ну и скорее они надстроили не над pi05, а над pi06, где отличий немного (и мало деталей)
- гемма2 → гемма3 4B в качестве влм бекбона
- больше по параметрам флоу матчинг модуль для предикта действий
- больше датасет, качественнее промпты
- для эксперта действия теперь обрабатываются некаузальным аттеншном (и по идее тоже подаются в контекст вместе с языковыми и другими токенами)
- 5 шагов на инференсе вместо 10 в pi0 & pi05
А ключевой момент работы состоит в полной каше, но че то интересное все равно есть. Полагаю, авторы захотели обучить крутую multitask value функцию, на которой можно будет дотрениваться и получать результаты еще круче, но что-то пошло не по плану
- состоит эта value функция из меньшей влм с той же архитектурой, которая по обсервейшну и промпту выдает бины, чтобы предсказывать ретерны (сумму наград за часть эпизода, в данном случае это получается типа time-to-success)
- обучается она на многих тасках, чтобы потом через эту модель высчитывать advantage, который будет подаваться как условие в VLA
- VLA же обучается с этим advantage и всеми другими плюшками после SFT фазы + так же проводятся интервенции со стороны человека, чтобы чет поправить
- но не все так гладко: подаются не сами адвантаджи, а флаг, зависящий от трешхолда под каждую таску (превосходит ли адвантадж 30-ый или 40-ой перцентиль, в зависимости от того, какой этап обучения. кстати, в зависимости от этапа адвантадж тоже по-разному считается)
То есть, было: просто претрен на новых больших данных с бОльшей моделью (pi06)
Стало: претреним на мульти-таск сетапе value функцию → претрен на данных, где есть разметка advantage → дообучаем value под конкретную таску и затем дообучаем VLA на эту же таску с advantage разметкой → делаем роллаут моделей (и исправляем экспертными интервенциями, где надо) → дообучиваем value и VLA на обновленных данных (даггер стайл)
Назвали этот весь пайплайн recap, и теперь их робот может не просто круто сложить футболки, но еще и сделать эспрессо. круто! или нет? непонятно какой основной выхлоп - показали как много карточек они могут подкоптить своеобразным рецептом файнтюна? Генералистом здесь и не пахнет, так и в биттер лессон никак не укладывается, но укладывается в более яркие слоганы и демки от столь многообещающего стартапа
👀 paper, blog
Dynamic Chunking for End-to-End Hierarchical Sequence Modeling
меня упомянул Борис среди классных каналов, считаю своего рода успехом. более того, я был удостоен чести, что ко мне единственному придрались - по мне тоже ачивка ❤️ - за отсутствие заглавных букв
Ну, что ж..🤩
Вопрос токенизации для языковых (и не только) моделей стал более популярным после выхода Byte Latent Transformer (BLT), где токены заменялись на семантические “патчи”, которые разделялись предиктами отдельной модели (она предсказывала энтропию в авторегрессивном стиле) + SpaceByte использует “более натуральные” символы в английском для более семантичного разделения (e.g., /, :, ])
Но Альберт Гу, по его же словам, хотел чего-то более эстетичного и укладывающегося в end2end пайплайн - дифференцируемый чанкинг, который не только может быть применим и к языкам другой природы (китайский, код, днк), так еще и иметь интерпретируемость (и точно не содержать информацию о следующем байте)
И вот как сейчас выглядит версия H-Net с роутингом по аналогии МоЕ:
- Есть проекции q/k для каждого символа (чанка с предыдущей стадии), через которые определяется их схожесть
- Когда же между соседними репрезентациями наблюдается снижение в косинусном расстоянии (по трешхолду в 0.5), то считаем, что граница чанка определена
- Таким образом получаем и “токены” более осмысленно разграниченными, и длину последовательности сокращаем. При том за репрезентацию всего чанка берется первый эмбеддинг чанка (есть абляции на другие виды пулинга, результат не меняется)
- Далее основная сеть, которая суть заключает в себе миксеры на уровне последовательности по типу трансформер блока или мамбы2
- А дечанкинг (он же апсемплинг) дублирует репрезентацию чанка, пока не встретит новый, чтобы потом дублировать новый эмбеддинг с домножением на уверенность роутинг модуля
Все это приправляется EMA, STE и еще некоторыми добавлениями в архитектуру (доп нормализации и проекции, разные лернинг рейты под соответствующую глубину модулей) для стабилизации градиентного флоу в столь дискретном сетапе. Но, видимо, ничего не работает без load balancing как в МоЕ, который выставляет таргет количество символов, которое должно залетать в чанк (экспериментировали здесь с 6)
Первичные эксперименты выставили на длине в 8192 utf-8 символа по моделям в 760M & 1.3B + на китайском и коде проверили, сравнивали по FLOPS'ам с бейзлайнами (кстати с BLT нет результатов ибо они не захотели тратить время и компьют на трейн доп модели к основной). Визуализация границ чанков во многих местах выглядит интересно, часто попадает в нужные разделения, иногда граница лежит на какой-то хрени → не все так гладко и путь наименьшего сопротивления в обучении все еще ведет к костылям
Часть нарратива статьи еще посвящена, как мамба обыгрывает трансформер (ожидаемо от автора мамбы), учитывая предыдущий контекст с заменой аттеншна на ссм и все такое, но сейчас авторы больше смещены на концепцию гибрида (что вызывает вопросы насчет эстетики) из-за трейдоффа между ретривалом и эффективностью: аттеншн головы в тандеме с мамба блоками начинают выполнять функции ближе всего к ретривал головам
Есть еще интересная секция про то, как дистиллить BPE бекбоны в чанкинг архитектуры, чтобы не полетели эмбеддинги, завязанные под токены - добавляют лоссы на матчинг векторов со своим начальным состоянием и пропускают начала токенов через сеть. Но пока непонятно
Очень интересная работа, которая, конечно, оставляет больше вопросов (в хорошем смысле) - как много можно застакать эти слои чанкинга, что будет по превосходству мамбы если эксперименты проведет не фанат мамбы, критичен ли динамический сабсемплинг последовательной при трейне на бОльшем скейле, что по другим модальностям и все такое
👀 paper, code
Horizon Reduction Makes RL Scalable
берклийцы сделали бенчмарк OGBench для goal-conditioned RL, где не смогли решить сложные таски → надо что-то изменить, но что? сначала попробовали просто обучаться на бОльшем датасете и в принципе масштабироваться, как делали это в других областях, что решало проблему
We also note that our 1B-sized datasets contain about 1M trajectories and 10M atomic behaviors in manipulation environments, which is similar or even larger than one of the largest robotics datasets to date
Model-Preserving Adaptive Rounding
Альберт Тсенг может быть вам знаком по методам квантизаций qtip, quip/quip# и обучении ллм в mxfp4 , но не такому как quartet. он снова сделал квантизацию и получил алгоритм YAQA (Yet Another Quantization Algorithm)
GPTQ/LDLQ и AWQ методы производят квантизацию через прокси лосс разницы между активациями для отдельного слоя - layerwise mse + там присутствует гессиан для каждого слоя, который можно выразить через layer_input.T @ layer_input
здесь авторы возвращаются к более общей формулировке минимизации КЛ дивергенции между аутпутами оригинальной и сжатой моделями, выраженной через второй порядок → встает опять вопрос как посчитать более грамотно гессианы для каждого линейного слоя, которые все равно будут огромными из-за размерностей в современных ллм → надо снова аппроксимровать
используются те факты, что гессиан КЛ = fisher information matrix, которую можно эмпирически посчитать через gradient_loss.flatten() @ gradient_loss.flatten().T (один бекворд пасс) + произведение кронекера эквивалетно произведению с рангом 1, что можно получить через hessian-vector products, которые опять-таки хорошо компануются с бекворд пассом, упомянутым ранее, а следовательно и FSDP
вот так авторы и приближают оригинальный гессиан - через несколько итераций (до 3, power iterations) кронекер матрицами. при том они выводят 2 способа А и В
- А: дешевле (30 гпу-часов для 10В модели на 20М токенах), смещен, ниже разброс
- В: подороже (50 гпу-часов на 120М токенах), несмещен, но выше разброс → выше качество
второй получается лучше тем, что в нем нет предположения о независимости токенов внутри последовательностей (градиенты высчитываются по последовательностям). однако вариант А все равно получается лучше существующих методов в аппроксимации гессиана
также поскольку в сравнении с оригинальным LDLQ в учет идет не только фидбек от входных фичей (активаций), но еще и от выходных фичей, ибо оптимизируется end2end кл дивергенция оригинальной модели, то авторы расширяют понятие адаптивного округления → получаем, что LDLQ - частный случай YAQA
по экспериментам - проверяются на лламе и гемме, где к yaqa используют квантизатор qtip и домножение на матрицы Адамара для сглаживания. по всем битрейтам примерно на треть деркзо бьет все, что есть. точнее - все, с чем сравнивались, ибо насчет PV-Tuning & AQLM есть вот такой не менее дерзкий комментарий
We do not directly compare to PV-Tuning since there are no public PV-Tuning models with either the QTIP or INT4 quantizer. However, LDLQ with the QTIP quantizer already outperforms PV-Tuning with the learnable AQLM quantizer on Llama 3.1, so we expect YAQA with QTIP to outperform PV-Tuning as well
🚀 У меня вышла новая статья!
Первые полгода с копейками работы над ИИ в квантовой химии подытожились статьей Electrostatics from Laplacian Eigenbasis for Neural Network Interatomic Potentials, или же Φ-Module
Одна из центральных задач квантовой химии - предсказание энергии молекулы. Энергия определяет структуру, стабильность, а также связана с целым рядом важных свойств, таких как энергия ионизации, поляризуемость, разница HOMO-LUMO и другие. Традиционные методы квантовой химии работают точно, но долго и дорого. Поэтому сейчас активно развивается тренд на использование нейронных сетей (нейронных потенциалов), которые могут решать такие задачи намного быстрее
Однако многие нейронки для квантовой химии не обладают возможностью корректно оценивать дальнодействующие взаимодействия, такие как электростатика, возникающая между атомами на больших расстониях. Эти взаимодействия очень важны, особенно в биомолекулах значительных размеров, где они сильно влиять на энергию
В статье предложен метод, позволяющий быстро и дешево добавить электростатику в абсолютно любой нейронный потенциал!
🧬 Работу уже взяли на воркшоп ICML 2025 по генеративной биологии!
А код уже есть на гитхабе https://github.com/dunnolab/phi-module ⭐️
Больше деталей в комментариях ⬇️📎
VLAs that Train Fast, Run Fast, and Generalize Better
yet another work from физикал интеллиженс
на этот раз авторы побольше углубились в вопрос ускорения обучения модели с улучшением генерализации не столь больших VLM (3B) → VLA: влмки не нацелены напрямую на решение задач принятия решений, но если в лоб тюнить их под такое, то могут происходить
- дестабилизация обучения при сочленении модуля на предикт действий с влм
- проблемы с knowledge transfer при тюне бекбона на роботику
- при том еще и хотелось бы получать быстрый инференс, а не как обычно вот это все. в данном случае речь идет про предикт действий с помощью флоу матчинга, а не привычного для трансформера token-level prediction (π0-FAST может предиктить акшн чанк в секунду примерно за 750 мс на RTX4090, что может сильно замедлять траекторию движения)
→ можно ли более удобным способом объединить две концепции - привычного для трансформера обучения предикта токенов и быстрого (10 Гц vs 1.3 Гц) инференса непрерывных действий при помощи флоу матчинга - более удобным образом, чем это делали в pi0.5? а там делали так, что в процессе обучения повышали значимость ФМ лосса при одновременном обучении на уровне токенов и непрерывных векторов
сейчас же авторы ответили на этот вопрос разделением флоу градиентов - раз трансформер хорошо учится на предикт токенов, ok, let it be, но давайте обучать тоже ФМ модуль и просто не вливать ее градиенты в бекбон VLM, которую мы будем заставлять сходиться на предикт языковых комманд и tokenized actions
профит? судя по всему, да, если смочь такое аккуратно реализовать через стоп-градиент операции и грамотно делать аттеншн маску (а она в таких мультимодальных робо делах не просто каузальная), где дискретные FAST действия и непрерывные не могут аттендиться друг на друга, чтобы не происходил лик, который не будет присутствовать непосредственно при инференсе
метрики выросли, латенси упала, по демкам (тем, которые предоставляют авторы для сравнения с предыдущими методами) выглядит получше, разве что они ничего не выложили в их репозиторий по этой работе, где по сути больше влияет инженерная имплементация под такую не breakthrough, но содержательную мысль
👀 paper, blog
К нам часто поступают запросы на темы для курсовых, дипломных или сайд-проектов вне рамок стажировки или устройства к нам в коллектив.
Поэтому мы выделили это в отдельную программу, ☀️ sun city, она предназначена для взаимодействий такого рода.
Resident Research Scientist — AI4Science
Вы будете заниматься написанием статей на top-tier конференции (NeurIPS, ICLR, ICML), проводить эксперименты и предлагать новые исследовательские идеи.
Чем предстоит заняться?
- Постановка экспериментов и написание research proposals
- Направления работы: protein-ligand docking, generative AI for proteins, AI для квантовой химии
- Или собственный трек в AI4Science, который вам интересен
Про вас
- Плюсом будет знание DL (GNNs, генеративные модели)
- Опыт в естественных науках (структура белков, биофизика, квантовая химия)
- Работа с PyTorch, RDKit, ASE.
SRT-H: A Hierarchical Framework for Autonomous Surgery via Language Conditioned Imitation Learning
команда из Стенфорда и Джона Хопкинса продолжают масштабирование делать робота для хирургических операций на базе трансформера
сейчас авторы в бОльшей степени конкретизировали задачу - удаление желчного пузыря (холецистэктомия) через формализацию в общей сложности 17 таск (захват желчного пузыря, клипсы, разрези для протока и артерии)
а масштабирование пайплайна же состоит в добавлении иерархичности моделек - high- & low-level policies с возможностью человека вмешаться в процесс инференса. вторая модель предиктит непосредственно действия, в то время как первая (высокоуровневая) предиктит следующую фазу операции, инструкцию на коррекцию движения и нужно ли сейчас попытаться повторить неудачное ранее действие (recovery mode)
собрали в качестве демонстраций 17 часов траекторий с 34 желчными пузырями свиней двумя аннотаторами, при том отобрали такие семплы, где нет проблем с определением желчного протока и артерии (они не пересекаются и артерия не разветвляется). обучали 100 часов на RTX 4090, 72M параметров, еще добавили DAGger (Dataset Aggregation), когда собранные политикой семплы отмечаются экспертными действиями + во время обучения high-level политика предиктит инструкцию на 0.5 секунды вперед для того, чтобы она лучше справлялась с переходами между тасками
выглядит круто, при том на 8 новых пузырях репортят 100% success rate без вмешательства человека
👀 paper, demo
Reinforcement Learning with Action Chunking
action chunking все больше набирает популярность из-за своей практичности в имитейшн лернинг - можно сказать, что для роботики это уже необходимый элемент в пайплайне, включая pi
и вот сергей левин со своими студентами нацелился на применение этого трюка для классического пайплайна actor-critic q-learning’a. формулы обобщаются при том довольно интуитивно понятно и перестают быть марковскими - везде одно действие меняется на чанк действий, что даже улучшает понятие n-step return’a, где использовали для расчета значения критика n шагов вперед вместо одного, ибо тогда убирается смещение off-policy действий этого чанка действий
имплементится это через диффузию и флоу матчинг с ограничением на приверженность behavior policy в offline и offline-to-online рл сетапах. при том в сетапе с диффузией КЛ ограничение между политиками реализуют через best-of-n sampling (BFN), а с флоу матчингом сшивание идей происходит более гладко, без изменений в ключевых местах алгоритма FQL. экспы проводят над RLPD, где внутри онлайн степов батч состоит наполовину из онлайн и оффлайн буфферов
при том предикт по чанкам улучшает момент эксплорейшна, ибо, как спекулируют авторы, действия внутри одного чанка становятся более связанными относительно друг друга (в сравнении с 1-step методами) → при инференсе можем ожидать поведение получше + sample efficiency
пока и остается большой вопрос по поводу размера чанка, который сильно влияет на перформанс (на OGBench 10 действий в одном чанке у авторов лучше чем 25), а по балансу между рантаймом и sample efficiency неплохо было бы перепроверить, действительно ли обучение происходит быстрее бейзлайнов
👀 paper, code
A Stable Whitening Optimizer for Efficient Neural Network Training
один из reflection.ai неожиданно выпустил статью насчет оптимизации, а неожиданно потому, что он пхд студент широко известного в особо узких кругах Сергея Левина, который занимается рл и роботикой
а поконкретнее, главный автор углубился в недостатки шампуня, который аккумулирует multiplication products градиентов для их ортогонализации, что эмпирически помогает в обучении, и недавний muon можно интерпретировать как accumulation-free shampoo
но все же в изначальной идее аккумулируют не совсем продукты от градиентов, а обратные матрицы от них → довольно дорогая операция, которую делают периодически, не на каждом шаге → получаем дополнительный нетривиальный гиперпараметр, который сильно влияет на все обучение (период обновления)
так еще и в принципе сама идея этого обновления на основе предыдущих градиентов чревата нестабильностью из-за выбросов → надо как-то нормализовывать, что делает уже мыло в более лучшей манере поэлементно, но так памяти нужно больше
главный автор аккуратно противопоставляет этому свой пропозал
- раз мы уже выяснили, что ортогонализация градиентов полезна, так может удастся в нужное место вставить еще и матричное разложение (второй вечный трюк в линале): будем хранить в кэше не инвертированные градиенты, а спектральное разложение от этих сущностей. интуитивно храним собственные вектора, которые соответствуют направлениям ковариации градиентов (hello pca) → более стабильные репрезентации
- и уже в eigen пространстве в качестве нормализации можно использовать просто взятие знака, что теоретически ограничивает спектральную норму и все получается гуд, так еще и гиперпараметр периода обновления кэша менее остро влияет на сходимость
- но (видимо без этого не заводится, cheap trick) надо добавлять EMA для параметров модели
в качестве методологии идут сравнения с адамом (сколько нужно обучать по времени и количеству шагов в сравнении с этим оптимизатором), хоть и к нему в последнее время появляются вопросы, как, например, про стабилизацию норм активаций в сравнении с AdamW. и последний, кстати, присутствует в ридми в качестве примера, хоть и в этой статье про него ни слова
все эксперименты проводились с джаксом на скейле в 160М трансформере по языковому моделированию + классификация картинок + диффузия, при том в сетапе упоминаются 32 карты TPUv3 (не особо понятно куда модель такого размера разворачивать на столько карт). есть так же и имплементация на пайторч, но на ней эксперименты не проводились (и в том числе нету понимания, останется ли торчовский код стабильным при раскатке на несколько карт)
в целом muon выглядит все равно намного вкуснее - и идейно, и по экспериментам, которые уже есть у коммьюнити, поскольку ничего кешировать не надо, и декомпозиция сильно на картину не повлияет, но пока нету муон пайторч кода, которым можно было бы жечь несколько карточек одновременно (фсдп или еще как) + еще автор демонстрирует формулу, как скейлить лр от адама к этому оптимизатору
👀 paper, code
Real-Time Execution of Action Chunking Flow Policies
снова pi
на этот раз авторы подметили, что action chunking, который так часто используют в роботике для оптимизации предикта на инференсе, но в риал тайме это вызывает паузы на стыке между чанками → замедляется работа модельки и, более того, меняется распределение при евале из-за таких дерганий и замедлений
авторы же призадумались
- было бы неплохо в асинхронной манере исполнять действия и при том постепенно подгатавливать следующие хоть как-то
- еще и желательно в training-free манере для моделек, многие из которых на флоу матчинге или диффузии построены
→ интуицию диффузионного инпейтинга (аутпейнтинга) можно попробовать переместить на этот домен, если аккуратно совместить с операциями роботик контроллера
- pi фиксируют model_prediction_time // controller_sampling_period действий, от которых вместе со следующими инпутами генерируются следующие действия
- еще и применяется софт маскинг (который много где применяют в задачах инпейнтинга) через экспоненциальное затухание значений. делают это опять-таки для непрерывности генераций и smooth траекторий движений робота
- + для этого затухания добавляют еще гиперпараметр (потому что без него подогнанного не так стабильно работает как идейно хотелось бы)
помимо реальных примеров со складыванием вещей, посуды и проводами так же авторы много экспериментов сделали на кинетиксе, где сделали 12 бенчмарков (10 сред от оксфордских авторов и 2 свои, на которых данные собрали при помощи RPO для имитации робо траекторий)
по результатам обыгрывает методы, которые стараются так же в асинхронный инференс (посредством наивноого разделения генерации либо усреднения), то есть результат ухудшается медленее при увеличении гэпа между выполнением и подготовкой
сидел с открытым ртом от того, как мастерски эти клешни зажгли спичку, а потом и свечку
👀 paper, code for kinetix, demo