논문명: LongLoRA: Efficient Fine-tuning of Long-Context Large Language Models
논문링크: https://arxiv.org/abs/2309.12307
기존 LoRA 방식을 긴 입력에 대해서도 가능하도록 한 것 같다. 간단히 아이디어만 정리합니다.
아이디어
- 문제점: 긴 문맥을 받아들이는 모델에서는 LoRA 가 그렇게 효율적/효과적이지 않다 → 실험결과 perplexity, GPU memory, Training hours 모두 입력이 길어질수록 fine-tuning 과 비슷해진다.
- 해결책1: full attention 대신 shift short attention 으로 대체한다.
- 해결책2: LoRA 방식 이외에도 normalization 과 embedding 도 학습가능하게 한다.
- pattern1: 4개 그룹으로 나눠서 그룹 내에서만 attention 한다. appendix 에 따르면, 4개가 성능 저하 없이 좋았다고 함
- pattern2: 대각선 방향으로 attention head 의 절반 개수만큼 이동한다.
- 그리고 embedding 과 normalization layer 를 학습가능하게 하는데, 이게 성능 유지에 큰 도움이 된다고 함. 이거 써도, 7B 기준 0.004% 의 파라미터를 더 학습하는 거라고 함.
사견: 오른쪽 그림 구조가 transformer architecture 와 다른데, normalization 을 먼저 실행하는 게 성능이 더 좋다는 논문이 있다고 들었...