์ธ๊ณต์ง๋ฅ
MoRA: ๊ณ ์ ์ ๋ฐ์ดํธ ์ํ ํ๋ผ๋ฏธํฐ ํจ์จ์ ์ธ ๋ฏธ์ธ ์กฐ์
LoRA 또는 Low-Rank Adaption은 강력한 성능과 광범위한 적용 가능성으로 인해 다른 방법에 비해 가장 인기 있는 PEFT 또는 파라미터 효율적인 미세 조정 방법 중 하나입니다. LoRA 프레임워크는 두 개의 저위 矩阵를 사용하여 가중치를 업데이트하고 근사화하며, LoRA 프레임워크는 이러한 훈련 가능한 매개변수를 조정하여 矩阵의 랭크를 조정합니다. 이过程의 주요 이점은 LoRA 프레임워크가 미세 조정 후 추론 지연 없이 이러한 矩阵를 병합할 수 있다는 것입니다. 또한, 최근 대규모 언어 모델은 인 컨텍스트 학습 작업에서 뛰어난 성능을 발휘하지만, 일부 시나리오는 여전히 미세 조정이 필요하며, 세 가지 유형으로 분류할 수 있습니다. 첫 번째 유형은 지시 미세 조정으로, LLM을 끝 작업과 사용자 선호도에 더 잘 맞추는 것을 목표로 하며, 이는 다중 작업과 복잡한 지시를 처리하는 과정을 간소화하는 접근 방식입니다. 두 번째 유형은 수학적 문제 해결과 같은 복잡한推論 작업을 포함합니다. 마지막으로, 세 번째 유형은 지속적인 사전 훈련으로, 대규모 언어 모델의 전체 도메인 특정 능력을 향상시키는 것을 목표로 합니다.
이 기사에서는 저위 업데이트 메커니즘은 LoRA 프레임워크의 성능에 영향을 미칠 수 있다는 점에 착안하여, MoRA라는 새로운 방법을 소개합니다. MoRA는 동일한 수의 훈련 가능한 매개변수를 사용하여 저위 업데이트 矩阵의 랭크를 최대화하는 것을 목표로 합니다. 이를 위해 MoRA 프레임워크는 矩阵의 입력 차원을 줄이고 출력 차원을 늘리는 비 매개변수 연산자를 도입하여 가중치를 다시 LLM에 병합할 수 있습니다. 다음 그림은 MoRA 프레임워크와 LoRA를 비교합니다.

위 그림에서 (a)가 LoRA를, (b)가 MoRA를 나타냅니다. W는 모델의 고정 가중치, M은 MoRA의 훈련 가능한 矩阵, A와 B는 LoRA의 저위 矩阵, r은 LoRA와 MoRA의 랭크를 나타냅니다. MoRA 프레임워크는 더 큰 랭크를 갖는 것으로 나타납니다. 또한, MoRA 프레임워크는 입력 차원을 줄이고 출력 차원을 늘리는 비 매개변수 연산자를 개발하여 훈련 가능한 矩阵 M을 대체하고, 연산자를 보장하여 가중치를 다시 LLM에 병합할 수 있습니다.
MoRA: 고위 업데이트 위한 파라미터 효율적인 미세 조정
LLM의 크기와 능력이 증가함에 따라, PEFT 또는 파라미터 효율적인 미세 조정은 특정 다운스트림 작업에 LLM을 적응시키기 위한 가장 인기 있는 방법 중 하나로 등장했습니다. FFT 또는 전체 미세 조정과 비교하여, PEFT는 총 매개변수 중 일부만 수정하여 메모리 요구 사항을 크게 줄이고 모델을 저장하고 배포하는 것을 용이하게 합니다. 또한, 모든 существ하는 PEFT 방법 중에서 LoRA는 현재 가장 인기 있는 방법입니다. LoRA 방법이 다른 PEFT 방법보다 더好的 성능을 발휘하는 주요 이유는 저위 矩阵를 사용하여 매개변수를 업데이트하기 때문입니다.
LoRA 프레임워크는 두 개의 저위 矩阵를 사용하여 가중치를 업데이트하고 근사화하며, 이러한 저위 矩阵는 훈련 가능한 매개변수로 구성됩니다. LoRA 프레임워크는 이러한 매개변수를 조정하여 矩阵의 랭크를 조정합니다. 그러나, 이러한 저위 矩阵는 FFT에서 전체 랭크 업데이트를 근사화하는 데 어려움을 겪을 수 있습니다. 특히, 메모리 집약적인 작업에서 도메인 특정 지식을 기억하는 데 필요한 경우에는 이러한 저위 矩阵는 성능이 저하될 수 있습니다.
MoRA: 방법론과 아키텍처
저위 업데이트 영향
LoRA 기반 모델의 핵심 원리는 저위 업데이트를 사용하여 FFT에서 전체 랭크 업데이트를 근사화하는 것입니다. 전통적으로, 사전 훈련된 매개변수 矩阵가 주어지면, LoRA는 두 개의 저위 矩阵를 사용하여 가중치를 업데이트합니다. 이러한 저위 矩阵는 훈련 가능한 매개변수로 구성됩니다. 그러나, 이러한 저위 矩阵는 전체 랭크 업데이트를 근사화하는 데 어려움을 겪을 수 있습니다. 특히, 메모리 집약적인 작업에서 도메인 특정 지식을 기억하는 데 필요한 경우에는 이러한 저위 矩렬은 성능이 저하될 수 있습니다.
방법론
LLM의 능력과 지식을 사용하여 작업을 해결하는 것이 더 쉽지만, 이러한 모델은 새로운 지식과 능력을 습득하는 데 어려움을 겪을 수 있습니다. 특히, 지속적인 사전 훈련과 복잡한 推論 작업에서 이러한 모델은 성능이 저하될 수 있습니다. 이러한 문제를 해결하기 위해, MoRA 프레임워크는 저위 업데이트 矩렬의 랭크를 최대화하는 새로운 방법을 제안합니다. 이를 위해 MoRA 프레임워크는 동일한 수의 훈련 가능한 매개변수를 사용하여 저위 업데이트 矩렬의 랭크를 최대화하는 것을 목표로 합니다.
MoRA: 실험 및 결과
MoRA 프레임워크의 성능을 평가하기 위해, MoRA 프레임워크는 다양한 작업에서 테스트되었습니다. 이러한 작업에는 UUID 쌍을 기억하는 작업, 미세 조정 작업, 및 사전 훈련이 포함됩니다.
UUID 쌍 기억
MoRA 프레임워크의 성능을 평가하기 위해, MoRA 프레임워크는 UUID 쌍을 기억하는 작업에서 FFT와 LoRA 프레임워크와 비교되었습니다. 훈련 손실은 다음 그림에 나타나 있습니다.

MoRA 프레임워크는 동일한 수의 훈련 가능한 매개변수를 사용하여 LoRA 모델을 초과하는 성능을 발휘하는 것으로 나타났습니다. 이는 MoRA 프레임워크가 고위 업데이트 전략을 사용하여 성능을 향상시킨 것을 의미합니다.
미세 조정 작업
MoRA 프레임워크의 성능을 평가하기 위해, MoRA 프레임워크는 세 가지 미세 조정 작업에서 테스트되었습니다. 이러한 작업에는 지시 미세 조정, 수학적 推論, 및 지속적인 사전 훈련이 포함됩니다. 결과는 다음 표에 나타나 있습니다.

사전 훈련
MoRA 프레임워크의 성능을 평가하기 위해, MoRA 프레임워크는 C4 데이터셋에서 사전 훈련되었습니다. 결과는 다음 그림에 나타나 있습니다.

최종 생각
이 기사에서는 저위 업데이트 메커니즘은 LoRA 프레임워크의 성능에 영향을 미칠 수 있다는 점에 착안하여, MoRA라는 새로운 방법을 소개했습니다. MoRA는 동일한 수의 훈련 가능한 매개변수를 사용하여 저위 업데이트 矩렬의 랭크를 최대화하는 것을 목표로 합니다. 이를 위해 MoRA 프레임워크는 입력 차원을 줄이고 출력 차원을 늘리는 비 매개변수 연산자를 도입하여 가중치를 다시 LLM에 병합할 수 있습니다.












