Vintix: Action Model via In-Context Reinforcement Learning
не дипсиком единым жив рл, а всем исходящем из дуно живет отечественный In-Context RL
и авторы на сей раз решили сделать генералист агента как раз под ин-контекст рл. при том это актуально не только с точки зрения генералист агентов, ибо они по перформансу пока довольно далеки от чего-то разрывного, но и для ин-контекст рл, поскольку такая область пока ограничивается довольно игрушечными примерами в основном и одним доменом, внутри которого и происходит вариация в тасках
и из этого и рождается винтикс на основе ДимДимычей в виде AD, TinyLLaMa (откуда много из архитектуры бралось) и частично JAT (стоит упомянуть, что основной автор этого агента сейчас в основном занимается в хф трл и опен-р1)
в общей сумме тренились на 87 тасках в симуляторах (что очень мало для ин-контекст рл, где это количество от сотен до тысяч)
- двуручном роботе
- муджоко
- мета-ворлд
- индустриальном бенчмарке, где задачи по типу контроля промышленных турбин
поскольку акншы и обсервейшны в этих симуляторах разные, то для каждого использовались отдельные энкодеры/декодеры, чтобы подгонять под нужную размерность для трансформера + насколько я понял, каждый батч - семплы из одной среды (как это было сделано и в JAT)
данные собирали при помощи расшумления траекторий от политик ппо или взятых с JAT + обобщили эту идею на непрерывные действия
- посколькуо в изначальной папире этот метод предлагался в дискретном пространстве → реализовывался epsilon-greedy алгоритм, где действия политики сразу были оптимальны (был взят оракул)
- то здесь пришлось линейно интерполировать каждый раз между действием полиси и рандомным вектором. но при том сам коэффициент влияния шума пришлось подбирать нелинейным способом, чтобы уже в таких более-менее сложных задачах траектории обучения как датасет был “гладким”
тренировали каузальный трансформер в 300М параметров на 8 картах, что для рл сейчас более-менее. по итогу что-то да получилось - на трейн тасках есть прогресс получше JAT (где это уместно сравнивать) + если варьировать в трейн тасках конфигурацию среды (например в муджоко потыкать гравитацию или уровень вязкости), то агент может адаптироваться к таким изменениям, что довольно круто (авторы назвали это self-correction, в последнее время это слово часто всплывает)
когда речь доходит до тестовых тасок, которые вообще агент никак видеть не мог, то здесь становится погрустнее история. авторы связывают это с недостаточным скейлом (а ведь в первую очередь из-за него и появляются фаундейшн модели), который на самом деле и не настолько мал, но все равно видимо оказывается недостаточен (что коррелирует с фаундейшн в роботике)
👀 link, code coming soon (датасет тоже планируют релизить)
не дипсиком единым жив рл, а всем исходящем из дуно живет отечественный In-Context RL
и авторы на сей раз решили сделать генералист агента как раз под ин-контекст рл. при том это актуально не только с точки зрения генералист агентов, ибо они по перформансу пока довольно далеки от чего-то разрывного, но и для ин-контекст рл, поскольку такая область пока ограничивается довольно игрушечными примерами в основном и одним доменом, внутри которого и происходит вариация в тасках
и из этого и рождается винтикс на основе ДимДимычей в виде AD, TinyLLaMa (откуда много из архитектуры бралось) и частично JAT (стоит упомянуть, что основной автор этого агента сейчас в основном занимается в хф трл и опен-р1)
в общей сумме тренились на 87 тасках в симуляторах (что очень мало для ин-контекст рл, где это количество от сотен до тысяч)
- двуручном роботе
- муджоко
- мета-ворлд
- индустриальном бенчмарке, где задачи по типу контроля промышленных турбин
поскольку акншы и обсервейшны в этих симуляторах разные, то для каждого использовались отдельные энкодеры/декодеры, чтобы подгонять под нужную размерность для трансформера + насколько я понял, каждый батч - семплы из одной среды (как это было сделано и в JAT)
данные собирали при помощи расшумления траекторий от политик ппо или взятых с JAT + обобщили эту идею на непрерывные действия
- посколькуо в изначальной папире этот метод предлагался в дискретном пространстве → реализовывался epsilon-greedy алгоритм, где действия политики сразу были оптимальны (был взят оракул)
- то здесь пришлось линейно интерполировать каждый раз между действием полиси и рандомным вектором. но при том сам коэффициент влияния шума пришлось подбирать нелинейным способом, чтобы уже в таких более-менее сложных задачах траектории обучения как датасет был “гладким”
тренировали каузальный трансформер в 300М параметров на 8 картах, что для рл сейчас более-менее. по итогу что-то да получилось - на трейн тасках есть прогресс получше JAT (где это уместно сравнивать) + если варьировать в трейн тасках конфигурацию среды (например в муджоко потыкать гравитацию или уровень вязкости), то агент может адаптироваться к таким изменениям, что довольно круто (авторы назвали это self-correction, в последнее время это слово часто всплывает)
когда речь доходит до тестовых тасок, которые вообще агент никак видеть не мог, то здесь становится погрустнее история. авторы связывают это с недостаточным скейлом (а ведь в первую очередь из-за него и появляются фаундейшн модели), который на самом деле и не настолько мал, но все равно видимо оказывается недостаточен (что коррелирует с фаундейшн в роботике)
👀 link, code coming soon (датасет тоже планируют релизить)
❤6 3
FAST: Efficient Action Tokenization for Vision-Language-Action Models
зачем-то physical intelligence, которые делали pi0, себе второй домен забабахали pi.website, на котором запостили как они сделали токенизатор для робо действий
зачем? в принципе трансформер и оперирует в каждом своем слое над дискретными элементами (каждая голова каждого слоя интуитивно проталкивает только определенные токены дальше по сетке), а в роботике часто надо выпуливать многомерные непрерывные действия, так еще часто и с высокой частотой, а если еще пытаться решить достаточно сложную таску, то такую особенность становится невозможно игнорировать
ну и физикал интеллиженс пытался это решить как раз через флоу матчинг в прошлый раз, что более-менее и получилось (с нюансами), но они проработали и альтернативу в виде FAST
при том идея хороша тем, что построена она из привычных рабочих техник
- надо бы как-то эффективно сжимать временные ряды действий. можно бинаризовать - ок, но в случае высокой герцовки робота получается все больше бинов за все меньшее количество времени → медленный инференс. но можно вспомнить (или просто почитать предположение авторов), что траектории действий во времени являются все-таки гладкими, а значит и это можно использовать для компрессии
- lets go to the Discrete Cosine Transform! да, вот такой переход потому что это уже своего рода классика: будем получать наибольшее количество информации в низких частотах, а значит и можно будет сжимать очень многие высокие частоты)
- получим матрицу для каждого action chunk (о важности чего мы упоминали здесь), которую нам неплохо было бы представить в виде последовательности, чтобы потом использовать БПЕ (потому что скорее всего это тоже привычно и довольно удобно) → давайте флаттенить, да при том чтобы низкие частоты были в начале последовательности, а высокие (незначительные) в конце + допом сделаем scale-and-round операцию чтобы округлить до нулей все незначимое
- тогда и можно запускать бпе бррррр
примечательно еще то, что как будто такая идея может и расширяться за пределы обработки действий (а в принципе многомерных временных рядов)
по результатам он даже обгоняет первую версию их pi-модели с флоу матчингом. то есть (имхо) авторы пытаются дать эвиденс о том, что стоит по максимуму токенизировать все что только можно при работе с трансформерами прежде чем приступать к флоу матчингу (даже с трюками авторов по типу бета распределения версия с токенизатором обгоняет по результату, подтвердили на экспах где обучали оба метода до сходимости и где уравнивали бюджет компьюта)
при том это настолько хорошо вкладывается в пайплайн физикал интеллиженса, что они утверждают о возможности зеро-шота на DROID + там где происходит фейл на эпизоде, полиси делает не вообще полностью что-то рандомное
теперь к вопросам, которые появились
- перед DCT происходит нормализация в рейндж от - 1 до 1 на основе статистик датасета по первой и 99 квантили. FAST+, который они выпустили в опенсурс построен аналогичным путем и заявляет о своей универсальности. звучит немного странно с учетом такой нормализации. да, их датасет основан на многих роботах + 1млн траекторий
- но это все равно как будто слишком уникальное дело по поводу токенизации акншнов для робота + так же в экспериментах они говорят об низкой чувствительности к scale параметру перед округлением и вокаб сайзом для БПЕ → выбирают 10 и 1024. как будто второе число довольно-таки мало (особенно сравнивая с вокаб сайзом для лмок что не очень честно но хоть что-то), чтобы с удобоваримым пресижном сжимать действия,
но может я чего-то не понимаю в этой жизни и это довольно-таки интересный инсайт о природе рободействий в нашей реальности
👀 link, демки, code вроде выложили но там нету самой процедуры обучения токенизатора
зачем-то physical intelligence, которые делали pi0, себе второй домен забабахали pi.website, на котором запостили как они сделали токенизатор для робо действий
зачем? в принципе трансформер и оперирует в каждом своем слое над дискретными элементами (каждая голова каждого слоя интуитивно проталкивает только определенные токены дальше по сетке), а в роботике часто надо выпуливать многомерные непрерывные действия, так еще часто и с высокой частотой, а если еще пытаться решить достаточно сложную таску, то такую особенность становится невозможно игнорировать
ну и физикал интеллиженс пытался это решить как раз через флоу матчинг в прошлый раз, что более-менее и получилось (с нюансами), но они проработали и альтернативу в виде FAST
при том идея хороша тем, что построена она из привычных рабочих техник
- надо бы как-то эффективно сжимать временные ряды действий. можно бинаризовать - ок, но в случае высокой герцовки робота получается все больше бинов за все меньшее количество времени → медленный инференс. но можно вспомнить (или просто почитать предположение авторов), что траектории действий во времени являются все-таки гладкими, а значит и это можно использовать для компрессии
- lets go to the Discrete Cosine Transform! да, вот такой переход потому что это уже своего рода классика: будем получать наибольшее количество информации в низких частотах, а значит и можно будет сжимать очень многие высокие частоты)
- получим матрицу для каждого action chunk (о важности чего мы упоминали здесь), которую нам неплохо было бы представить в виде последовательности, чтобы потом использовать БПЕ (потому что скорее всего это тоже привычно и довольно удобно) → давайте флаттенить, да при том чтобы низкие частоты были в начале последовательности, а высокие (незначительные) в конце + допом сделаем scale-and-round операцию чтобы округлить до нулей все незначимое
- тогда и можно запускать бпе бррррр
примечательно еще то, что как будто такая идея может и расширяться за пределы обработки действий (а в принципе многомерных временных рядов)
по результатам он даже обгоняет первую версию их pi-модели с флоу матчингом. то есть (имхо) авторы пытаются дать эвиденс о том, что стоит по максимуму токенизировать все что только можно при работе с трансформерами прежде чем приступать к флоу матчингу (даже с трюками авторов по типу бета распределения версия с токенизатором обгоняет по результату, подтвердили на экспах где обучали оба метода до сходимости и где уравнивали бюджет компьюта)
при том это настолько хорошо вкладывается в пайплайн физикал интеллиженса, что они утверждают о возможности зеро-шота на DROID + там где происходит фейл на эпизоде, полиси делает не вообще полностью что-то рандомное
теперь к вопросам, которые появились
- перед DCT происходит нормализация в рейндж от - 1 до 1 на основе статистик датасета по первой и 99 квантили. FAST+, который они выпустили в опенсурс построен аналогичным путем и заявляет о своей универсальности. звучит немного странно с учетом такой нормализации. да, их датасет основан на многих роботах + 1млн траекторий
- но это все равно как будто слишком уникальное дело по поводу токенизации акншнов для робота + так же в экспериментах они говорят об низкой чувствительности к scale параметру перед округлением и вокаб сайзом для БПЕ → выбирают 10 и 1024. как будто второе число довольно-таки мало (особенно сравнивая с вокаб сайзом для лмок что не очень честно но хоть что-то), чтобы с удобоваримым пресижном сжимать действия,
но может я чего-то не понимаю в этой жизни и это довольно-таки интересный инсайт о природе рободействий в нашей реальности
👀 link, демки, code вроде выложили но там нету самой процедуры обучения токенизатора
Scalable-Softmax Is Superior for Attention
в прошлом году выходила интересная работа от дипмаинд, которая показывала проблему софтмакса в аттеншне при выходе на длинные “острые” последовательности
однако адекватного решения предложено толком не было кроме фита кривой энтропии, а в этой работе пацанчик в соло решил продолжить это дело
и придумал простую модификацию для софтмакса → просто домножать запросы в аттеншне на s * logn, где s - обучаемый скаляр для каждого слоя, а n - длина последовательности соответственно. назвал Scalable Softmax (SSMax)
и хоть такая формула выглядит интуитивно приемлемой - внедрение логарифмической зависимости под экспоненту чтоб замедлить затухание аттеншна (а и по формулам чел показывает что оно в принципе пропадает) - автор дополнительно провел экспы, встраивая более общее обучаемое аффинное преобразование, которое энивей моделирует лог зависимость от сек лена (есть правда вопросы по поводу того, что проводил он это на датасете с сек леном в 1024 максимум, но тут уж на что ресурсов хватило)
по скейлу автор тренировал в разных сетапах 168М ЛЛаму-2, в таком сценарии действительно наблюдается бОльшая стабильность относительно удлинения контекста, при том необязательно даже с самого начала обучать используя SSMax, а можно после претрена заменить обычный аттеншн на него (тогда никак на натренить параметр s и он везде эвристически заменяется на обратное от среднего лог сек ленов во время обучения, например от 1 до 1024)
по экспам в общем и целом так + по иголке в сене тоже что-то да вырисовывается (опять-таки сильные выводы делать не стоит из-за маленького скейла). отдельный респект хочется выделить парню за то что в соло смог так написать статью, еще и чтоб понятен четко был нарратив, и проведение экспериментов. с кодом была бы вообще вишенка на торте
ну а хоть и по скейлу экспы большого влияния не вносят, имхо пейпер все равно интересно почитать и запомнить от выкладок в формулах, которые там есть на животрепещущую тему
👀LINK
в прошлом году выходила интересная работа от дипмаинд, которая показывала проблему софтмакса в аттеншне при выходе на длинные “острые” последовательности
однако адекватного решения предложено толком не было кроме фита кривой энтропии, а в этой работе пацанчик в соло решил продолжить это дело
и придумал простую модификацию для софтмакса → просто домножать запросы в аттеншне на s * logn, где s - обучаемый скаляр для каждого слоя, а n - длина последовательности соответственно. назвал Scalable Softmax (SSMax)
и хоть такая формула выглядит интуитивно приемлемой - внедрение логарифмической зависимости под экспоненту чтоб замедлить затухание аттеншна (а и по формулам чел показывает что оно в принципе пропадает) - автор дополнительно провел экспы, встраивая более общее обучаемое аффинное преобразование, которое энивей моделирует лог зависимость от сек лена (есть правда вопросы по поводу того, что проводил он это на датасете с сек леном в 1024 максимум, но тут уж на что ресурсов хватило)
по скейлу автор тренировал в разных сетапах 168М ЛЛаму-2, в таком сценарии действительно наблюдается бОльшая стабильность относительно удлинения контекста, при том необязательно даже с самого начала обучать используя SSMax, а можно после претрена заменить обычный аттеншн на него (тогда никак на натренить параметр s и он везде эвристически заменяется на обратное от среднего лог сек ленов во время обучения, например от 1 до 1024)
по экспам в общем и целом так + по иголке в сене тоже что-то да вырисовывается (опять-таки сильные выводы делать не стоит из-за маленького скейла). отдельный респект хочется выделить парню за то что в соло смог так написать статью, еще и чтоб понятен четко был нарратив, и проведение экспериментов. с кодом была бы вообще вишенка на торте
ну а хоть и по скейлу экспы большого влияния не вносят, имхо пейпер все равно интересно почитать и запомнить от выкладок в формулах, которые там есть на животрепещущую тему
👀LINK
👍5🔥1
Forwarded from Vikhr models
⚡️ QVikhr-2.5-1.5B-Instruct-r — Наша новая компактная llm теперь еще и с GRPO этапом. За счет GRPO это теперь первая reasoning модель на русском языке с честным RL .
🔗 Карточка модели:
https://huggingface.co/Vikhrmodels/QVikhr-2.5-1.5B-Instruct-r
🔗 Карточка модели:
https://huggingface.co/Vikhrmodels/QVikhr-2.5-1.5B-Instruct-r
👍6🔥2
Flow Q-Learning
Сергей Левин уже довольно давно тыкается в применении диффузии в рл (как например более-менее фундаментально здесь или вообще довольно хайпово в роботике здесь) → дошел черед и до оффлайн (goal-conditioned) рл
ну и получилось это все реализовать у Seohong Park’a (который так же ответственен и за OGBench на котором и проводились экспы) через флоу матчинг в пространстве действий
но из-под коробки это все быстро не работает (и вероятно не очень-то хорошо и заводится) в связи с беквордом по времени (BPTT в связи с итеративным флоу семплингом), а потому из двух политик (акторов) рождаются две
1. flow policy, которая предиктит velocity field и итеративно расшумляет распределение действий из оффлайн датасета (behavioral cloning BC этакий)
2. и one-step policy, которая якобы за один шаг пытается сразу расшумить в действия, максимизирующие Q функцию (критика). получается лосс критика не будет проходить на обучении через бекпроп по времени что вполне классично и незатратно
интуитивно напоминает rectified flow, 1-ая политика обучается чисто на BC во флоу матчинг стиле через линейные пути и равномерное семплирование по времени, а 2-ой “одношаговый” актор максимизирует аутпуты критика и пытается в себя дистиллировать аутпуты flow policy
в принципе такой пайплайн на первый взгляд может быть трудноват, но в своей сути оказывается довольно минималистичен (в какой-то мере это даже бейзлайн для флоу матчинг сетапа, диффузионщики примерно такого же мнения). при том просто настолько, что сигнал таймстепов просто конкатенируют с другими инпутами (в более нагроможденных задачах имхо это стараются делать иначе)
так же с точки зрения диффузионной области может вызвать вопрос тот момент, что количество шагов семплирования не влияет сильно на итоговый перформанс, в отличие от коэффициента перед BC лоссом (что классично для оффлайн рл). ставят ли под вопрос такие моменты факт масштабируемости метода - хзхз
👀 paper, code
Сергей Левин уже довольно давно тыкается в применении диффузии в рл (как например более-менее фундаментально здесь или вообще довольно хайпово в роботике здесь) → дошел черед и до оффлайн (goal-conditioned) рл
ну и получилось это все реализовать у Seohong Park’a (который так же ответственен и за OGBench на котором и проводились экспы) через флоу матчинг в пространстве действий
но из-под коробки это все быстро не работает (и вероятно не очень-то хорошо и заводится) в связи с беквордом по времени (BPTT в связи с итеративным флоу семплингом), а потому из двух политик (акторов) рождаются две
1. flow policy, которая предиктит velocity field и итеративно расшумляет распределение действий из оффлайн датасета (behavioral cloning BC этакий)
2. и one-step policy, которая якобы за один шаг пытается сразу расшумить в действия, максимизирующие Q функцию (критика). получается лосс критика не будет проходить на обучении через бекпроп по времени что вполне классично и незатратно
интуитивно напоминает rectified flow, 1-ая политика обучается чисто на BC во флоу матчинг стиле через линейные пути и равномерное семплирование по времени, а 2-ой “одношаговый” актор максимизирует аутпуты критика и пытается в себя дистиллировать аутпуты flow policy
в принципе такой пайплайн на первый взгляд может быть трудноват, но в своей сути оказывается довольно минималистичен (в какой-то мере это даже бейзлайн для флоу матчинг сетапа, диффузионщики примерно такого же мнения). при том просто настолько, что сигнал таймстепов просто конкатенируют с другими инпутами (в более нагроможденных задачах имхо это стараются делать иначе)
так же с точки зрения диффузионной области может вызвать вопрос тот момент, что количество шагов семплирования не влияет сильно на итоговый перформанс, в отличие от коэффициента перед BC лоссом (что классично для оффлайн рл). ставят ли под вопрос такие моменты факт масштабируемости метода - хзхз
👀 paper, code