PEFT/Fine-tuning: Adapter Layers
ㅁ PEFT/Fine-tuning
ㅇ 정의:
– PEFT(Fine-tuning)는 사전 학습된 모델을 특정 작업에 맞게 조정하는 방법으로, 모델의 일부 또는 전체를 업데이트하여 새로운 데이터에 적응시키는 과정이다.
ㅇ 특징:
– 기존 모델의 성능을 유지하면서 특정 작업에 대한 성능을 향상시킬 수 있다.
– 데이터 효율적이며, 학습 속도가 빠르다.
– 추가적인 하드웨어 자원이 적게 요구된다.
ㅇ 적합한 경우:
– 사전 학습된 대형 모델을 활용하여 특정 도메인에 맞춘 결과를 얻고자 할 때.
– 제한된 데이터셋으로 특정 작업을 수행해야 할 때.
ㅇ 시험 함정:
– Fine-tuning 과정에서 과적합(overfitting)이 발생할 수 있음.
– PEFT를 과소평가하거나 과대평가하여 특정 작업에 적합하지 않은 방법을 선택할 수 있음.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: Fine-tuning은 사전 학습된 모델을 특정 작업에 맞게 조정하는 과정이다.
– X: Fine-tuning은 항상 모델의 전체 가중치를 업데이트한다.
================================
1. Adapter Layers
ㅇ 정의:
– Adapter Layers는 사전 학습된 모델의 특정 레이어들에 추가로 삽입되어 새로운 작업을 위한 특화된 표현을 학습하는 방법이다.
ㅇ 특징:
– 기존 모델의 구조를 유지하면서 새로운 작업에 대한 적응을 가능하게 한다.
– 학습해야 할 파라미터 수가 적어 효율적이다.
– 다양한 작업에 대해 빠르게 조정 가능하다.
ㅇ 적합한 경우:
– 대형 모델을 사용하면서 특정 작업에 대한 미세 조정이 필요할 때.
– 자원 제한 환경에서 모델을 최적화하고자 할 때.
ㅇ 시험 함정:
– Adapter Layers를 적용할 때 기존 모델의 성능 저하를 간과할 수 있음.
– Adapter Layers의 학습 파라미터를 과소평가하여 충분한 학습이 이루어지지 않을 수 있음.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: Adapter Layers는 기존 모델의 구조를 변경하지 않고 추가적인 레이어를 삽입하는 방식이다.
– X: Adapter Layers는 기존 모델의 모든 레이어를 대체한다.
ㅁ 추가 학습 내용
Adapter Layers와 관련된 다양한 변형 기법과 PEFT(Parameterized Efficient Fine-Tuning)에서 다른 접근법과의 비교를 학습하기 위해 다음과 같이 정리할 수 있습니다.
1. Adapter Layers의 변형 기법:
– Bottleneck Adapter: 모델의 중간 계층에 작은 병목 구조를 추가하여 파라미터의 수를 줄이고 효율적인 미세 조정을 가능하게 하는 방식. 병목 구조는 주로 낮은 차원의 공간에서 학습을 수행하여 계산 비용을 줄이는 데 초점이 맞춰져 있음.
– Parallel Adapter: 기존 모델의 계층과 병렬로 추가적인 어댑터 계층을 구성하여 학습. 병렬 구조를 통해 기존 모델의 표현력을 유지하면서 추가적인 학습을 수행할 수 있음. 이는 모델의 원래 가중치와 독립적으로 학습이 이루어질 수 있도록 설계됨.
2. PEFT에서의 다른 접근법과의 비교:
– Prompt Tuning: 사전 학습된 언어 모델에 입력 프롬프트를 추가로 학습시키는 방식. 모델의 원래 파라미터를 고정한 상태에서 프롬프트를 조정하여 특정 작업에 맞게 성능을 최적화함. 어댑터와 달리 입력 데이터 자체를 조작하는 접근법.
– LoRA (Low-Rank Adaptation): 모델의 가중치를 저랭크 행렬로 분해하여 학습하는 방법. 이는 모델의 전체 파라미터를 업데이트하지 않고 일부 저랭크 행렬만 학습하여 계산 비용을 줄이고 메모리 사용량을 절감함. 어댑터 계층과는 다르게, 기존 모델의 가중치 변형에 초점을 맞춤.
위의 내용을 바탕으로 Adapter Layers의 다양한 변형 기법과 PEFT 내 다른 접근법의 차이점을 이해하고, 각각의 장단점을 파악하여 시험 대비에 활용할 수 있도록 준비하는 것이 중요합니다.