От GaLore к WeLore: Как низкоранговые веса неравномерно возникают из низкоранговых градиентов
From GaLore to WeLore: How Low-Rank Weights Non-uniformly Emerge from Low-Rank Gradients
July 15, 2024
Авторы: Ajay Jaiswal, Lu Yin, Zhenyu Zhang, Shiwei Liu, Jiawei Zhao, Yuandong Tian, Zhangyang Wang
cs.AI
Аннотация
Современные модели больших языков (LLM) состоят из матриц с миллиардами элементов, что делает их хранение и обработку довольно требовательными в терминах вычислительных ресурсов и использования памяти. Будучи значительно большими, такие матрицы часто могут быть выражены в формате низкого ранга с потенциалом снижения требований к ресурсам. В отличие от предыдущих работ, сосредоточенных на разработке новых алгоритмов декомпозиции матриц, в данной работе мы в первую очередь изучаем появление структур низкого ранга в матрицах различных слоев LLM и устанавливаем причинно-следственную связь между динамикой градиента и возникающей выразительностью матриц низкого ранга. Наши результаты показывают, что различные слои проявляют различные уровни сходной структуры низкого ранга, что требует неоднородного снижения ранга для минимизации потерь производительности из-за сжатия. С учетом этого мы представляем проекцию весов низкого ранга (WeLore), которая объединяет сжатие весов и эффективное использование памяти при донастройке как ОДНО целое, способом, не зависящим от данных и одним махом. WeLore использует распределение сингулярных значений для определения подходящего коэффициента снижения ранга для матриц в LLM. Превосходя роль просто техники сжатия, WeLore категоризирует весовые матрицы на компоненты низкого ранга (LRC) и компоненты не низкого ранга (N-LRC) на основе их способности выражаться в виде низкого ранга. Наша перспектива градиента и обширные эксперименты показывают, что LRC обладают лучшими возможностями для донастройки и могут тесно имитировать (иногда превосходить) траекторию обучения и производительность полной донастройки с значительным сокращением памяти и вычислительных ресурсов. Например, донастройка модели LLaMa-27B с сжатием на 50\% с использованием только части параметров в LRC (WeLore) может превзойти полную донастройку с увеличением производительности в ~3 раза и снижением требований к GPU в ~0.6 раза. Наш код доступен по адресу https://github.com/VITA-Group/welore
English
Modern Large Language Models (LLMs) are composed of matrices with billions of
elements, making their storage and processing quite demanding in terms of
computational resources and memory usage. Being significantly large, such
matrices can often be expressed in low-rank format with potential to relax
resource requirements. Unlike prior works which focus on developing novel
matrix decomposition algorithms, in this work we first study the emergence of
low-rank structures across matrices within different layers of LLMs and
establish a consequential relationship between the gradient dynamics and
emerging low-rank expressiveness of matrices. Our findings reveal that
different layers exhibit varying levels of converged low-rank structure,
necessitating a non-uniform rank reduction across them to minimize performance
drop due to compression. In view of that, we present Weight Low-Rank Projection
(WeLore) that unifies weight compression and memory-efficient fine-tuning as
ONE, in a data-agnostic and one-shot way. WeLore capitalizes the heavy-tail
distribution of singular values to identify a suitable rank reduction ratio for
matrices within LLMs. Going beyond only as a compression technique, WeLore
categorizes weight matrices into Low-rank Components (LRCs) and Non-Low-rank
Components (N-LRCs) based on their ability to express themselves as low-rank.
Our gradient perspective and extensive experiments illustrate that LRCs tend to
have better finetuning capabilities and can closely mimic (sometimes
outperform) the training loss trajectory and performance of full-finetuning
with notable memory and compute footprint reduction. For example, finetuning a
50\% compressed LLaMa-2 7B model using only a fraction of parameters in LRCs
(WeLore) can outperform its full finetuning with ~3x better throughput and
~0.6x GPU requirement. Our codes are available at
https://github.com/VITA-Group/weloreSummary
AI-Generated Summary