A Review on Metal Hydride Materials for Hydrogen Storage
Сегодня немного разнообразим повестку. Поговорим про энергетику, а если точнее, то водород💧
Водород штука интересная. Он может использоваться как источник энергии и для ее хранения. Полезно это для транспорта, ракетной индустрии, химической и многих других. Статья у нас проводит обзор способов хранения водорода в гидридах металлов. Гидрид - это соединение металла и водорода. Например, MgH2. Такое решение обладает рядом плюсов
🛡 Безопасно. Жидкий водород ядовитый и взрывается, как и аммиак, в котором его можно транспортировать. Гидриды - это металл и сделать с ним что-то опасное очень сложно. В основном они стабильны
💸 Достаточно дешево. Охлаждать водород до жидкого состояния очень энергозатратно. Нужно понимать, что, чем больше энергии мы тратим, тем менее выгоден метод
Из характиристик для гидридов нам интересны volumetric energy density и gravimetric energy density. Первое - количество энергии на единицу объема, а второе - количество энергии на кг
В статье рассказывают про применения. Тут есть интересные
🏘 P2P системы. По сути это дома и back-up системы. Скажем, если электричество вырубили, то удобно будет достать энергию из гидрида и топливного элемента с протон-обменной мембраной
🚛 Транспортировка. Тут есть машины, грузовики, поезда и даже подлодки. В последних кстати гидриды очень выгодные, так как дополнительный вес позитивно влияет на плавучесть. А вот в остальных есть разные ограничения на вес или объем
Касательно самих гидридов популярны решения на основе титана, магний и лантана. Опять же, у всех свои минусы и плюсы. Дешевый vs дорогой, тяжелый vs легкий, высокая скорость сорбции vs низкая и другие
В случае, если водородная энергетика получит mass adoption в будущем, мне кажется, что гидриды будут явной частью этой системы из-за своих полезных свойств в ряде применений🔥
👀 LINK
Сегодня немного разнообразим повестку. Поговорим про энергетику, а если точнее, то водород
Водород штука интересная. Он может использоваться как источник энергии и для ее хранения. Полезно это для транспорта, ракетной индустрии, химической и многих других. Статья у нас проводит обзор способов хранения водорода в гидридах металлов. Гидрид - это соединение металла и водорода. Например, MgH2. Такое решение обладает рядом плюсов
Из характиристик для гидридов нам интересны volumetric energy density и gravimetric energy density. Первое - количество энергии на единицу объема, а второе - количество энергии на кг
В статье рассказывают про применения. Тут есть интересные
🏘 P2P системы. По сути это дома и back-up системы. Скажем, если электричество вырубили, то удобно будет достать энергию из гидрида и топливного элемента с протон-обменной мембраной
🚛 Транспортировка. Тут есть машины, грузовики, поезда и даже подлодки. В последних кстати гидриды очень выгодные, так как дополнительный вес позитивно влияет на плавучесть. А вот в остальных есть разные ограничения на вес или объем
Касательно самих гидридов популярны решения на основе титана, магний и лантана. Опять же, у всех свои минусы и плюсы. Дешевый vs дорогой, тяжелый vs легкий, высокая скорость сорбции vs низкая и другие
В случае, если водородная энергетика получит mass adoption в будущем, мне кажется, что гидриды будут явной частью этой системы из-за своих полезных свойств в ряде применений
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤3👍3
Scaling Laws for Precision
потолок квантизации заказывали? нет? ну а Christopher Re (упомянутый нами тут и тут) решил попробовать его найти, да и вместе с этим вывести scaling laws по пути
ну и вот авторы обучили 465 лламм и гптq разных размеров, битности (3-16) и на разном количестве токенов. а точнее на разном отношении количества данных токенов к скейлу модели (настолько, что аж есть бешеные числа вплоть до 10^5)
все законы тем или иным образом походят на шиншиллу, просто потому что ею авторы и вдохновлялись, но где-то есть и зависимости, противоположные этому зверьку (опишем их текстом, а не формулами, чтобы совсем душно не было)
рассматривая более-менее классические методы квантизации, замечают по ним инсайты
- Post-training Quantization при обучении в бф16: самый главная находка заключается в том, что при скармливании бОльшего количества данных после определенного момента перформанс после квантизации начинает падать (у GPTQ) ⇒ если сразу знаем, что модельку надо будет квантизовать, не надо прям до талого фиттить в бф16
- Quantization-aware training только весов: размер модели стоит повышать прежде, чем увеличивать размер датасета (в шиншилле же обратное заключение)
- Low-precision training с квантизацией весов, активаций и KV-кэшей: то же, что и QAT + всплывает факт, что кэши легче всего компрессятся, веса похуже, ну и с активациями совсем тяжкая картина. а еще ошибки от компрессии этих 3 факторов в итоговой формуле scaling law независимы (что супер контринтуитивно имхо)
общий инсайт - вроде как 7 бит на параметр это compute-optimal precision
стоит так же помнить, что тут не учтены новые модные методы маминой подруги (как AQLM) и скейл намного меньше чем в экспах шиншиллы (в этой папире максимум 1.7B)
но в итоге получилось круто - и так было понятно интуитивно, что квантизовать модели бесконечное число раз невозможно (чтобы при этом перформанс не затухал), но теперь благодаря авторам у нас есть и численные характеристики такого вопроса
👀LINK
потолок квантизации заказывали? нет? ну а Christopher Re (упомянутый нами тут и тут) решил попробовать его найти, да и вместе с этим вывести scaling laws по пути
ну и вот авторы обучили 465 лламм и гптq разных размеров, битности (3-16) и на разном количестве токенов. а точнее на разном отношении количества данных токенов к скейлу модели (настолько, что аж есть бешеные числа вплоть до 10^5)
все законы тем или иным образом походят на шиншиллу, просто потому что ею авторы и вдохновлялись, но где-то есть и зависимости, противоположные этому зверьку (опишем их текстом, а не формулами, чтобы совсем душно не было)
рассматривая более-менее классические методы квантизации, замечают по ним инсайты
- Post-training Quantization при обучении в бф16: самый главная находка заключается в том, что при скармливании бОльшего количества данных после определенного момента перформанс после квантизации начинает падать (у GPTQ) ⇒ если сразу знаем, что модельку надо будет квантизовать, не надо прям до талого фиттить в бф16
- Quantization-aware training только весов: размер модели стоит повышать прежде, чем увеличивать размер датасета (в шиншилле же обратное заключение)
- Low-precision training с квантизацией весов, активаций и KV-кэшей: то же, что и QAT + всплывает факт, что кэши легче всего компрессятся, веса похуже, ну и с активациями совсем тяжкая картина. а еще ошибки от компрессии этих 3 факторов в итоговой формуле scaling law независимы (что супер контринтуитивно имхо)
общий инсайт - вроде как 7 бит на параметр это compute-optimal precision
стоит так же помнить, что тут не учтены новые модные методы маминой подруги (как AQLM) и скейл намного меньше чем в экспах шиншиллы (в этой папире максимум 1.7B)
но в итоге получилось круто - и так было понятно интуитивно, что квантизовать модели бесконечное число раз невозможно (чтобы при этом перформанс не затухал), но теперь благодаря авторам у нас есть и численные характеристики такого вопроса
👀LINK
👍4 2
QuIP#: Even Better LLM Quantization with Hadamard Incoherence and Lattice Codebooks
если хотите почувствовать фомо - авторы из корнелла за год смогли сделать 3 метода квантизации, каждый из которых улучшает предыдущий с математикой и эвристиками(и потому сильно так прибавляют здорового соревновательного аспекта авторам AQLM )
сейчас расскажем про второй - QuIP# (который по таймлайну и перформансу между QuIP и QTIP)
1. КуИП#, как и первый КуИП (который кстати теоретически оптимален для методов адаптивного раундинга), основываются на том факте, что веса в ллмках жестко дисбалансны по распределению и есть выбросы (которые оч сильно влияют на аутпуты) → плохо квантуется моделька. но позакону архимеда свойствам математики оказывается, что можно веса домножать на рандомные ортогональные матрицы, магнитуды будут растекаться более-менее равномерно по всем весам матрицы [т.е. эйгенвектора будут нормализованы и значения будут концентрироваться относительно 1/sqrt(in_features)]. и кстати говоря quadratic proxy objective с гессианом, который и минимизируют при квантизации, инвариантен относительно таких рандомных матриц. так что все супер ок
в первой работе они получали эти матрицы через кронекер матрицы, а в # версии через адамаровы (для которых даже отдельный сайт есть) - и быстрее вычислять, и качество не снижает. это называется incoherence pre- and post-processing
2. еще и накидывает в метод с решеткой векторную квантизацию (VQ), а не скалярную, чтобы квантовать веса не в пределах гиперкуба (когда идет округление к целому числу соответствующей битности), а в пределах шара. да и VQ не самый то и обычный гауссовский (к means), а по решетке E8 с оптимальным упаковыванием в группы по 8 весов. это может казаться контринтуитивно, тк квантовать весы распределенные по шару легче при помощи гауссиан по идее, но эмпирически это не так. приводят интересный инсайт, что выделение инфы на краю распределения (что и позволяет делать решетка, но не метод к средних), даже после incoherence processing, намного полезнее
3. завершают это все вишенкой на торте в виде доп файнтюна (который оценивается примерно 50 гпу-часами) который подсмотрели у AQLM: неквантованную модель тюнят на уровне трансформер блоков, а дальше уже минимизируют разницу между исходной моделью в фп16 и квантованной версией
экспы поставлены как обычно на перплексию. по сравнению с предыдущим методом еще написано многое на куда кернелах (которые могут быть оптимизированы еще больше, по заверениям авторов), по скейлу моделек еще все супер вкусно + инферится хорошо. по битностям на 2 3 4 вообще крышу сносит, но достигает парето-оптимальности при 3 битах, в то время как у AQLM это 2.5 бита
make RTX and colab great again, как говорится
но это еще все без PV-tuning & QTIP , про которые мы тоже скоро напишем
👀LINK
если хотите почувствовать фомо - авторы из корнелла за год смогли сделать 3 метода квантизации, каждый из которых улучшает предыдущий с математикой и эвристиками
сейчас расскажем про второй - QuIP# (который по таймлайну и перформансу между QuIP и QTIP)
1. КуИП#, как и первый КуИП (который кстати теоретически оптимален для методов адаптивного раундинга), основываются на том факте, что веса в ллмках жестко дисбалансны по распределению и есть выбросы (которые оч сильно влияют на аутпуты) → плохо квантуется моделька. но по
в первой работе они получали эти матрицы через кронекер матрицы, а в # версии через адамаровы (для которых даже отдельный сайт есть) - и быстрее вычислять, и качество не снижает. это называется incoherence pre- and post-processing
2. еще и накидывает в метод с решеткой векторную квантизацию (VQ), а не скалярную, чтобы квантовать веса не в пределах гиперкуба (когда идет округление к целому числу соответствующей битности), а в пределах шара. да и VQ не самый то и обычный гауссовский (к means), а по решетке E8 с оптимальным упаковыванием в группы по 8 весов. это может казаться контринтуитивно, тк квантовать весы распределенные по шару легче при помощи гауссиан по идее, но эмпирически это не так. приводят интересный инсайт, что выделение инфы на краю распределения (что и позволяет делать решетка, но не метод к средних), даже после incoherence processing, намного полезнее
3. завершают это все вишенкой на торте в виде доп файнтюна (который оценивается примерно 50 гпу-часами) который подсмотрели у AQLM: неквантованную модель тюнят на уровне трансформер блоков, а дальше уже минимизируют разницу между исходной моделью в фп16 и квантованной версией
экспы поставлены как обычно на перплексию. по сравнению с предыдущим методом еще написано многое на куда кернелах (которые могут быть оптимизированы еще больше, по заверениям авторов), по скейлу моделек еще все супер вкусно + инферится хорошо. по битностям на 2 3 4 вообще крышу сносит, но достигает парето-оптимальности при 3 битах, в то время как у AQLM это 2.5 бита
make RTX and colab great again, как говорится
👀LINK
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