Skip to content

GPT fine tuning #

Find similar titles

1회 업데이트 됨.

Edit
  • 최초 작성자
  • 최근 업데이트

개요 #

GPT(Generative Pre-trained Transformer)는 OpenAI에서 개발한 언어 모델로, 특히 자연어 처리(Natural Language Processing, NLP) 작업에 사용되는 대표적인 모델 중 하나이다. GPT는 Transformer 아키텍처를 기반으로 하며, 대규모의 데이터 세트에서 사전 학습된 후 다양한 언어 작업에 대해 뛰어난 성능을 보이는 특징이 있다.

GPT 모델의 미세 조정(fine-tuning)은 미리 학습된 GPT 모델을 특정한 작업이나 데이터에 맞게 추가로 학습시키는 과정을 말한다. 이를 통해 모델은 특정 도메인이나 작업에 더 적합한 특성을 학습하게 된다.

단계 #

미세 조정은 일반적으로 두 단계로 이루어진다. (https://platform.openai.com/finetune)

사전 학습된 모델 선택: 먼저, 특정 작업에 맞는 사전 학습된 GPT 모델을 선택한다. 예를 들어, GPT-3 모델을 선택할 수 있다. 이 모델은 이미 다양한 데이터와 작업에 대해 학습된 상태이기 때문에 초기 성능이 높다.

Image

추가 학습 데이터 사용: 선택한 모델을 원하는 작업에 맞게 더 학습시키기 위해 해당 작업에 관련된 추가 데이터를 사용한다. 예를 들어, 특정 언어의 문장 생성 작업을 수행하려면 해당 언어의 문장 데이터를 사용하여 모델을 미세 조정할 수 있다.

Image

업로드 할 데이터의 형식은 아래와 같아야 한다.

{"prompt": "<prompt text>", "completion": "<ideal generated text>"}
{"prompt": "<prompt text>", "completion": "<ideal generated text>"}
{"prompt": "<prompt text>", "completion": "<ideal generated text>"}

참고: https://platform.openai.com/docs/guides/fine-tuning/preparing-your-dataset

또한, 각 학습에는 4,096개 토큰으로 제한된다. 이보다 더 긴 데이터는 학습 시 처음 4,096개 토큰으로 잘린다. 해당 토큰보다 더 많은 학습을 원한다면 추가 요금이 있으니 OpenAPI 가격 페이지를 참고하여 비용 추정 후에 학습하길 바란다. (https://openai.com/pricing)

학습 모델 확인 #

모델 미세 조정을 한 후에 다음 그림과 같이 학습한 모델을 선택하여 결과를 확인해 볼 수 있다.

(https://platform.openai.com/playground)

Image

미세 조정을 위해 사용되는 데이터 양과 품질은 모델의 최종 성능에 큰 영향을 미친다. 충분한 양의 다양한 데이터가 있을수록 모델은 해당 작업에서 높은 정확도를 보일 것이다. 이러한 과정을 거쳐, 미세 조정된 모델은 원래 모델의 일반적인 특성을 유지하면서도 추가된 작업에 대해 특화된 특성을 학습하게 된다.

잘 학습한다면 아래와 같은 결과를 얻을 수 있다.

Image

더 자세한 정보를 원한다면 OpenAPI 문서를(https://platform.openai.com/docs/guides/fine-tuning) 참고하여 나만의 GPT를 만들어보자.

0.0.1_20240214_1_v81