Notice
Recent Posts
Recent Comments
Link
«   2025/12   »
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
Archives
Today
Total
관리 메뉴

Dende

[LLM] 파인튜닝 개념정리 본문

LLM

[LLM] 파인튜닝 개념정리

Dende 2024. 8. 20. 14:44

파인튜닝이란?

사전 훈련된 모델에게 특정 작업이나 도메인에 높은 적합성 확보를 시키기 위해

데이터를 추가 학습시켜 맞춤형 모델로 업데이트하는 기법.

 

※ 파인튜닝에 앞서 다음 내용을 우선 고려.

 - 올바른 프롬프트를 사용하면 파인튜닝 없이 결과 개선이 가능

 - 프롬프트 및 기타 전략을 반복하는 것이 파인튜닝을 반복하는 것보다 피드백 루프가 훨씬 빠름.

 - 반면, 파인튜닝을 반복하는 경우 학습 데이터셋을 만들고 학습 프로세스를 다시 수헹해야 함.

 - 일반적으로 파인튜닝과 함께 좋은 프롬프트를 결합할 때 최상의 결과를 낼 수 있음

파인튜닝 절차

순서 단계명 내용
1 사전 학습 모델 선택 대상 작업의 성격과 데이터셋의 특성을 기반으로 적합한 사전 학습 모델을 선택합니다. 전이학습이라고도 함.
2 베이스모델에 대한 이해 사용하는 언어 모델에 대한 구조/강점/제약 사항들을 사전 파악.
이후, 다양성과 창의성 등 성능을 평가하여 파인튜닝 영역을 선정. 
3 파인튜닝 전략 정의 작업 요구 사항 및 사용 가능한 리소스를 기반으로 적절한 파인튜닝 전략을 선택합니다. 전체 미세 조정 혹은 부분 미세 조정을 수행할지 여부와 파인튜닝 수준 및 범위를 고려합니다.
4 데이터셋 준비 대상 영역에 대한 파인튜닝 작업과 관련된 학습 데이터셋을 수집하고 준비합니다. 데이터 세트의 품질과 정확성을 보장하고 필요한 데이터 정리 및 전처리를 수행합니다.
5 모델 매개변수 초기화 사전 학습된 모델의 가중치를 기반으로 파인튜닝된 모델의 매개변수를 초기화합니다. 완전한 미세 조정을 위해 모든 모델 매개변수가 무작위로 초기화됩니다.
부분 파인튜닝의 경우 최상위 레이어 또는 일부 레이어의 매개변수만 무작위로 초기화됩니다.
6 하이퍼파라미터 설정 학습률, 배치 크기, 훈련 에포크 수 등과 같은 파인튜닝을 위한 하이퍼파라미터를 결정합니다. 이러한 하이퍼파라미터의 선택은 미세 조정의 성능과 수렴 속도에 영향을 미칠 수 있습니다.
7 파인튜닝 학습 준비한 데이터셋과 파인튜닝 전략을 사용하여 모델을 훈련합니다.
학습 과정에서 설정된 하이퍼파라미터와 최적화 알고리즘을 기반으로 모델 매개변수를 점진적으로 조정하여 손실 함수를 최소화.


파운데이션 모델별 파인튜닝 방법론 적용 

FM 모델 상용
구분
파인튜닝 방법론 비고
Full Fine
Tuning
Repurposing
프롬프트
엔지니어링
프롬프트
튜닝
Adapter-based
Tuning *
GPT 상용 X O O X  
Gemini 상용 X O O X  
Claude 상용 X O O X Web console을 통해 API
llama 3 오픈소스 O O O O  

 → 거대 상용 모델에서는 요구하는 Full Fine Tuning에 대한 자원 및 비용 소모 부담이 증대 

      → 오픈소스 모델에 대한 Adapter-based Tuning* 방법을 채택하는 케이스가 많아짐

 

* Adapter-based Tuning

> 모델의 구조는 그대로 유지하면서, 작은 신경망 Adapter를 특정 레이어 사이에 삽입하여 성능을 조정
> Adapter는 원본 모델의 파라미터를 freezing 하고, Adapter만을 학습 시키기 때문에 적은 리소스로 특정 작업에 대한 모델의 성능을 최적화 할 수 있음.

  ※ 대표적인 방법 : LoRA(Low Rank Adaptation), QLoRA(Quantized Low Rank Adaptation)


파인튜닝 유형

파인튜닝 전략

(출처 : https://choice-life.tistory.com/40 )

 

케이스  1. 훈련 데이터셋 大 , 사전학습 모델과의 유사성 低     

→   Full Fine Tuning : 사전 학습된 모델의 모든 가중치를 조정하는 방식으로 사전 학습 모델과 데이터셋 간의 연관성이 적을 때 유효 

 

케이스 2. 훈련 데이터셋 大 , 사전학습 모델과의 유사성

→   Partial Fine Tuning : 모델의 특정 레이어(주로 상위 레이어)만 조정, 나머지 레이어는 고정(freeze). 사전 학습된 모델이 이미 훈련 데이터와 높은 연관성을 가지고 있으므로, 하위 레이어들은 대부분의 기본적인 특징을 잘 학습하고 있을 가능성이 큽니다. 따라서 상위 레이어만 조정하여, 새로운 데이터셋에 맞는 출력을 최적화할 수 있습니다.

 

케이스 3. 훈련 데이터셋 小 , 사전학습 모델과의 유사성 低

→   Partial Fine Tuning 

※ 훈련 데이터셋의 증강(Data Augmentation)을 통해 학습 후의 유사성을 높이는 방식도 채택 가능

 

케이스  4. 훈련 데이터셋 小 , 사전학습 모델과의 유사성 高 

→   Prompt Tuning : 데이터셋이 작고, 사전 학습된 모델과 연관성이 높을 경우, 모델의 기존 지식을 최대한 활용하는 것이 중요.  프롬프트 튜닝을 통해 입력 방식만 조정해도 성능 향상을 기대