Pay Attention to Small Weights __Chao Zhou, Tom Jacobs, Advait Gadhikar, Rebekka Burkholz__ Статья: https://arxiv.org/abs/2506.21374 Какая-то интересная тема про природу вещей. Память давно уже одно из самых узких мест в работе с большими моделями. Даже если вы скачали модель на пиллиард параметров и она влезает в память вашего ускорителя, этого ещё не достаточно. При инференсе надо хранить активации, а при обучении и файнтюне ещё и градиенты и состояния оптимизатора. При использовании Adam, например, на N обучаемых параметров нужно иметь 3N ячеек памяти (там хранятся первые и вторые моменты). Есть разные подходы к оптимизации памяти, например, чекпойнтинг, квантование, выгрузка. Среди новых подходов есть низкоразмерные проекции градиентов (через SVD), применение Адама в этих новых пространствах, и проекция обратно в исходное пространство -- так работает GaLore (https://arxiv.org/abs/2403.03507). MicroAdam (https://arxiv.org/abs/2405.15593) оставляет top-k градиентов и использует error feedback для восстановления перформанса. Но памяти всё равно это всё требует достаточно. Предложенный новый метод тоже основан на идее отбора небольшого подмножества параметров для обновления, но он не требует градиентов для выбора параметров и не нуждается в error feedback. Работа основана на интересном наблюдении -- большие градиенты обычно связаны с весами малой магнитуды, что особенно сильно проявляется при файнтюнинге. Для экспериментов взяли модель типа BERT и датасет CoLA из GLUE, а также предобученный на ImageNet ViT-Large с файнтюнингом на CIFAR-10. Картинки с распределением весов и градиентов при файнтюнинге имеют форму звезды, с большими всплесками магнитуды градиентов в районе околонулевых весов. Видно и на CV, и на NLP задаче. При обучении с нуля это сильно менее выражено, но всё равно что-то заметно (см. рис.1). Эффект незаметен только на финальном классификационном слое, но этому могут быть объяснения (при файнтюнинге классификационная голова обычно инициализируется рандомно и обучается с нуля, ну и она должна адаптироваться к конкретной неуниверсальной задаче). Авторы предлагают два объяснения таким феноменам. Во-первых, после предобучения большие веса вероятно отвечают за какие-то важные фичи, которые меньше подвержены изменению при файнтюне. Малые же веса больше меняются под задаче-ориентированные фичи. Со случайно инициализированными весами (при обучении сети с нуля) это было бы не так. Что вроде логично. Во-вторых, оверпараметризация. Возможно, весов в модели и так с избытком, так что предобученные большие веса можно и не менять. Для исследования этого вопроса ввели метрику r в пространстве градиентов-весов. Для неё определяются top-k самых больших по магнитуде градиентов (g) и считается медиана соответствующих им весов (w, которые обучаемые параметры, не их градиенты). Затем она делится на максимум абсолютного веса среди bottom-k параметров по магнитуде градиента. Эта штука характеризует гиперболический тренд, если значение r низкое, то высокие градиенты соответствуют весам с малой магнитудой. На ViT-Tiny и ViT-Large для top 0.01% и bottom 80% весов значение r стабильно низко. По результатам авторами предлагается идея -- может быть магнитуда параметра, а не градиента, является более эффективным критерием для отбора подмножества весов для обновления при файнтюне? Далее посмотрели на два подмножества: top 0.001% с максимальным модулем градиента и bottom 10% по магнитуде веса. Пересечение довольно большое, но неполное, так что это не две стороны одной монеты -- разница в количестве между 0.001% и 10% гигантская, и остаётся что-то важное требующее больших градиенов. Но судя по визуалиации они всё равно не так уж далеко от центра картинки в нуле.