1. OpenAI API 키 발급

 

OpenAI API

An API for accessing new AI models developed by OpenAI

beta.openai.com

OpenAI API 수행을 위해서는 먼저 API Key 발급이 필요합니다. OpenAI 계정이 필요하며 계정이 없다면 계정 생성이 필요합니다. 간단히 Google이나 Microsoft 계정을 연동 할 수 있습니다. 이미 계정이 있다면 로그인 후 진행하시면 됩니다.

로그인이 되었다면 우측 상단 Personal -> [ View API Keys ] 를 클릭합니다.

[ + Create new secret key ] 를 클릭하여 API Key를 생성합니다. API key generated 창이 활성화되면 Key 를 반드시 복사하여 두시기 바랍니다. 창을 닫으면 다시 확인할 수 없습니다. (만약 복사하지 못했다면 다시 Create new secret key 버튼을 눌러 생성하면 되니 걱정하지 않으셔도 됩니다.)

2. Installation

pip install --upgrade openai
더보기

설치 후 command 창에서 openai 명령어를 입력하면 아래와 같이 출력되어야 정상적으로 설치가 된 것 입니다.

설치 후 위에서 발급한 api key를 환경변수에 설정합니다. (.bashrc, zshrc 등)에 아래 줄을 추가하거나 command 창에서 아래 명령줄을 수행하여 환경 변수를 설정합니다 .

export OPENAI_API_KEY="<OPENAI_API_KEY>"

3. Prepare training data

training data는 아래와 같이 prompt와 completion이 한쌍으로 형식으로 작성되어야 하며 JSONL 문서로 저장되어야 합니다.

{"prompt": "<prompt text>", "completion": "<ideal generated text>"}
{"prompt": "<prompt text>", "completion": "<ideal generated text>"}
{"prompt": "<prompt text>", "completion": "<ideal generated text>"}
...
더보기

training data를 준비하기 위한 tool도 제공합니다. 만약 CSV, TSV, XLSX, JSON, JSONL파일형식으로 데이터가 준비되어 있다면 데이터를 검증하고 training data 형식에 맞게 변환하여 jsonl 파일로 저장이 됩니다.

openai tools fine_tunes.prepare_data -f <LOCAL_FILE>

4. Create a fine-tuned model

위에서 준비한 training data file을 <TRAIN_FILE_ID_OR_PATH> 에 입력하고 <BASE_MODEL> 기본 모델을 선택하면 됩니다. 기본  모델은 ada, babbage, curie, davinci 가 있습니다.

openai api fine_tunes.create -t <TRAIN_FILE_ID_OR_PATH> -m <BASE_MODEL>

위 명령어를 수행하면 training data file을 업로드하고 Fine-tuning을 수행합니다. 작업이 완료될 때까지 일정 시간이 소요됩니다. (대략 몇 분 정도 걸리겠지만 만약 대기열에 작업이 많거나 dataset이 큰 경우 몇 시간이 걸릴 수 있습니다.)

완료가 되면 Fine tuning 된 모델명을 확인할 수 있습니다.

5. Use a fine-tuned model 

상단에 Playground 를 선택하여 Fine tuning 된 모델을 선택하여 Test해볼 수 있습니다.

 

Python 코드를 이용하여 확인 할 수도 있습니다.

import openai
openai.api_key = "sk-..."

FINE_TUNED_MODEL = "davinci:ft-personal-....."
YOUR_PROMPT = "hello "

openai.Completion.create(model=FINE_TUNED_MODEL, prompt=YOUR_PROMPT)

print(completion.choices[0].text)

6. Delete a fine-tuned model

openai api models.delete -i <FINE_TUNED_MODEL>

또는 Python을 이용할 수 있습니다.

import openai
openai.Model.delete(FINE_TUNED_MODEL)

 

반응형