pre-training과 fine-tuning이란 무엇일까?

Dev_Goomin·2024년 4월 9일
0

Generative Ai LLM

목록 보기
1/9

본인은 현재 프론트엔드 포지션으로 재직 중 이지만, 최근 회사에서 LLM을 사용 하여 RAG를 구현 해볼 수 있는 기회가 생겼고 최근 LLM에 흥미를 갖게됐습니다.
coursera에서 강의를 듣는 중에 pre-training과 fine-tuning에 대한 이야기가 나오는데, 강의 내 에서는 설명을 해주지 않아 간단히 작성해보고자 합니다.

Fine-tuning 이란?

새 task를 위해 새로운 모델로 처음부터 학습시키는 대신 대규모 데이터셋에서 이미 학습된 사전 학습(Pre-training) 모델을 사용하고, 새로운 task에 따라 가중치를 조정(Fine tuning)하는 방식이다

Pre-training 이란?

사전 학습된 모델로 광범위한 dataset 혹은 특정 task에 맞는 dataset으로 훈련된 Model이다.
다시 말해서, pre-traning을 통해서 사전학습을 해놓은 모델을 특정한 작업을 위해사 다시 학습하는 것이 fine-tuning입니다.


비유를 들자면, 뜻은 모르지만 영어 오디오를 계속 반복해서 듣다보면 "이 다음에는 이런 소리가 나오겠구나"하는 감이 생기잖아요?

이렇게 뜻을 알려주지 않고 학습하는 것을 self-supervised learning이라고 하고, pre-training에 자주 사용됩니다.

이렇게 영어 오디오에 감을 익힌 상태에서 해당 오디오의 텍스트를 보여주면서 영어 학습을 시키는게 fine-tuning이라고 할 수 있으며, 답안과 비교를 하면서 학습을 하기 때문에 supervised learning이 됩니다.

NLP에서는 BERT라고 하는 모델이 제안되었음며, 위키피디아와 책 텍스트를 이용해서 생략된 단어 예측, 다음 문장 예측 학습을 합니다.

이렇게 self-supervised learning 방식으로 pre-training을 해 놓은 모델을 구글이 공개해 놓았고, 이렇게 공개된 모델을 그대로 가져와서 사용자들이 각자 필요한 작업에 fine-tuning을 한다고 합니다.
BERT에 대해서는 더 찾아보고, 다음 글 에서 작성 해보도록 하겠습니다.
AI는 입문하기가 어렵네요 🥲

profile
LLM을 배워보자..!

0개의 댓글