OpenAi는 최근 미세 조정 언어 모델을위한 UI 인터페이스를 출시했습니다. 이 튜토리얼에서는 OpenAI UI를 사용하여 미세 조정 된 GPT 모델을 만듭니다. 이 부분을 따라 가려면 OpenAI 계정과 키가 있어야합니다. 1. Platform.openai.com 에 로그인하십시오
2. 데이터를 준비하십시오
데모를 위해, 나는 질문 답변의 작은 데이터 세트를 기획했으며, 현재 Pandas Dataframe으로 저장되어 있습니다.
내가 한 일을 보여주기 위해 셰익스피어 스타일로 50 개의 기계 학습 질문과 답변을 만들었습니다. 이 미세 조정 작업을 통해 저는 GPT3.5-Turbo 모델의 스타일과 톤을 개인화하고 있습니다.
매우 실용적인 사용 사례는 아니지만 단순히 "셰익스피어 스타일로 답변"을 추가 할 수 있으므로 GPT3.5는 확실히 셰익스피어를 알고 필요한 톤으로 답을 생성 할 것입니다.
.
OpenAi의 경우 데이터는 JSONL 형식이어야합니다. JSONL은 각 라인이 NewLines로 분리 된 유효한 JSON 객체 인 형식입니다. Pd.DataFrame을 JSONL로 변환하는 간단한 코드를 작성했습니다.
이것은 내 JSONL 파일의 모습입니다
3. 미세 조정 작업을 만듭니다
Platform.openai.com으로 가서 상단 메뉴에서 미세 조정으로 이동하여 새 생성을 클릭하십시오.
기본 모델을 선택하십시오. 현재 미세 조정을위한 3 개의 모델 만 사용할 수 있습니다 (Babbage-002, Davinci-002, GPT-3.5-Turbo-0613).
다음, JSONL 파일을 업로드하고 작업 이름을 밝히고 작성을 클릭하십시오.
튜닝 작업은 데이터 세트의 크기에 따라 몇 시간 또는 며칠이 걸릴 수 있습니다. 내 예에서, 데이터 세트에는 5,500 개의 토큰 만 있었고 미세 조정에 6 시간 이상이 걸렸습니다. 이 직업의 비용은 중요하지 않았습니다 (& lt; $ 1 = 5,500/1000 x $ 0.08).
이 자습서는 UI를 사용하여 GPT 모델을 미세 조정하는 방법을 보여줍니다. API를 사용하여 동일한 것을 달성하는 방법을 배우려면 DataCamp에서 Zoumana Keita의 OpenAI API 및 Python 튜토리얼을 사용하여 미세 조정 GPT-3을 확인하십시오.
4. 미세 조정 된 모델 를 사용합니다
튜닝 작업이 완료되면 이제 API를 통해 미세 조정 된 모델을 사용하거나 Platform.openai.com에서 사용할 수있는 놀이터를 사용할 수 있습니다.
import json
import pandas as pd
DEFAULT_SYSTEM_PROMPT = 'You are a teaching assistant for Machine Learning. You should help the user to answer his question.'
def create_dataset(question, answer):
return {
"messages": [
{"role": "system", "content": DEFAULT_SYSTEM_PROMPT},
{"role": "user", "content": question},
{"role": "assistant", "content": answer},
]
}
if __name__ == "__main__":
df = pd.read_csv("path/to/file.csv", encoding='cp1252')
with open("train.jsonl", "w") as f:
for _, row in df.iterrows():
example_str = json.dumps(create_dataset(row["Question"], row["Answer"]))
f.write(example_str + "\n")
모델 드롭 다운 하에서 이제는 선택할 수있는 개인 3.5 터보가 있습니다. 시도해 봅시다.
응답의 어조와 스타일을 확인하십시오
Openai Python 패키지로 작업하는 방법을 배우려면 프로그래밍 방식으로 Chatgpt와 대화를 나누는 방법을 배우려면 DataCamp의 Python 블로그에서 Openai API를 통해 GPT-3.5 및 GPT-4를 사용하여 확인하십시오. 안전 및 프라이버시
OpenAi는 안전을 심각하게 받아들이고 테스트, 전문가 피드백, 모델 행동 및 모니터링 시스템을 포함한 기술을 포함한 새로운 모델을 출시하기 전에 엄격한 프로세스를 가지고 있습니다. 그들은 강력한 AI 시스템을 유익하고 예측 가능한 위험을 최소화하는 것을 목표로합니다.
미세 조정을 통해 중요한 안전 기능을 보존하면서 GPT-3.5 터보와 같은 모델을 사용자 정의 할 수 있습니다. OpenAI는 위험 완화 및 모델을 조정하기 위해 측정, 모델 변경, 정책, 모니터링 등 여러 수준에서 중재를 적용합니다.
OpenAi는 실현 가능한 교육 데이터에서 개인 정보를 제거하고 개인 정보로 콘텐츠를 생성하는 정책이 있습니다. 이것은 개인 정보 보호 위험을 최소화합니다.
민감한 데이터가없는 일반적인 사용 사례의 경우 OpenAI 모델을 안전하게 활용할 수 있습니다. 그러나 독점 또는 규제 데이터의 경우 데이터 난독 화, 개인 AI 프로세서 또는 사내 모델과 같은 옵션이 바람직 할 수 있습니다.
미세 조정 GPT 3.5-turbo 비용
미세 조정 및 미세 조정 GPT 3.5-Turbo 모델 사용과 관련된 세 가지 비용이 있습니다.
교육 데이터 준비.
여기에는 특정 사용 사례에 맞게 조정 된 텍스트 프롬프트 및 원하는 응답의 데이터 세트를 치료하는 것이 포함됩니다. 비용은 데이터를 공급하고 형식화하는 데 필요한 시간과 노력에 따라 다릅니다.
초기 교육 비용. 이것은 교육 데이터의 토큰 당 청구됩니다. 1,000 마리의 토큰 당 $ 0.008, 100,000 토큰 교육 세트는 초기 미세 조정의 경우 $ 800입니다.
지속적인 사용 비용. 입력 프롬프트와 모델 출력 모두에 대해 토큰 당 청구됩니다. 1,000 개의 입력 토큰 당 $ 0.012, 1,000 개의 출력 토큰 당 $ 0.016, 응용 프로그램 사용에 따라 비용이 빨리 추가 될 수 있습니다.
사용 비용 시나리오의 예를 봅시다 :
4,000 개의 토큰 프롬프트/응답이있는 챗봇, 하루에 1,000 개의 상호 작용 : (4,000/1000) 입력 토큰 x $ 0.012 x 1,000 상호 작용 = $ 48 (4,000/1000) 출력 토큰 x $ 0.016 x 1,000 상호 작용 = $ 64 일당 $ 1120 또는 $ 1120
2,000 개의 토큰 입력이있는 텍스트 요약 API, 하루 500 개의 요청 : (2,000/1000) 입력 토큰 x $ 0.012 x 500 요청 = $ 12 (2,000/1000) 출력 토큰 x $ 0.016 x 500 요청 = $ 16
참고 : 개방형 가격이 1K 토큰에 따라 인용되기 때문에 토큰으로 1000으로 나뉩니다.