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

Авторы:
@zzmtsvv
@maxnygma (AI4Science посты)
Download Telegram
nGPT: Normalized Transformer with Representation Learning on the Hypersphere

в связи с последним issue, было бы интересно сделать пост

относительно известный оптимизатор Ilya Loshchilov решил соптимизировать архитектуру гпт. а именно он убрал классические нормализации и добавил нормализасион по одной и той же гиперсфере (о Боже неевклидова геометрия пошла) + добавили обучаемый скейлинг фактор (ибо без него не заработало вообще никак судя по всему)

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

ну как будто что-то там действительно работает лучше - хоть один форвард по себе занимает намного больше времени (что так-то большое упущение для практических целей, но lucidrains смог подускорить), общее количество степов нужно меньше, при чем настолько, что он и по времени сходится быстрее обычной гпт (на малюсеньком скейле 0.5-1B параметров с не бОльшим датасетом)

ну а если чуть-чуть глубже копнуть по данному issue и ответе авторов, то очень-очень начинают терзать смутные сомнения, а как верить резам, когда якобы internal code не совпадает с опенсурсом внутри форварда трансформер блока (то есть мы должны поверить авторам, что для опенсурса они решили все с нуля переписать и совершить такую ошибку, нежели копипастнуть). но про презумцию надо помнить и потому верим 😊😊😊😊

👀LINK
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42
ADOPT: Modified Adam Can Converge with Any β2 with the Optimal Rate

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

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

но вот авторы-японцы (возможно) смогли это исправить и нескромно назвали метод ADaptive gradient method with the OPTimal convergence rate

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

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

к тому же тут есть тоже предположение в их теории - о том что второй момент градиентов ограничен (менее сильное предположение в сравнении с предыдущим о том, что первый момент тож ограничен)

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

а код оч классный, челики в сурс коде торча знатно так разбираются

👀LINK
32👍2
Hydra: Bidirectional State Space Models Through Generalized Matrix Mixers

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

и сделали! только теперь к добавлению matrix mixer shmixer терминологии они еще вставляют sequence aligned матрицы. вспоминают еще и другие способы subquadratic обработки токенов (типа тоэплица, вандермонда с чего-то там и тд), обобщают semiseparable матрицы (коими являются ссм) до квазисепарабельных (логичные нейминги) и таким образом делают двунаправленную некаузальную мамбу-2

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

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

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

👀LINK
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
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥53👍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
👍42
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
73