Comments 13
Добрый день!
Может ли помочь замена слоёв на линейные регрессии при запуске на более слабом железе?
Можно ли получить доступ к такой модели?
Мы предполагаем, что это связано с уменьшением обобщающей способности, то есть рост линейности – это то, что приводит к катастрофическому забыванию. Грубо говоря, модель постепенно откидывает старые знания, которые не пригодились во время файнтюнинга (RLHF не исключение).
Ого, да все DeepLearning было придумано чтобы 100+ слоев хотя-бы обучить (пусть и на манер хеш-таблицы) :).
И тут оказывается у нас не сверхоптимальное сжатие всего интернета в 2b параметрах (и вся нелинейная магия только в 70M моделях? )))
ACL - могёте xD
" Грубо говоря, модель постепенно откидывает старые знания, которые не пригодились во время файнтюнинга (RLHF не исключение)."
Ну собственно это логично. Модель старается максимизировать функцию и оптимизировать трудозатраты-результат. Если при донастройке выявляется все более простая зависимость, то зачем тратить ресурсы? Ведь цель этих моделей дать то, что Вы хотите услышать.
Это очень похоже на то, с чем столкнулись OpenAI и ChatGPT. В конце прошлого года были жалобы, что ИИ стал лениться и просто выкидывать ссылки и выдержки с той же вики. То есть модель начинает оптимизироваться под пользователей и их запросы, искать наиболее легкий вариант ответа
Очень интересное поведение. Как вы думаете, есть ли у данного эффекта зависимость от n-мерности пространства модели?
Не указывает ли это на то, что модели в большинстве своём априори имеют избыточную ёмкость?
С другой стороны не очень понял, как замена блока на линейный слой работает, ведь в блоках есть умножение...
Не указывает ли это на то, что модели в большинстве своём априори имеют избыточную ёмкость?
А что есть избыточность?
С точки зрения меня как индивида, моё умение бросать баскетбольный мяч в кольцо -- избыточно, ведь из 280к часов жизни, я бросал мяч в кольцо, примерно, 600 часов. Это, примерно, 0.2% времени. Но именно набор этих умений приобретённых за десятые доли жизни делает меня тем, кто я есть.
На счет влияния "положительной" регуляризации действительно интересно. Чисто с точки зрения математики штраф за линейность должен приводить к усложнению "ландшафта" функции потерь толкая ее в локальные оптимумы, что не есть гуд. Оптимизация же на линейность наоборот заставляет модель оптимизировать траектории, заставляя ее сразу формировать генерализованные представления везде где только возможно (мб она таким образом как раз немного проскакивает этап формирования слишком больших внутренних размерностей и сразу учиться "думать" широкими абстракциями, по крайней мере во внутренних слоях), чтобы ее на выходе не сильно функция потерь дубиной по башке била :)
А вообще круто конечно, огромный респект за движение в сторону XAI в целом и ковыряние в таких монстрах как современные LLM в частности.
А что с перформансом при замене ~15% слоев? Вырастает ли он, если да, то на сколько? А при увеличении нелинейности что будет с перфом (чисто интуитивно: чем выше нелинейность, тем сложнее считать производную, т.е. перформанс должен замедлиться)?
А что если не заменять слой трансформера целиком на линейный, а вместо этого использовать сумму выходов двух слоёв - линейного и маленького трансформерного (как раз для описания нелинейностей, доля которых небольшая?)
Возможно нелинейность все равно возникнет из за неточностей и округления float чисел. На основе этого можно тоже нейросети делать
Большие языковые модели гораздо линейнее, чем мы думали