QTIP: Quantization with Trellises and Incoherence Processing
итак, корнелловскую квантизацию уже упоминали, теперь надо разобрать их последний на данный момент метод
здесь они и и далее продолжают идею QuIP# и векторной квантизации, чтобы квантовалось все внутри шара а не гиперкуба + добавляют инсайт о том, что чем больше размер группы при такой квантизации, тем лучше (что связано с гауссовскими вкусностями), но при этом желательно сохранять все-таки низкую битность при этом
и так появился Trellis Codebook Quantization (TCQ), который основан на концепции trellis coding, где закодированная последовательность (каждый элемент может принимать 2^num_bits значений) представляется не в виде полносвязного графа, по которому происходит блуждание, а в виде неполносвязного :troll:
каждая вершина соединяется только 2^k ребрами с другими вершинами. при k < num_bits расход памяти меняется так: seq_len * num_bits → num_bits + (seq_len - 1) * k. немного можно подумать и понять что в определенных сценариях это выгоднее
и чтобы это все не выполнялось слишком долго и не хранить весь такой граф, они делают bit-shift trellis со связями между вершинами с разницей на бит (битовый сдвиг), перед этим еще для диверсити или чего-то такого они рандомно миксуют ребра для приведения их к примерно гауссовому распределению (получают это либо LCG и 2-3 гпу инструкциями, либо обучают кодбук)
а сама треллис решетка оптимизируется по витерби
в итоге авторы заверяют, что ultra-high-dimensional метод для квантизации, где оценка по мсе близка к теоретически минимальной, работает
по экспам вроде как вырывается вперед что на 2, что на 4 битах (при том на 4 битах без просадки) по сравнению с их методами + AQLM & PV-Tuning, но это надо уточнять ибо они могли налажать с воспроизведением яндексовских статей (3 версии как никак именно из-за сравнения с этими методами, если вы знаете побольше то поделитесь, интересно почитать)
оверолл очень даже круто получилось - и мозги вправляет повспоминать старые концепции типа витерби или треллиса + авторы в совокупности с этим выдают много инсайтов о том, а как же все это оч хардвейрно устроено и как оптимизировать
👀LINK
итак, корнелловскую квантизацию уже упоминали, теперь надо разобрать их последний на данный момент метод
здесь они и и далее продолжают идею QuIP# и векторной квантизации, чтобы квантовалось все внутри шара а не гиперкуба + добавляют инсайт о том, что чем больше размер группы при такой квантизации, тем лучше (что связано с гауссовскими вкусностями), но при этом желательно сохранять все-таки низкую битность при этом
и так появился Trellis Codebook Quantization (TCQ), который основан на концепции trellis coding, где закодированная последовательность (каждый элемент может принимать 2^num_bits значений) представляется не в виде полносвязного графа, по которому происходит блуждание, а в виде неполносвязного :troll:
каждая вершина соединяется только 2^k ребрами с другими вершинами. при k < num_bits расход памяти меняется так: seq_len * num_bits → num_bits + (seq_len - 1) * k. немного можно подумать и понять что в определенных сценариях это выгоднее
и чтобы это все не выполнялось слишком долго и не хранить весь такой граф, они делают bit-shift trellis со связями между вершинами с разницей на бит (битовый сдвиг), перед этим еще для диверсити или чего-то такого они рандомно миксуют ребра для приведения их к примерно гауссовому распределению (получают это либо LCG и 2-3 гпу инструкциями, либо обучают кодбук)
а сама треллис решетка оптимизируется по витерби
в итоге авторы заверяют, что ultra-high-dimensional метод для квантизации, где оценка по мсе близка к теоретически минимальной, работает
по экспам вроде как вырывается вперед что на 2, что на 4 битах (при том на 4 битах без просадки) по сравнению с их методами + AQLM & PV-Tuning, но это надо уточнять ибо они могли налажать с воспроизведением яндексовских статей (3 версии как никак именно из-за сравнения с этими методами, если вы знаете побольше то поделитесь, интересно почитать)
оверолл очень даже круто получилось - и мозги вправляет повспоминать старые концепции типа витерби или треллиса + авторы в совокупности с этим выдают много инсайтов о том, а как же все это оч хардвейрно устроено и как оптимизировать
👀LINK
π0: A Vision-Language-Action Flow Model for
General Robot Control**
robot foundational models go brrrr
Sequioa Capital и многие другие крутые компании решили влить деньги в ресерчеров Беркли, и таким образом появился physical intelligence
и что же они решили сделать в первую очередь (для публики) - робота с VLM и акшн моделью под капотом, которые натренили на 10к часах по 68 таскам, собранными 7 разными другими роботами
ВЛМка основана на гемме, а вот в качестве акнш эксперта решили нетривиально для рл и роботики выбрать Diffusion Transformer (DiT) на основе флоу матчинга. таким образом предиктятся действия не авторегрессивно, а вся последовательность (в этом случае 50 действий) сразу, что имхо решает проблему с разными герцовками во время обучения от датасетов под разных роботов (с чем уже боролся Сережа Левин) и убирает проблему накопления ошибки (которую мы упоминали и здесь)
но с флоу матчингом тоже не все так просто - (1) его делают 10 степов (и я не нашел объяснения почему именно столько но им видимо норм) + (2) таймстеп семплят из Бета распределения, а не равномерно, ибо они чувствуют что обсервейшны для роботики много более информативны в ограничении действий для совершения нежели high res картинки в ограничении текстового промпта. спорное заявление, но у них возможно по-другому и не работает, потому воспримем это заявление как эмпирический эвиденс
файнтюнятся на 20+ тасках, где даже аутперформят впоследствии методы которые были заточены конкретно для них, вот вам и реально фаундейшн возможности
залипательные видосы, не считая все классические моменты по ускорению роботов, остается смотреть дальше в своего рода фильтрацию данных, ибо, как и авторы сами заверяют, они (почти) напихали все подряд в трейн и начали обучать, а что насчет взвешивания, численного выражения диверсити или прочего - еще предстоит выяснять
есть еще вопросы, насколько применимы недавние рассуждения Суцкевера к фаундейшн претрейн в роботике, ибо там и много-много других проблем, которые можно бесконечно решать. we’ll see
👀 link, blog
General Robot Control**
robot foundational models go brrrr
Sequioa Capital и многие другие крутые компании решили влить деньги в ресерчеров Беркли, и таким образом появился physical intelligence
и что же они решили сделать в первую очередь (для публики) - робота с VLM и акшн моделью под капотом, которые натренили на 10к часах по 68 таскам, собранными 7 разными другими роботами
ВЛМка основана на гемме, а вот в качестве акнш эксперта решили нетривиально для рл и роботики выбрать Diffusion Transformer (DiT) на основе флоу матчинга. таким образом предиктятся действия не авторегрессивно, а вся последовательность (в этом случае 50 действий) сразу, что имхо решает проблему с разными герцовками во время обучения от датасетов под разных роботов (с чем уже боролся Сережа Левин) и убирает проблему накопления ошибки (которую мы упоминали и здесь)
но с флоу матчингом тоже не все так просто - (1) его делают 10 степов (и я не нашел объяснения почему именно столько но им видимо норм) + (2) таймстеп семплят из Бета распределения, а не равномерно, ибо они чувствуют что обсервейшны для роботики много более информативны в ограничении действий для совершения нежели high res картинки в ограничении текстового промпта. спорное заявление, но у них возможно по-другому и не работает, потому воспримем это заявление как эмпирический эвиденс
файнтюнятся на 20+ тасках, где даже аутперформят впоследствии методы которые были заточены конкретно для них, вот вам и реально фаундейшн возможности
залипательные видосы, не считая все классические моменты по ускорению роботов, остается смотреть дальше в своего рода фильтрацию данных, ибо, как и авторы сами заверяют, они (почти) напихали все подряд в трейн и начали обучать, а что насчет взвешивания, численного выражения диверсити или прочего - еще предстоит выяснять
есть еще вопросы, насколько применимы недавние рассуждения Суцкевера к фаундейшн претрейн в роботике, ибо там и много-много других проблем, которые можно бесконечно решать. we’ll see
👀 link, blog
Kinetix: Investigating the Training of General Agents through Open-Ended Physics-Based Control Tasks
продолжение истории, связанной с около In-Context RL и наметкам по фаундейшн рл моделям
оксфордская FLAIR лаба ююю запилила свой open-ended симулятор для получения general agents. наподобие XLand-MiniGrid’a, только здесь не гридворлд а physical control со своим движком 2д движком Jax2D
правила энвы просты - есть моторы (и трастеры, которые тоже моторы но чуть другой интерфейс), зеленый объект должен коснуться синей части среды (или объекта) без затрагивания красной. к такому сетапу, кстати, можно свести и привычные энвы (муджоко, лунарлэндер, картпол и тд) и тестироваться на них, что и делают авторы
реализуют же своего generalist agent через трансформер, который на входе кушает фичи по массе, трению и повороту → эмбедят полигоны, круги, стык и трастер + так же учитывают фичи от соединенных шейпов (и здесь не обходится без месседж пассинга по стыкам и трастерам). и все это делают без позиционного кодирования, чтобы получить инвариантность в перестановках
трейн датасет составляют, просто рандомно генерируя и потом отбирая по недавней оксфордской концепции learnability, где происходит баланс между тем, чтобы уровень был выполнимым, но не слишком легко для модели на данном этапе
и этого оказывается очень даже достаточным (по крайней мере для их физического сетапа), чтобы смочь решать тестовые классические (и не очень) энвы на уровне лучше чем агенты табула раса. однако лучше все-таки потюнить для того, чтобы получать более-менее нормальный success rate
👀LINK
продолжение истории, связанной с около In-Context RL и наметкам по фаундейшн рл моделям
оксфордская FLAIR лаба ююю запилила свой open-ended симулятор для получения general agents. наподобие XLand-MiniGrid’a, только здесь не гридворлд а physical control со своим движком 2д движком Jax2D
правила энвы просты - есть моторы (и трастеры, которые тоже моторы но чуть другой интерфейс), зеленый объект должен коснуться синей части среды (или объекта) без затрагивания красной. к такому сетапу, кстати, можно свести и привычные энвы (муджоко, лунарлэндер, картпол и тд) и тестироваться на них, что и делают авторы
реализуют же своего generalist agent через трансформер, который на входе кушает фичи по массе, трению и повороту → эмбедят полигоны, круги, стык и трастер + так же учитывают фичи от соединенных шейпов (и здесь не обходится без месседж пассинга по стыкам и трастерам). и все это делают без позиционного кодирования, чтобы получить инвариантность в перестановках
трейн датасет составляют, просто рандомно генерируя и потом отбирая по недавней оксфордской концепции learnability, где происходит баланс между тем, чтобы уровень был выполнимым, но не слишком легко для модели на данном этапе
и этого оказывается очень даже достаточным (по крайней мере для их физического сетапа), чтобы смочь решать тестовые классические (и не очень) энвы на уровне лучше чем агенты табула раса. однако лучше все-таки потюнить для того, чтобы получать более-менее нормальный success rate
👀LINK
👍5 2
Compressing Large Language Models using Low Rank and Low Precision Decomposition
про квантизацию корнелла уже писали здесь и здесь, стенфорд тоже постарался не отставать
только они решили подойти со стороны объединения низкоранговости и лоу пресижна: W ~= Q + LR (для каждого sub), где Q получаем через LDLQ (который экивалентен OPTQ, он же GPTQ) из QuIP#, а L и R с заранее выбранным рангом итеративно обновляем друг за другом вместе с квантизацией
инициализируют эти матрицы через svd, при том на каждом так называемом outer iteration. outer iterations - сколько раз запускать LDLQ, inner iterations - сколько раз внутри каждой внешней итерации аппроксимировать L & R. при том это 2 гипера, что немножко как будто weird, но видимо сценария лучше и не придумать в таком сетапе
квантизация всех матриц кстати все равно происходит не без помощи E8 решетки, так и до этого еще веса на ортогональные рандомные домножают, все как по QuIP#
но основной импакт метода в том, что дальше можно тюнить в ЛоРА режиме только две лоуранговые матрицы → сохранение по памяти и (видимо) легче тренить в пресижне в 16 бит
по перформансу вроде как обыгрываем этот метод (но тут перплексия as always, неидеальность которой очень хорошо чувствует один из наших читателей), хоть и average bits чуть больше, но на 70б сравниваются с КуИП# будучи не файнтюня его + по времени где-то чуть-чуть побольше обучается (по заверениям авторов КуИП# примерно 50 гпу-часов, в то время как здесь 59) + еще есть вопросы как они меряли throughput - почему на сек лене 1?
так же еще есть момент, что появляется 3-4 параметра к каждой матрице весов (даже не каждому слою или блоку, в том же трансформер леере может находиться query, key, value, out, gate, up, down, что так-то много). и может outer & inner iterations можно зафиксировать для всех, то гипер в ранге матрицы (и потом ранг с которым надо файнтюнить) желательно по науке подбирать для каждой матрицы. а тут уже появляются проблемы, ибо в дело вмешивается каждый раз итеративная квантизация
в целом может и при дальнейшем развитии может выстрелить, низкоранговость (которую любят в стенфорде) часто выглядит красиво и прикольно, только пока имхо практически не перебивает то, что уже есть
👀LINK
про квантизацию корнелла уже писали здесь и здесь, стенфорд тоже постарался не отставать
только они решили подойти со стороны объединения низкоранговости и лоу пресижна: W ~= Q + LR (для каждого sub), где Q получаем через LDLQ (который экивалентен OPTQ, он же GPTQ) из QuIP#, а L и R с заранее выбранным рангом итеративно обновляем друг за другом вместе с квантизацией
инициализируют эти матрицы через svd, при том на каждом так называемом outer iteration. outer iterations - сколько раз запускать LDLQ, inner iterations - сколько раз внутри каждой внешней итерации аппроксимировать L & R. при том это 2 гипера, что немножко как будто weird, но видимо сценария лучше и не придумать в таком сетапе
квантизация всех матриц кстати все равно происходит не без помощи E8 решетки, так и до этого еще веса на ортогональные рандомные домножают, все как по QuIP#
но основной импакт метода в том, что дальше можно тюнить в ЛоРА режиме только две лоуранговые матрицы → сохранение по памяти и (видимо) легче тренить в пресижне в 16 бит
по перформансу вроде как обыгрываем этот метод (но тут перплексия as always, неидеальность которой очень хорошо чувствует один из наших читателей), хоть и average bits чуть больше, но на 70б сравниваются с КуИП# будучи не файнтюня его + по времени где-то чуть-чуть побольше обучается (по заверениям авторов КуИП# примерно 50 гпу-часов, в то время как здесь 59) + еще есть вопросы как они меряли throughput - почему на сек лене 1?
так же еще есть момент, что появляется 3-4 параметра к каждой матрице весов (даже не каждому слою или блоку, в том же трансформер леере может находиться query, key, value, out, gate, up, down, что так-то много). и может outer & inner iterations можно зафиксировать для всех, то гипер в ранге матрицы (и потом ранг с которым надо файнтюнить) желательно по науке подбирать для каждой матрицы. а тут уже появляются проблемы, ибо в дело вмешивается каждый раз итеративная квантизация
в целом может и при дальнейшем развитии может выстрелить, низкоранговость (которую любят в стенфорде) часто выглядит красиво и прикольно, только пока имхо практически не перебивает то, что уже есть
👀LINK
🔥3❤1