이미 훈련된 대규모 언어 모델에 특정 데이터셋을 사용하여 추가적인 학습을 수행하는 작업
대개 전의 학습* (이미 훈련된 모델을 새로운 작업에 적용하는 것) 을 통해 수행
쉽게 설명하자면, 파인튜닝은 이미 배운 것을 기반으로 새로운 문제를 해결하는 과정이다.
ex) 자전거를 타는 법을 알고 있는 사람이 오토바이를 타려고 할 때,
자전거 타기에서 배운 기초적인 지식을 활용하면서 오토바이의 세부 사항을 조정하게 된다.
이처럼 이미 학습된 인공지능 모델을 새로운 문제에 맞게 조정하여 성능을 높이고 학습 시간을 줄이는 과정이다.
파인튜닝은 Full Fine Tuning 과 Requrposing 이렇게 두 가지로 구분된다.
- Full Fine Tuning
모든 모델 매게변수를 포함하여 사전 학습된 모델 전체를 파인튜닝하는 작업 - Requrposing
사전 학습의 모델의 하위 레이어를 그대로 유지하면서 모델의 상위 레이어 또는 선택된 몇개의 레이어를 파인튜닝 하는 방법
파인튜닝은 지도 학습과 비지도 학습으로 구분된다.
- 지도 학습 미세 조정 단계에서 레이블이 지정된 학습 데이터셋을 사용하는 프로세스를 의미
- 비지도학습 미세 조정 단계에서 레이블이 지정되지 않은 학습 데이터셋을 사용하는 것을 포함
- 전이학습 모델의 일부 레이어를 고정시켜서 새로운 데이터셋에 맞게 재사용하는 단계
이렇게 하면 새로운 데이터셋에 대한 특징을 더욱 잘 추출 가능 - 새로운 레이어를 추가하여 전체 모델을 재학습하는 단계
이렇게 하면 새로운 데이터셋에 대해 더욱 정확한 예측 결과 도출 가능
첫째, 과적합(Overfitting)을 방지해야 한다.
파인튜닝을 할 때는 적절한 데이터셋과 모델을 선택하고, 학습 과정에서 과적합을 방지하는 기술을 사용해야 한다.
둘째, 학습률(Learning rate)을 조절해야 한다.
학습률을 너무 높이거나 낮추면 학습 성능이 저하될 수 있으므로 적절한 학습률을 선택해야 한다.
셋째, 파라미터 초기화(Parameter initialization)를 신중하게 해야 한다.
파라미터 초기화가 잘못되면 학습 성능이 저하될 수 있다.