지난 글 “BCT AI Chatbot 개발 – 대규모 데이터 임베딩 처리 시 고려사항“에 이어 이번에는 대규모 데이터 학습 시 고려해야 할 부분을 다뤄보겠습니다.
(5) jsonl 데이터를 ChatGPT 학습용 데이터셋으로 변환
앞서 생성한 커스텀 포스트 타입으로 14만여개 데이터를 임포트 한 이후, 이 데이터를 전체를 jsonl 형태로 변환합니다. 변환 완료되면 다음과 같이 커스텀 파일이 생성됩니다.

[Download] 버튼을 눌러 파일을 다운로드 해서 파일 내용을 확인해 보면 다음과 같습니다.

[Upload] 버튼을 눌러 데이터셋으로 변환합니다.
(6) 데이터셋 변환
앞서 변환한 jsonl 파일을 데이터셋으로 변환합니다. 변환 완료된 화면은 다음과 같습니다.

[Create Fine-Tune] 버튼을 클릭하면 파인튜닝(fine-tuning)을 진행하게 됩니다.
(7) 커스텀 모델 생성
OpenAI API를 통해 생성한 데이터셋을 입력값으로 하여 파인-튜닝을 진행하였습니다. 이전과 달리 파인-튜닝에 상당히 오랜 시간이 걸리네요. 진행 중인 상태는 다음과 같습니다.

[Events] 버튼을 눌러 파인-튜닝 진행 단계를 확인할 수 있습니다.

커스텀 모델 생성 완료되면 다음처럼 FT Model에 생성된 모델명을 확인할 수 있습니다.

FT Model davinci:ft-bctone-2023-07-23-07-03-29이 생성된 커스텀 모델 입니다. 학습된 결과는 Results files에서 확인할 수 있습니다.

50개 데이터 쌍을 학습하는데 약 3시간 정도 걸렸고, 0.53$ 비용이 발생했네요.