tgoop.com/quant_prune_distill/152
Last Update:
Controlling Text-to-Image Diffusion by Orthogonal Finetuning
[Статья]
[Cтраница проекта]
[Страница документации в PEFT]
Введение
Разнообразные адаптеры и методы PEFT стали общепринятым способом дообучения. Хороший адаптер должен быстро и эффективно обучаться выучивать специфику конкретной задачи, при этом сохраняя накопленное с таким трудом в модели знание.
Пресловутая LoRA обучает добавки низкого ранга к матрицам весов.
В этой статье же предлагается обучать ортогональное преобразование исходной матрицы весов (Orthogonal Finetuning), сохраняя похожесть разных признаков между друг другом.
Метод
Авторы мотивируют использование ортогональных преобразований следующим экспериментом: обучают сверточный автоэнкодер с уменьшением разрешения и последующим повышением не нормируя веса и активации. Если на инференсе модели вход и веса сверточного фильтра на их норму, то результат реконструкции не испортится, в то время, как если сохранить только информацию о величине фильтра и входной активации - то на выходе будет что-то не очень красивое. То есть угол между векторами более информативен, чем норма.
Конечный адаптер имеет вид W = R W0
, где R
- обучаемое ортогональное преобразование, а W0 - исходная матрица весов. Такой адаптер сохраняет сущность с устрашающим и внушающим благоговейный трепет названием - гиперсферическую энергию. Однако суть на самом деле проста, и по факту мы хотим сохранить попарные углы между весами матриц.
Но как добиться условия на ортогональность матрицы R? Авторы используют параметризацию Кэли - R = (1 + Q)(1 - Q)^-1
c кососимметричной Q = -Q^T
.
Однако в исходной форме метод имеет слишком много обучаемых параметров - O(d^2)
, примерно столько же, сколько и исходная сеть. Потому предлагается рассматривать блочно-диагональные адаптеры, тем самым снизив сложность до O(d^2/r),
r
- число блоков. Можно еще сильнее уменьшить число параметров, продублировав адаптер во всех блоках (до O(d^2/r^2))
.
В качестве конкретного примера, авторы сравнивают LoRA адаптер ранга 8 и OFT с 8 блоками. В первом случае - 2048 обучаемых параметров, против 960 во втором. Однако, для больших матриц выигрыш будет не пользу OFT, ибо OFT масштабируется квадратично по размерам исходных весов)
Вообще говоря, ортогональное преобразование, может далеко увести от исходных весов, потому авторы предлагают накладывать условие, чтобы выученная матрица не сильно отличалась от единичной. Такая модификация называется COFT (Constrained OFT). Предполагая малое отклонение от единичной матрицы, выполнение данного условия можно достичь с помощью проектированного градиентного спуска. Утверждается, что данная опция обладает большей стабильностью
BY КПД
Share with your friend now:
tgoop.com/quant_prune_distill/152