Skip to content

Latest commit

 

History

History
42 lines (31 loc) · 2.68 KB

Fine Tuning LLM을 개조해보자.md

File metadata and controls

42 lines (31 loc) · 2.68 KB
  1. #LLM이란
  2. #Fine_Tuning이란
  3. #Langchain

1. #LLM이란

LLM이란 Lerge Language Model의 약자로, 번역하면 대규모 언어모델이다. 이름에서 알 수 있듯이 거대한 규모의 언어모델로, GPT처럼 Transformer를 사용하든 비지도 학습을 사용했든 모델의 파라미터( 매개변수라고도 한다 )가 엄청나게 많은 모든 언어 모델을 LLM이라고 한다.

기본적으로 언어모델은 주어진 문장에서 다음에 나타날 글자를 예측하도록 학습되는데, 이를 이용하면 문장 자동 완성이나 글쓰기 등을 할 수 있다. 또한 만약 학습 데이터가 특정 장르의 소설이거나 코드, 음표 등이라면 이를 이용해 소설 쓰는 인공지능, 프로그래머 인공지능, 작곡가 인공지능을 만들 수 있고 실제로 Copilet과 같이 넓게 서비스되고 있는 분야도 있다.

그리고 GPT와 같이 기존의 LLM에서 학습 데이터의 input과 output을 문답의 형식으로 지정하여 쳍봇의 형태로 만들기도 하는데, 이러한 과정에서 쓰이는 대표적인 기술이 Fine Tuning이다.


2. #Fine_Tuning이란

Fine Tuning은 미세 조정이라는 의미로, 문장 완성 형식으로 결과를 출력하도록 사전 학습된 LLM들을 번역이나 요약, 대화 등 각 목적에 맞춰 사용하기 위해 일부 파라미터를 조정하여 사용하는 방법이다.

미세 조정이라는 이름에 맞게 모델에서 대부분의 레이어를 동결시킨 상태로 일부 레이어의 가중치만을 업데이트하여( 학습시켜 ) 원하는 목적에 대한 정확도를 높히도록 한다. 이를 통해 한번 사전 학습한 LLM을 의학, 상담 등등 여러 분야에서 활용할 수 있도록 한다.

fine-tuning에선 아래와 같은 것들을 유의해야 한다.

Overfitting

Learning rating

Parameter initialization

하나하나 살펴보자

Overfiting

사실 과적합은 모든 모델에서의 유의사항이긴 하다. 과하게 학습시키면 모델이 유연성을 잃어버릴 수 있으니 Dropout과 epoche를 조절하여 과적합이 일어나지 않도록 조심해야 한다

Learning rating

학습률이 너무 높게 잡았다가는 모델의 방향성이 과하게 조정되어 Overfiting과 비슷한 부작용이 일어날 수 있으니 학습이 오래 걸리더라도 학습률을 낮게 잡아 천천히 조정하는 것이 좋다.

Parameter inititalization

학습 초기에 일부 파라미터를 초기화 하기 때문에 성능저하가 발생할 수 있다는 점을 기억하자. 무턱대고 fine tuning했다간 이유를 알 수 없는 성능저하의 늪에 빠질 수 있다.


3.