Почему в языковых моделях важны "сверхвеса"?

В больших языковых моделях обнаружены единичные параметры, так называемые «сверхвеса», которые оказывают непропорционально большое влияние на качество генерируемого текста. Удаление всего одного такого параметра может привести к генерации бессмысленного текста, в то время как удаление тысяч других, даже более крупных по величине параметров, влияет на качество модели незначительно. Эти «сверхвеса» являются ключом к пониманию и оптимизации работы таких сложных систем.
Почему в языковых моделях важны "сверхвеса"?
Изображение носит иллюстративный характер

«Сверхвеса» порождают «сверх-активации» — аномально большие значения активаций, которые распространяются по множеству слоев модели. Эти «сверх-активации» являются следствием «сверхвесов» и играют критическую роль в функционировании модели. Исключение «сверхвеса» приводит к резкому снижению величины «сверх-активации», подчеркивая причинно-следственную связь между ними. Идентификация и анализ «сверх-активаций» позволяют глубже понять механизм работы «сверхвесов».

Интересно, что местоположение «сверхвесов» в архитектуре модели специфично и может быть определено с помощью несложного метода, не требующего дополнительных данных. Этот метод основан на анализе распределения активаций на входе и выходе слоя mlp.down_proj. Обнаруженные координаты «сверхвесов» сохраняются даже после тонкой настройки модели, что позволяет использовать их для оптимизации моделирования и квантования.

Особое внимание следует уделять «сверхвесам» при квантизации моделей. Сохранение «сверхвесов» или их обработка с большей точностью, по сравнению с остальными параметрами, значительно улучшает качество модели после сжатия. Учёт «сверхвесов» позволяет создавать более компактные и эффективные модели, что важно для применения в условиях ограниченных вычислительных ресурсов. Этот подход является конкурентоспособным с другими современными методами квантования, такими как SmoothQuant.


Новое на сайте

20854Как дешёвые Android-смартфоны превращаются в чужие прокси? 20853В Индии имя звонящего появится на экране вместе с номером 20852Как проверить готовность команды к звонку с клонированным голосом? 20851Уязвимости MarkLogic: делегированные права могли открыть путь к администраторскому... 20850Как GitHub закрыл лазейку, угрожавшую тысячам npm-пакетов? 20849Hirudo подменяет банковские приложения, чтобы обойти их защиту 20848Как Vghost превратил старую ошибку Linux в путь к root? 20847Уязвимости в PAN-OS и Cisco Secure Email Gateway уже используют атакующие 20846Как уязвимость GitLab могла открыть сервер для чужого кода? 20845Уязвимость SAP Cloud SDK могла отправить OAuth2-секреты злоумышленнику 20844Уязвимость в Nextcloud открыла путь к веб-оболочкам на серверах 20843Смогут ли малые ИИ-модели превратить бытовую технику в ботнет? 20842Пять уязвимостей NGINX: кому грозит риск и как закрыть его 20841Тайный диктофон в OpenAI: что утверждают следователи 20840Как проверять уязвимость входа, не заходя дальше дозволенного?
Ссылка