Table of Contents
728x90
LoRA(Low-Rank Adaptation)와 프롬프트 튜닝(Prompt Tuning)은 둘 다 대규모 언어 모델을 더 효율적으로 미세 조정하는 기법입니다. 하지만 두 방법은 미세 조정의 대상과 방법이 다릅니다. 아래에서 각각의 차이점을 설명하겠습니다.
1. LoRA (Low-Rank Adaptation)
핵심 개념: LoRA는 모델 내부의 가중치(Weights)를 조정합니다. 모델의 가중치를 직접 변경하지 않고, 특정 가중치 행렬의 저차원(low-rank) 근사 행렬을 추가해 학습합니다. 이를 통해 전체 모델의 가중치를 모두 학습하는 것이 아니라, 저차원 근사치를 학습하여 메모리 사용을 줄이면서 성능을 최적화합니다.
주요 특징:
- 모델의 가중치 업데이트: LoRA는 기존의 가중치 행렬에 대해 두 개의 저차원 행렬(저차원 근사)를 추가로 학습합니다.
- 효율성: 학습해야 하는 파라미터의 수가 줄어들고, 메모리 사용량도 크게 절약할 수 있습니다.
- 장점: 대규모 모델을 전통적인 방식으로 미세 조정할 때 발생하는 메모리 문제를 해결하며, 높은 성능을 유지할 수 있습니다.
LoRA 적용 방식:
- 기존의 언어 모델의 파라미터를 모두 고정한 상태에서 추가적인 저차원 행렬만 학습하게 함.
- 학습 시 메모리 효율성을 극대화하면서 미세 조정을 수행.
2. 프롬프트 튜닝 (Prompt Tuning)
핵심 개념: 프롬프트 튜닝은 입력 프롬프트(질문 또는 명령어)에 대한 학습 가능한 임베딩을 추가하는 방식입니다. 모델의 가중치나 구조를 변경하지 않고, 입력되는 프롬프트 앞에 학습된 벡터를 추가해 특정 작업에 맞도록 모델이 학습하도록 합니다.
주요 특징:
- 프롬프트 임베딩 학습: 입력에 대해 학습 가능한 임베딩 벡터를 추가하여 모델이 해당 작업에 적합한 출력을 생성하도록 유도합니다.
- 모델 파라미터 고정: 모델의 모든 가중치는 고정되고, 입력에 추가된 학습 가능한 벡터만 조정됩니다.
- 장점: 기존 모델의 구조나 가중치를 변경하지 않으면서도, 특정 작업에 맞는 최적화를 수행할 수 있습니다.
프롬프트 튜닝 적용 방식:
- 모델의 가중치는 고정된 상태에서 입력 프롬프트에 학습 가능한 벡터를 추가하여 해당 벡터만 학습함.
- 학습된 벡터가 특정 작업에 적합한 방식으로 모델이 동작하도록 조정.
LoRA와 프롬프트 튜닝의 주요 차이점:
구분 | LoRA | 프롬프트 튜닝 |
---|---|---|
학습 대상 | 모델 내부의 가중치 (저차원 행렬 추가) | 입력 프롬프트에 추가된 임베딩 벡터 |
모델 파라미터 | 일부 파라미터가 업데이트됨 | 모델의 모든 파라미터는 고정, 입력 벡터만 학습됨 |
효율성 | 메모리와 계산 자원을 절약하면서 가중치 업데이트 | 가중치 업데이트 없이 임베딩 벡터만 학습 |
사용 목적 | 모델의 가중치를 조정하여 성능 개선 | 프롬프트만 조정해 특정 작업에 맞춘 성능 개선 |
적용 범위 | 전체 모델 구조를 고려한 미세 조정 | 입력에 대한 미세 조정 (프롬프트를 통해) |
결론:
- LoRA는 모델 내부 가중치를 효율적으로 미세 조정하는 방법이고, 주로 대규모 모델에서 메모리 사용을 줄이기 위해 사용됩니다.
- 프롬프트 튜닝은 모델의 가중치를 변경하지 않고도 프롬프트 입력을 통해 모델의 성능을 개선하는 방법으로, 특정 작업에 적합한 프롬프트 벡터만을 학습합니다.
따라서, LoRA는 모델의 가중치 수정에 집중하고, 프롬프트 튜닝은 입력 수정에 집중하는 방식의 차이가 있습니다.
'DeepLearning > NLP' 카테고리의 다른 글
RAG(Retrieval-Augmented Generation) (4) | 2024.10.03 |
---|---|
IA3 (Input-Activated Attention Adaptation) (1) | 2024.09.19 |
prompt tuning (0) | 2024.09.19 |
[논문리뷰] Scaling Laws for Neural Language Models (0) | 2024.09.19 |
[LLM] LLM 모델이 LM 모델과 달라진 점 (0) | 2024.09.19 |
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 코딩테스트
- classification
- English
- clustering
- 해시
- #패스트캠퍼스 #패스트캠퍼스AI부트캠프 #업스테이지패스트캠퍼스 #UpstageAILab#국비지원 #패스트캠퍼스업스테이지에이아이랩#패스트캠퍼스업스테이지부트캠프
- t5
- 파이썬
- Github
- 오블완
- Numpy
- RAG
- git
- Hugging Face
- Array
- recursion #재귀 #자료구조 # 알고리즘
- 손실함수
- Transformer
- #패스트캠퍼스 #패스트캠퍼스ai부트캠프 #업스테이지패스트캠퍼스 #upstageailab#국비지원 #패스트캠퍼스업스테이지에이아이랩#패스트캠퍼스업스테이지부트캠프
- Lora
- LIST
- #패스트캠퍼스 #UpstageAILab #Upstage #부트캠프 #AI #데이터분석 #데이터사이언스 #무료교육 #국비지원 #국비지원취업 #데이터분석취업 등
- speaking
- nlp
- PEFT
- LLM
- 티스토리챌린지
- 리스트
- cnn
- Python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함