AI/AI 동향
OpenAI, 오늘부터 GPT-3.5 파인 튜닝 가능
RevFactory
2023. 8. 23. 19:48
현재 GPT-3.5 터보에 대한 미세 조정이 가능하며, 올가을에는 GPT-4에 대한 미세 조정이 제공될 예정입니다. 이 업데이트를 통해 개발자는 사용 사례에 맞게 더 나은 성능을 발휘하는 모델을 사용자 지정하고 이러한 사용자 지정 모델을 대규모로 실행할 수 있습니다. 초기 테스트 결과, 미세 조정된 GPT-3.5 터보 버전은 특정 좁은 작업에서 기본 GPT-4 수준의 기능과 일치하거나 심지어 그 이상의 성능을 발휘할 수 있는 것으로 나타났습니다. 모든 API와 마찬가지로, 미세 조정 API를 통해 주고받은 데이터는 고객이 소유하며 OpenAI 또는 다른 조직에서 다른 모델을 훈련하는 데 사용되지 않습니다.
파인 튜닝 비용 정책
미세 조정 비용은 초기 교육 비용과 사용 비용의 두 가지 버킷으로 나뉩니다:
- 교육: $0.008 / 1K 토큰- 사용 입력: $0.012 / 1K 토큰- 사용량 출력: 0.016 / 1K 토큰
예를 들어, 100,000 토큰의 트레이닝 파일로 3회에 걸쳐 트레이닝하는 미세 조정 작업의 예상 비용은 $2.40입니다. gpt-3.5-turbo
파인 튜닝 사용 사례
GPT-3.5 터보 출시 이후, 개발자와 기업은 사용자에게 고유하고 차별화된 경험을 제공하기 위해 모델을 사용자 지정할 수 있는 기능을 요청해 왔습니다. 이번 출시로 개발자는 이제 사용 사례에 맞게 이 모델의 성능을 향상시키기 위해 감독하에 파인 튜닝을 실행할 수 있습니다.비공개 베타 버전에서 미세 조정을 수행한 고객은 다음과 같은 일반적인 사용 사례에서 모델 성능을 의미 있게 개선할 수 있었습니다:향상된 튜닝 가능성: 파인 튜닝을 통해 비즈니스는 출력을 간결하게 만들거나 항상 특정 언어로 응답하는 등 모델이 지침을 더 잘 따르도록 할 수 있습니다. 예를 들어, 개발자는 파인 튜닝을 사용하여 해당 언어를 사용하라는 메시지가 표시될 때 모델이 항상 독일어로 응답하도록 할 수 있습니다.안정적인 출력 서식: 파인 튜닝은 코드 완성이나 API 호출 작성과 같이 특정 응답 형식을 요구하는 애플리케이션에 중요한 요소인 응답 형식을 일관되게 지정하는 모델의 기능을 향상시킵니다. 개발자는 파인 튜닝을 사용하여 사용자 프롬프트를 자체 시스템에서 사용할 수 있는 고품질 JSON 스니펫으로 보다 안정적으로 변환할 수 있습니다.사용자 지정 톤: 파인 튜닝은 어조와 같은 모델 출력의 질적 느낌을 다듬어 비즈니스 브랜드의 목소리에 더 잘 맞도록 할 수 있는 좋은 방법입니다. 인지도가 높은 브랜드 보이스를 가진 비즈니스는 파인 튜닝을 사용하여 모델의 어조를 브랜드 톤과 더 일관되게 만들 수 있습니다.파인 튜닝을 통해 성능 향상 외에도 기업은 비슷한 성능을 보장하면서 프롬프트를 단축할 수 있습니다. GPT-3.5-터보로 파인 튜닝하면 이전 미세 조정 모델의 두 배인 4k 토큰도 처리할 수 있습니다. 초기 테스터들은 모델 자체에 지침을 파인 튜닝하여 프롬프트 크기를 최대 90%까지 줄이고, 각 API 호출 속도를 높이며 비용을 절감했습니다.파인 튜닝은 프롬프트 엔지니어링, 정보 검색, 함수 호출과 같은 다른 기술과 결합할 때 가장 강력한 효과를 발휘합니다. 자세한 내용은 파인 튜닝 가이드를 참조하세요. 함수 호출을 통한 미세 조정 지원은 올가을에 제공될 예정입니다. gpt-3.5-turbo-16k
파인 튜닝 단계
STEP1. 데이터를 준비해주세요
{
"messages": [
{ "role": "system", "content": "당신은 가끔 단어의 철자를 틀리게 입력하는 어시스턴트입니다." },
{ "role": "user", "content": "이야기를 들려줘." },
{ "role": "assistant", "content": "어느날 학생이 학교를 갇습니다." }
]
}
STEP2. 파일을 업로드합니다.
curl -https://api.openai.com/v1/files \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-F "purpose=fine-tune" \
-F "file=@path_to_your_file"
STEP3. 파인튜닝 Job을 생성합니다.
curl https://api.openai.com/v1/fine_tuning/jobs \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"training_file": "TRAINING_FILE_ID",
"model": "gpt-3.5-turbo-0613",
}'
* 모델이 미세 조정 프로세스를 완료하면 바로 생산에 사용할 수 있으며 기본 모델과 동일한 속도 제한이 적용됩니다.
STEP4. 파인 튜닝된 모델을 사용합니다.
curl https://api.openai.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "ft:gpt-3.5-turbo:org_id",
"messages": [
{
"role": "system",
"content": "당신은 가끔 단어의 철자를 틀리게 입력하는 어시스턴트입니다."
},
{
"role": "user",
"content": "안녕! 파인튜닝이 뭔지 설명해줄래?"
}
]
}'
* 또한 조만간 개발자가 진행 중인 미세 조정 작업, 완료된 모델 스냅샷 등에 대한 정보에 더 쉽게 액세스할 수 있는 미세 조정 UI를 선보일 예정입니다.
안정성
미세 조정의 배포가 안전하다는 것은 우리에게 매우 중요합니다. 미세 조정 프로세스를 통해 기본 모델의 안전 기능을 유지하기 위해 미세 조정 훈련 데이터는 모더레이션 API와 GPT-4 기반 모더레이션 시스템을 통해 전달되어 안전 표준과 충돌하는 안전하지 않은 훈련 데이터를 감지합니다.
개인 의견
위 파인 튜닝 예시는 매우 단적인 예 이며, 실제 제대로 된 효과를 보기 위해서는 파인 튜닝 데이터를 준비하는데 많은 노력이 필요하답니다. 예를 들어, GPT-4와 유사한 성능을 낼 수 있다고 언급되어 있는데, 이는 질문 셋을 준비하고, 해당 질문에 대한 GPT-4 의 답변을 정리해서 그것을 GPT-3.5에 파인튜닝 하는 식으로 가능할 것으로 보이며, 아마도 매우 많은 데이터셋이 필요하겠죠?