NL-141, LoRA: Low-Rank Adaptation of Large Language Models, ICLR 2022
◼ Comment
- 빅모델들을 학습할 때, 전체를 fine-tuning하기는 빡세다는 것이다.
- 왜냐하면 full fine-tuning을 그대로 하면, pre-training할 때의 파라미터 그대로 다 학습해야하기 때문에, 메모리나 시간이나 문제가 있다는 것
- LoRA의 아이디어는 기존 파라미터들은 그대로 두고, 새로운 layer을 병렬로 껴넣는다.
- 그림 1처럼, 기존의 flow가 있고, A, B 매트릭스를 통해 reparametrization을 하는 것이다.
- 즉 파라미터 업데이트를 A와 B부분에 대해서만 하는 것이다. 기존의 파라미터들은 frozen되는 것
- $\Delta W$가 $BA$로 표기되는데, 이 뜻은 W의 업데이트를 BA로 대체한다는 뜻일것이다.
- 여기서, 약간 헷갈리는 부분이, loss의 backpropagation이 BA의 gradient을 계산할 것이고 그러면, BA --> BA+$\Delta BA$로 업데이트 될 것이다.
- 그 다음, W -> W+BA로 업데이는 되는 순인가?
- 여기서 B, A의 중간차원인 r이 결국 학습할 파라미터의 수를 결정한다고 보면된다.
- W는 여러개의 matrix가 가능할 것이나, 여기서 적용한 행렬은 Wq, Wk, Wv즉 attention matrix에만 적용한 것 같다.
- 아무튼, 이 때 r에 대한 실험은 테이블 6에서 결과를 보여준다. (자세한건 읽어보지는 않았음..)
- 아무튼 이렇게 하면, 실질적으로 성능이 full fine-tuning보다 떨어지지 않는다는 것이다.
- 당연히 학습하는 파라미터의 수는 현저히 줄어든다.
- 인퍼런스타임도 얘기하는데, 다른 방법들은 인퍼런스타임이 길어지는 문제가 있다고 한다.
- 테이블1에서 adapter 방법이 인퍼런스 시간을 지연시킨다는 것을 보여준다.
- 근데 LoRA는 학습 때 BA로 업데이트하고, 인퍼런스때는 BA을 안쓰기 때문에 인퍼런스 지연이 없다는 것이다.
0 Abstract
- NLP의 중요한 패러다임은 일반적인 도메인 데이터에대해 large-scale pretraining와 특정 테스크들 혹은 도메인에 적용하는 것으로 구성된다.
- 더 큰 모델을 사전 훈련함에 따라 모든 모델 매개변수를 다시 훈련시키는 full fine-tuning의 실현 가능성이 낮아집니다.
- 예시로 GPT-3 175B을 사용해서, 독단적으로 175B 파라미터들을 가지는 fine-tuned 모델들의 인스턴스를 배포하는데 너무 비싸다.
- 우리는 Low-Rank Adaptation or LoRA을 제안하고, 이는 pretrained model weights을 고정하고, 학습가능한 rank decomposition matrices을 Transformer 구조의 각 layer에 주입하여 다운스트림 테스크에서 학습가능한 파라미터의 수를 엄청 줄여준다.
- Adam으로 fine-tuned된 GPT-3 175B와 비교하여, LoRA는 학습 가능한 파라미터의 수를 10,000배 줄이고 GPU 메모리는 3배 줄인다.
- LoRA는 RoBERTa, DeBERTa, GPT2, GPT3에서 finetuning 한 모델의 퀄리티와 같거나 더 나은 성능을 보여준다.
- 그러면서 LoRA는 학습가능한 파리미터를 적게가지고, 훈련 처리량이 높고, 다른 adapters와 달리 추가적인 inference latency가 들지 않는다.
- 우리는 또한 언어 모델 적응의 rank-deficiency에 대한 실험적 조사를 제공하여 LoRA의 효능을 밝힙니다.
- We release a package that facilitates the integration of LoRA with PyTorch models and provide our implementations and model checkpoints for RoBERTa, DeBERTa, and GPT-2 at https://github.com/microsoft/LoRA.
1 INTRODUCTION
- NLP에서 많은 어플리케이션은 하나의 large-scale, pre-trained LM을 다양한 다운스트림 어플리케이션에 적용하는 것에 의존한다.
- 이러한 adaptation은 보통 fine-tuning을 통해 수행되고, 이는 pre-trained LM의 모든 파라미터들을 업데이트한다.
- fine-tuning의 주요 단점은 새로운 모델이 기존 모델만큼 많은 파라미터들을 포함하는 것이다.
- 더 큰 모델이 몇 개월마다 훈련됨에 따라 이는 GPT-2 또는 RoBERTa-large의 단순한 "불편함"에서 1,750억 개의 훈련 가능한 매개변수가 있는 GPT-3의 중요한 배포 문제로 바뀝니다.
- 많은 사람들이 일부 파라미터들만 adapting하거나 새로운 테스크에대해 외부 모듈들을 학습해서 이를 완화하려고 했다.
- 이렇게 하면 각 작업에 대해 pre-trained model 외에 적은 수의 테스크별 파라미터만 저장하고 로드하면 되므로 배포 시 운영 효율성이 크게 향상됩니다.
- 그러나, 기존의 테크닉들은 종종 모델의 depth을 확장하거나, 모델의 사용가능한 sequence length을 줄임으로써 인퍼런스 latency을 가진다. (section 3)
- 더욱 중요하게도, 이러한 방법은 종종 베이스라인들을 fine-tuning한 것과 일치하지 않아서, efficiency와 모델 퀄리티사이의 trade-off가 있다.
- 우리는 Li로부터 영감을 받았다.
- Aghajanyan는 학습된 over-parametrized 모델들이 실제로 낮은 intrinsic 차원에 있다는 사실을 보여준다.
- 우리는 model adaptation중, weights의 변화가 낮은 'intrinsic rank'을 가진다고 가정하고, 이는 우리의 접근법인 Low-Rank Adaptation (LoRA) 접근법으로 이끈다.
- LoRA는 우리가 뉴럴 네트워크에서 몇개의 dense layers을 rank decomposition matrices을 최적화함으로써 간접적으로 학습하게한다.
- 예를 들어 GPT-3 175B를 사용하여 full rank (즉, d)가 12,288만큼 높은 경우에도 매우 low rank로 충분하다는 것을 보여주므로 LoRA는 스토리지 및 컴퓨팅 효율성이 모두 높아집니다.
- (즉, 그림 1의 r은 하나 또는 둘일 수 있음)
- 기존의 pre-trained weights은 dxd의 차원을 통과해야하는데, 이를 rank decomposition으로 r차원?으로 줄였다 늘리는 모듈을 만들어 이를 학습한다는 것인가?
- LoRA는 몇 가지 장점을 가지고 있다.
- 1) pre-trained model은 공유될 수 있고 많은 small LoRA 모듈이 다른 테스크들을 설계하는데 사용될 수 있다.
- 우리는 shared model을 고정하고 그림1의 A and B matrices을 교체함으로써 효율적으로 테스크를 교체할 수 있다.
- 이로써 스토리지 요구사항과 작업을 바꾸는데 overhead가 크게 줄어든다.
- 2) LoRA는 adaptive optimizers를 사용할 때 훈련을 보다 효율적으로 만들고 하드웨어 진입 장벽을 최대 3배 낮춥니다.
- 왜냐하면, 대부분의 파라미터들에 대해 gradients를 계산하거나 최적의 state를 유지할 필요가 없기 때문입니다.
- 대신 우리는 주입된 훨씬 더 low-rank matrices만 최적화합니다.
- 3) 우리의 간단한 linear 설계는 개발할때 우리가 학습 가능한 matrices을 frozen weights와 merge하게 하고, fully fine-tuned 모델과 비교해서 inference 지연이 없다.
- LoRA 부분을 통과하는 부분이 인퍼런스에 지연이 있는거 아닌가?
- --> 학습때만 쓰고, 테스트때는 쓰는거 X
- 4) LoRA는 많은 이전 방법과 orthogonal하며 prefix-tuning과 같은 많은 방법과 결합할 수 있습니다.
- 부록 E에 예가 나와 있습니다.
- Terminologies and Conventions
- 우리는 Transformer 아키텍처를 자주 참조하고 해당 차원에 대해 conventional terminologies를 사용합니다.
- Transformer 레이어 d_model의 입력 및 출력 차원 크기를 호출합니다.
- Wq, Wk, Wv 및 Wo를 사용하여 self-attention 모듈의 쿼리/키/값/출력 projection 행렬을 참조합니다.
- W 또는 W0는 사전 훈련된 가중치 행렬을 참조하고 ∆W는 적응 중 누적 기울기 업데이트를 나타냅니다.
- We use r to denote the rank of a LoRA module.
- We follow the conventions set out by (Attention is all you need; GPT3) and use Adam for model optimization and use a Transformer MLP feedforward dimension d_ffn = 4 × d_model.
2 PROBLEM STATEMENT
- 우리의 목표는 training objective에 상관없지만, 우리의 사용 케이스에 목적으로 LM에 집중한다.
- LM 문제의 간단한 설명은, 특히 task-specific prompt가 제공된 조건부 확률의 최대화이다.
- 우리는 pre-trained autoregressive LM PΦ(y|x) (파라미터: Φ)가 주어진다고 가정한다.
- 예를 들어, PΦ(y|x)은 일반적인 멀티테스크 learner로 GPT와 같은 것으로 transformer 기반으로 한다.
- pre-trained model을 다운스트림 conditional text genertaion 테스크들에 (summarization, MRC, NL2SQL) 적용한다고 고려해보자.
- 각 다운스트림 테스크는 학습 데이터세트가 context-target pairs: Z = {(xi , yi)} (i=1,...,N)으로 구성되고, xi와 yi는 둘다 토큰 시퀀스들이다.
- 예를 들어, NL2SQL에서 xi는 natural language query이고 yi는 그에 해당하는 SQL 명령이다.
- summarization에서는 xi는 article의 context이고 yi는 summary이다.
- full fine-tuning할 때, 모델은 pre-trained weights Φ0로 초기화되고 Φ0 + ∆Φ로 반보적으로 conditional language modeling objective을 최대화하도록 gradient을 따라서 업데이트된다.
- 각 다운스트림 작업에 대해 full fine-tuning의 주요 단점 중 하나는 우리가 학습하는 파라미터 ∆Φ의 다른 세트의 전체 dimension |∆Φ|는 |Φ0|과 같다는 것이다.
- 즉, 학습되는 fine-tuned model의 파라미터 dimension이 pre-trained model과 같다는 것.
- 그래서 만약 pre-trained model이 크다면 (즉, GPT3 with |Φ0| ≈ 175 Billion), 많은 독단적인 fine-tuned models의 인스턴스를 저장하고 개발해야하는 것은 모두 수용하기에 챌린지하다.
- 이 논문에서, 우리는 좀 더 parameter 효율적인 접근법을 적용한다.
- task-specific parameter 증가인 ∆Φ = ∆Φ(Θ)는 |Θ| << |Φ0|을가지는 훨씬 더 작은 크기의 파라미터 집합 Θ에 의해 추가로 인코딩됩니다.
- 즉 task에 따라 업데이트해야할 파라미터 ∆Φ의 수가 pre-trained model 만들때보다 훨씬더 작아진다는 것이다.
- The task of finding ∆Φ thus becomes optimizing over Θ:
- 후속 섹션에서 우리는 계산 및 메모리 효율적인 ∆Φ를 인코딩하기 위해 low-rank representation을 사용할 것을 제안합니다.
- 사전 훈련된 모델이 GPT-3 175B일 때 훈련 가능한 파라미터의 수 |Θ|는 |Φ0|의 0.01%만큼 작을 수 있습니다.
3 AREN’T EXISTING SOLUTIONS GOOD ENOUGH?
- 우리가 해결하기 시작한 문제는 결코 새로운 것이 아닙니다.
- transfer learning이 시작된 이래로 수십 개의 작업에서 모델 적응을 매개변수와 계산 효율성을 높이기 위해 노력했습니다.
- 잘 알려진 works 중 일부에 대한 조사는 섹션 6을 참조하십시오.
- 예를 들어 언어 모델링을 사용하면 효율적인 적응과 관련하여 두 가지 중요한 전략이 있습니다.
- adding adapter layers
- optimizing some forms of the input layer activations.
- 그러나 두 전략 모두 특히 대기 시간에 민감한 대규모 생산 시나리오에서 한계가 있습니다.
- Adapter Layers Introduce Inference Latency
- 어댑터에는 많은 변형이 있습니다.
- 우리는 Transformer 블록당 두 개의 어댑터 레이어가 있는 Houlsby(2019)의 원래 디자인과 블록당 하나만 있지만 추가 LayerNorm(Ba et al., 2016)이 있는 Lin(2020)의 최신 디자인에 중점을 둡니다.
- pruning layers하거나 multi-task settings을 활용하여 전체 대기 시간을 줄일 수 있지만(Ruckl 2020; Pfeiffe 2021), 어댑터 계층에서 추가 계산을 우회하는 직접적인 방법은 없습니다.
- 어댑터 레이어가 추가할 수 있는 FLOP를 제한하는 작은 병목 치수를 가지므로 어댑터 레이어가 몇 가지 매개변수(때로는 원래 모델의 1% 미만)를 갖도록 설계되었기 때문에 문제가 되지 않는 것처럼 보입니다.
- 그러나 대규모 신경망은 대기 시간을 낮게 유지하기 위해 하드웨어 병렬 처리에 의존하며 어댑터 계층은 순차적으로 처리되어야 합니다.
- 이것은 배치 크기가 일반적으로 1만큼 작은 온라인 추론 설정에 차이를 만듭니다.
- 단일 GPU의 GPT-2(Radford et al., b) 매체에서 추론을 실행하는 것과 같이 모델 병렬 처리가 없는 일반 시나리오에서는 매우 작은 병목 차원에서도 어댑터를 사용할 때 대기 시간이 눈에 띄게 증가하는 것을 볼 수 있습니다(표 1).
- Shoeybi(2020) 및 Lepikhin(2020)에서 수행한 것처럼 모델을 샤딩해야 할 때 이 문제가 더 악화됩니다.
- 어댑터 매개변수를 여러 번 중복 저장하지 않는 한 추가 깊이에는 AllReduce 및 Broadcast와 같은 더 많은 동기 GPU 작업이 필요하기 때문입니다.
- Directly Optimizing the Prompt is Hard
- prefix tuning(Li & Liang, 2021)으로 예시된 것처럼 다른 방향은 다른 도전에 직면해 있습니다.
- 우리는 prefix tuning이 최적화하기 어렵고 그 성능이 훈련 가능한 매개변수에서 비단조적으로 변한다는 것을 관찰하여 원본 논문에서 유사한 관찰을 확인했습니다.
- 더 근본적으로, 적응을 위해 시퀀스 길이의 일부를 예약하면 다운스트림 작업을 처리하는 데 사용할 수 있는 시퀀스 길이가 반드시 줄어들어 다른 방법에 비해 프롬프트 튜닝의 성능이 저하되는 것으로 의심됩니다.
- 과제 수행에 대한 연구는 섹션 5로 미룬다.
4 OUR METHOD
- 우리는 LoRA의 간단한 설계와 실용적인 장점을 설명한다.
- 여기에 설명된 원칙은 딥 러닝 모델의 모든 dense layers에 적용되지만 동기 부여 사용 사례로 실험에서 Transformer 언어 모델의 특정 가중치에만 초점을 맞춥니다.
4.1 LOW-RANK-PARAMETRIZED UPDATE MATRICES
- 뉴럴 네트워크는 많은 dense layers을 포함하고, 이는 matrix multiplication을 수행한다.
- 이 layers들의 weight matrices는 전형적으로 full-rank이다.
- 구체적인 task에 적용할 때, Aghajanyan 2020은 pre-trained LM이 low 'instrisic(본질) dimension'을 가지고 여전히 더 작은 subspace에 random projection에도 불구하고 효율적으로 배울 수 있다고 보여준다.
- 이것으로 부터 영감을 받아, 우리는 adaptation동안 weights또한 low 'intrinsic rank'을 가지도록 업데이트된다고 가정한다.
- pre-trained weight matrix $W_0 \in R^{d \times k}$에 대해, 우리는 이것의 업데이트를 low-rank decomposition $W_0 + \Delta W = W_0 + BA$로 나중을 나타냄으로써 업데이트하도록 제한한다.
- 여기서 $B \in R^{d \times r}$, $A \in R^{r \times k}$ and rank $r << min(d,k)$이다.
- 즉 업데이트하는 $\Delta W$가 BA로 행렬곱(낮은차원으로) 대체하는 형식이다.
- 학습동안, $W_0$은 고정되고 gradient updates가 되지 않는다, 반면에 A와 B는 학습가능한 파라미터들이다.
- $W_0$과 $\Delta W = BA$ 둘다 같은 입력으로 곱해지고 그들의 output vector은 coordinate-wise로 합해진다.
- 우리는 우리의 reparametrization을 그림1에서 설명한다.
- 우리는 A에 대해 랜덤 가우시안 초기화를 하고 B는 zero로 초기화한다.
- 그래서 $\Delta W = BA$은 학습의 시작에서는 zero이다.
- 우리는 그러고나서 $\Delta W x$을 $\alpha / r$로 scale하고 여기서 $\alpha$는 r에서의 상수이다.
- Adam으로 최적화할 때 α를 조정하는 것은 초기화를 적절하게 확장하면 learning rate을 조정하는 것과 거의 같습니다.
- 결과적으로 α를 처음에 r로 설정하고 조정하지 않습니다.
- 이 스케일링은 r을 변경할 때 hyperparameters를 다시 조정할 필요성을 줄이는 데 도움이 됩니다 (Yang & Hu, 2021).
- LoRA는 A(dxr), B(rxd) 두 행렬곱으로 업데이트를 대신하는 것인데, 차원 r을 바꿔서 모델링하면 하이퍼 파라미터들을 재조정해야한다?
- 그래서 α/r로 노멀라이징개념으로 곱해주는 것인가?
- 이는 lr을 수정하는 것과 비슷한 효과이기 때문에?
- A Generalization of Full Fine-tuning.
- fine-tuning의 일반적인 형태는 pre-trained 파라미터들의 부분집합을 학습한다.
- LoRA는 한 단계 더 나아가 adaptation중에 full-rank를 갖기 위해 weight 행렬에 대한 accumulated gradient 업데이트를 요구하지 않습니다.
- 이 뜻은, LoRA을 모든 weight matrices과 모든 학습 biases에 적용할 때, 우리는 러프하게 LoRA rank r을 pre-trained weight matrices의 rank로 세팅함으로써 full fine-tuning의 표현력을 회복한다.
- 다시 말해, 훈련 가능한 parameters의 수를 늘리면 LoRA 훈련은 대략적으로 기존모델 훈련으로 수렴되는 반면 adapter-based methods은 MLP로, prefix-based methods은 긴 입력 시퀀스를 사용할 수 없는 모델로 수렴됩니다.
- 다시 말해, 훈련 가능한 parameters의 수를 늘리면 LoRA 훈련은 대략적으로 원본 모델 훈련으로 수렴되는 반면 어댑터 기반 방법은 MLP로, prefix-based 방법은 긴 입력 시퀀스를 사용할 수 없는 모델로 수렴됩니다.
- No Additional Inference Latency.
- When deployed in production, we can explicitly compute and store W = W0 + BA and perform inference as usual. Note that both W0 and BA are in R d×k . When we need to switch to another downstream task, we can recover W0 by subtracting BA and then adding a different B0A0 , a quick operation with very little memory overhead. Critically, this guarantees that we do not introduce any additional latency during inference compared to a fine-tuned model by construction.
4.2 APPLYING LORA TO TRANSFORMER
- 원칙적으로 우리는 훈련 가능한 매개변수의 수를 줄이기 위해 신경망의 가중치 행렬의 하위 집합에 LoRA를 적용할 수 있습니다.
- Transformer 아키텍처에는 self-attention 모듈(Wq, Wk, Wv, Wo)에 4개의 가중치 행렬이 있고 MLP 모듈에 2개의 가중치 행렬이 있습니다.
- 출력 차원이 일반적으로 attention 헤드로 분할되지만 Wq(또는 Wk, Wv)를 차원 dmodel ×dmodel의 단일 행렬로 취급합니다.
- 우리는 단순성과 매개변수 효율성을 위해 다운스트림 작업에 대한 attention 가중치만 적용하고 MLP 모듈을 고정(다운스트림 작업에서 훈련되지 않도록)하는 것으로 연구를 제한합니다.
- 섹션 7.1에서 Transformer에서 다양한 유형의 주의 가중치 행렬을 적용하는 데 미치는 영향을 더 연구합니다.
- 우리는 MLP 계층, LayerNorm 계층 및 편향을 적용하는 실증적 조사를 향후 작업에 남겨둡니다.
- Practical Benefits and Limitations.
- 가장 큰 이점은 메모리 및 스토리지 사용량 감소입니다.
- Adam으로 훈련된 대형 Transformer의 경우 고정된 매개변수에 대한 최적화 프로그램 상태를 저장할 필요가 없기 때문에 r << dmodel이면 VRAM 사용량을 최대 2/3로 줄입니다.
- GPT-3 175B에서 훈련 중 VRAM 소비를 1.2TB에서 350GB로 줄였습니다.
- r = 4이고 쿼리 및 값 프로젝션 매트릭스만 적용되면 체크포인트 크기가 약 10,000배(350GB에서 35MB로) 감소합니다.
- 이를 통해 훨씬 적은 수의 GPU로 훈련하고 I/O 병목 현상을 피할 수 있습니다.
- 또 다른 이점은 모든 매개변수가 아닌 LoRA 가중치만 교환하여 훨씬 저렴한 비용으로 배포하면서 작업 간에 전환할 수 있다는 것입니다.
- 이를 통해 VRAM에 사전 훈련된 가중치를 저장하는 기계에서 즉석에서 교체할 수 있는 많은 맞춤형 모델을 생성할 수 있습니다.
- 우리는 또한 대부분의 매개변수에 대한 기울기를 계산할 필요가 없기 때문에 전체 미세 조정과 비교하여 GPT-3 175B에서 훈련하는 동안 25% 속도 향상을 관찰했습니다.
- LoRA also has its limitations.
- 예를 들어 추가 추론 대기 시간을 제거하기 위해 A와 B를 W로 흡수하기로 선택한 경우 단일 정방향 패스에서 A와 B가 다른 다른 작업에 대한 입력을 일괄 처리하는 것은 간단하지 않습니다.
- 가중치를 병합하지 않고 대기 시간이 중요하지 않은 시나리오의 경우 샘플에 사용할 LoRA 모듈을 동적으로 선택하는 것이 가능합니다.
5 EMPIRICAL EXPERIMENTS
- GPT-3 175B로 확장하기 전에 RoBERTa, DeBERTa 및 GPT-2에서 LoRA의 다운스트림 작업 성능을 평가합니다.
- 우리의 실험은 자연어 이해(NLU)에서 세대(NLG)에 이르는 광범위한 작업을 다룹니다.
- 특히 RoBERTa 및 DeBERTa에 대한 GLUE 벤치마크를 평가합니다.
- 직접 비교를 위해 GPT-2에서 Li & Liang(2021) 설정을 따르고 GPT-3에 대한 대규모 실험을 위해 WikiSQL(NL 대 SQL 쿼리) 및 SAMSum(대화 요약)을 추가합니다.
- 우리가 사용하는 데이터 세트에 대한 자세한 내용은 부록 C를 참조하십시오.
- 모든 실험에 NVIDIA Tesla V100을 사용합니다.
5.1 BASELINES
5.2 ROBERTA BASE/LARGE
5.3 DEBERTA XXL
5.4 GPT-2 MEDIUM/LARGE
5.5 SCALING UP TO GPT-3 175B
- LoRA에 대한 최종 스트레스 테스트로 1,750억 개의 매개변수가 있는 GPT-3으로 확장합니다.
- 높은 교육 비용으로 인해 모든 항목에 대해 하나를 제공하는 것과는 대조적으로 임의의 시드에 대해 주어진 작업에 대한 일반적인 표준 편차만 보고합니다.
- 사용된 하이퍼파라미터에 대한 자세한 내용은 섹션 D.4를 참조하십시오.
- 표 4에서 볼 수 있듯이 LoRA는 세 가지 데이터 세트 모두에서 미세 조정 기준선과 일치하거나 초과합니다.
- 모든 방법이 그림 2와 같이 훈련 가능한 매개변수가 더 많다고 단조롭게 이점을 얻는 것은 아닙니다.
- 접두사 포함 조정을 위해 256개 이상의 특수 토큰을 사용하거나 접두사 계층 조정을 위해 32개 이상의 특수 토큰을 사용할 때 상당한 성능 저하를 관찰했습니다.
- 이것은 Li & Liang(2021)의 유사한 관찰을 확증합니다.
- 이 현상에 대한 철저한 조사는 이 작업의 범위를 벗어났지만 더 많은 특수 토큰을 사용하면 입력 분포가 사전 교육 데이터 분포에서 더 멀리 이동하는 것으로 의심됩니다.
- 별도로, 섹션 F.3에서 낮은 데이터 영역에서 다양한 적응 접근 방식의 성능을 조사합니다.
6 RELATED WORKS
7 UNDERSTANDING THE LOW-RANK UPDATES
8 CONCLUSION AND FUTURE WORK
- 방대한 언어 모델을 미세 조정하는 것은 필요한 하드웨어와 다양한 작업을 위한 독립 인스턴스를 호스팅하기 위한 스토리지/스위칭 비용 측면에서 엄청나게 비쌉니다.
- 우리는 높은 모델 품질을 유지하면서 추론 지연을 도입하거나 입력 시퀀스 길이를 줄이지 않는 효율적인 적응 전략인 LoRA를 제안합니다.
- 중요한 것은 대부분의 모델 매개변수를 공유하여 서비스로 배포할 때 작업을 빠르게 전환할 수 있다는 것입니다.
- Transformer 언어 모델에 중점을 두었지만 제안된 원칙은 일반적으로 밀도가 높은 레이어가 있는 모든 신경망에 적용할 수 있습니다.
- 앞으로의 작업 방향은 많다.
- 1) LoRA는 잠재적으로 직교 개선을 제공하는 다른 효율적인 적응 방법과 결합될 수 있습니다.
- 2) 미세 조정 또는 LoRA 뒤에 있는 메커니즘은 명확하지 않습니다.
- 사전 교육 중에 학습된 기능이 다운스트림 작업에서 잘 수행되도록 어떻게 변환됩니까?
- 우리는 LoRA가 전체 미세 조정보다 이에 대한 답을 찾기 쉽게 만든다고 믿습니다.
- 3) 우리는 LoRA를 적용할 가중치 행렬을 선택하기 위해 대부분 휴리스틱에 의존합니다. 더 원칙적인 방법이 있습니까?
- 4) 마지막으로 ∆W의 rank-deficiency은 W도 rank-deficient일 수 있음을 암시하며, 이는 또한 향후 작업에 대한 영감의 원천이 될 수 있습니다.
Reference
댓글
댓글 쓰기