본문 바로가기
  • 책상 밖 세상을 경험할 수 있는 Playground를 제공하고, 수동적 학습에서 창조의 삶으로의 전환을 위한 새로운 라이프 스타일을 제시합니다.
Natural Language Processing

[2024-1] 김동한 - ResLoRA: Identity Residual Mapping in Low-Rank Adaption

by 동96 2024. 3. 19.

 

Abstract

LLM에서의 fine-tuning할때 효율성때문에 LoRA를 적용함. 그러나, 기존 모델의 계산 경로가 길기때문에, LoRA 가중치를 효과적으로 업데이트하기에는 어려움이 있음.

> 이에 대한 해결책으로 ResLoRA 제안 : 훈련중에 residual path를 추가하고, 이후에 병합하는 과정으로 접근함으로써, 추론에서의 추가적인 경로를 제거하고, LoRA보다 효율적으로 파라미터와 추론 cost를 줄일 수 있음.

 

Introduction

LLM에서 수많은 파라미터에 의해 cost가 큰 경우가 많았음.

PEFT 방법이 제안되었음 : 몇개의 파라미터만 조정하는 방식임.

LoRA의 경우에는 두 개의 행렬을 병렬로 사용, 고정된 선형 layer를 사용하며, 훈련중에 훈련가능한 파라미터가 적었음. > 이후에 두개의 행렬을 병합해서 사용.

LoRA 방식은 몇가지 한계가 있는데, 모델의 여러 layer에서 LoRA 모듈의 순위를 동적으로 조정 / 더 적은 파라미터로 LoRA와 비슷한 성능을 갖도록 연구

그러나, 긴 역방향 경로가 LoRA 블록의 파라미터 업데이트를 방해함.

 

대표적인 방법 : ResNet이 효율적 / LoRA 블록도 원래의 단축 설계의 이점.

ResNet에서의 지름길 방식을 활용하는 ResLoRA를 제안.

그러나, 직접 병합할 수 없기 때문에, LoRA의 장점이 약화됨.

추론하는 과정에도 기존 모듈에 병합할 수 있게 ResLoRA를 기존 LoRA 블록으로 변환하는 다양한 병합 접근방식을 논의함.

 

Related Work

-PEFT / LoRA / ResNet

 

3. Method

training에서의 LoRA 블록에 다양한 residual path를 추가하는 ResLoRA

추론 단계에서 사용하는 LoRA 블록에 residual path를 제거하여 ResLoRA 블록 병합하는방식

 

3.1 LoRA Blocks

pretrain 된 모델의 기존의 matrix

에서 h는 output hidden vector x는 input vector, n은 layer의 인덱스

high rank matrix into low-rank matrix

training 과정에서 W는 고정되어있고, A, B만 업데이트 되는 것임.

 

이후 추론 과정에서

3.2 ResLoRa Blocks

- ResNet 으로부터 영감을 받아서, input-shortcut, block-shortcut, middle-shortcut 각각(is, bs, ms)

 

Input-shortcut structure

다른 LoRA blockinput vector 사이 shortcut을 직접 이용.

이전 LoRA 블록의 입력 벡터를 현재 LoRA블록의 입력벡터에 추가.

ResNet의 순방향과는 다르게 여기서는 LoRA 블록의 순방향에만 영향을 주는게 아니고, 선형 layerml 순방향에도 영향을 주어, 단순히 더하는 것으로 수행하지는 않았음.

Block-shortcut structure

shortcut을 입력 vector가 아닌, LoRA blockweights에 더함.

 

 

 

3.3 Merging Approaches

Block-shortcut 의 경우에는 직접 더해서

 

으로 표현하는 것이 가능하지만, 나머지 두개의 구조인 Is Ms의 경우에는 앞의 항을 더하는 과정이 있어 직접적으로 다 더하지는 못함.

 

 

Input shortcut 식의 근사.

 

 

 

4. Experiments

 

NLG

 

점수가 높을수록 성능이 좋은 것. is bs ms 비슷한 성능이 나오는 걸 확인. 특정 부분에서는 더 높기도함.

 

NLU

 

높을 수록 좋은 성능 --> 비슷한수준 충분히 좋은 성능


분석
Extra residual paths가 training stage를 가속화한다.

여기서 0은 앞의 걸 더하지않은 즉 일반 LORA를 의미하고, -1은 무한대로 더한 것을 의미함(모든 previous block 이용)

 

Loss 도 적음.

Limitations

추가적 parameter 없는데도, training cost가 크다.

추론과정에서, merging approach를 추가적 residual paths 지울려고 쓰는데, lossless merging이 생각보다 잘 안됨.

3. 최초의 residual path 결합 시도인데, 기존의 다른 method들과의 결합은 앞으로의 과제임.