ProcrustesGPT
В репозитории опубликован код ProcrustesGPT — подхода к сжатию больших языковых моделей, который опирается на структурированные матрицы и ортогональные преобразования весов. Авторы используют тот факт, что выход трансформера не меняется, если внутри слоя повернуть скрытое пространство ортогональной матрицей и соответствующим образом скорректировать скип-соединения. Рассматриваются два семейства представлений: суммы произведений Кронекера и так называемые GS-матрицы, обобщающие известные Monarch-структуры. Эксперименты на моделях OPT и Llama2 показывают, что при сжатии порядка 14–36 % по числу параметров ProcrustesGPT даёт меньшую потерю качества, чем SliceGPT и другие методы без дообучения, как по перплексии на WikiText2, так и по нулевому обучению на задачах ARC, HellaSwag, PIQA и WinoGrande. Особенно заметен выигрыш на моделях Llama2, где средняя точность после сжатия остаётся близкой к исходной и существенно превосходит альтернативы. Работа демонстрирует, что грамотно подобранные ортогональные преобразования могут сделать структурированные разложения практичным инструментом сжатия LLM без дополнительного обучения. Код может быть полезен исследователям сжатия нейросетей, инженерам, внедряющим LLM в ресурсно-ограниченные среды, и разработчикам, работающим со структурированными матричными разложениями.
статья | код
Post #130
711