[0] CLI(command-line interface) 시스템 환경 세팅
 
 
1. openai 라이브러리 설치
$ pip install --upgrade openai
 
 
 
 
2. OPENAI API KEY 환경 변수 추가
$ export OPENAI_API_KEY="{OPENAI_API_KEY}"

 

 

 


 
 
 
 
[1] 학습 데이터 생성
 
<prompt와 completion는 무엇인가?>
- prompt: 쉽게 말해, 요청문(명령문 또는 질문)이다.
- completion: 쉽게 말해, prompt에 대한 응답문이다.
 
 
 
<명령어>
$ openai tools fine_tunes.prepare_data -f {LOCAL FILE}
 
 
 
<생성되는 TRAINING FILE(학습 데이터 파일) 이름>
{LOCAL FILE 이름}_prepared.jsonl
 
 
 
 
<LOCAL FILE 포맷 조건>
- 지원하는 파일 확장자 종류: CSV, TSV, XLSX, JSON, JSONL
- 데이터 구조: prompt와 completion가 서로 1:1 대응하여 쌍을 이루는 데이터 목록
- prompt와 completion 작성 조건:
   => "TRAINING FILE(학습 데이터 파일) 포맷 조건"에 맞게 학습 데이터 파일이 생성되도록 포맷 작성.
   =>  학습 데이터량이 많을수록 또는 prompt와 completion 포맷을 최적화할수록 prompt가 다양한 포맷으로 입력되더라도 원하는 completion을 응답 받을 수 있다.
 
 
 
 
 

 
 
 
 
[2] 학습 모델 생성
 
<명령어>
$ openai api fine_tunes.create --training_file {TRAINING FILE의 ID 또는 파일 경로} --model {GPT v3.0 BASE MODEL}
 
 
<TRAINING FILE(학습 데이터 파일) 포맷 조건>
- prompt 포맷 조건:
   => 문장의 끝에는 동일한 suffix(예를 들어, "\n\n###\n\n")가 존재해야 한다.
- completion 포맷 조건:
   => 문장의 시작에는 공백(whitespace)이 존재해야 한다.
   => 문장의 끝에는 특정 stop sequence(예를 들어, "###")가 존재해야 한다.
 
 
<GPT v3.0 BASE MODEL 종류>
- text-curie-001
- text-babbage-001
- text-ada-001
- davinci
- curie
- babbage
- ada

 

 

 


 

 

 

[3] 학습 모델 테스트
 
1. OpenAI Playground 사이트 접속 (https://platform.openai.com/playground)
 
2. 다음과 같이 항목 설정
- Mode: Complete
- Model: (학습시킨 모델명으로 설정)
- Temperature: (기본적으로 0으로 설정)
- Maximum length: (completion 데이터의 최대 길이보다 크게 설정)
- Stop sequences: (completion 포맷의 suffix로 설정)
- (나머지 항목들은 그대로 두기)
 
3. prompt 입력 후 [Submit] 버튼 클릭
 
4. 생성된 응답 값 확인

+ Recent posts