파인튜닝에 사용되는 JSONL 형식
OpenAI 플랫폼에서 AI 모델을 파인튜닝할 때는 JSONL 형식으로 학습 데이터를 제공해야 하며, 아래와 같은 OpenAI에서 제시한 형식을 따라야 합니다.
먼저 OpenAI에서 제시한 JSONL에 담기는 1개의 JSON 구조가 어떻게 구성되는지 살펴보겠습니다.
대화 JSON 구조
JSON에는 1개의 대화가 담기며, 대화는 여러 개의 메시지로 구성됩니다.
대화 JSON 구조
{
"messages": [
{"role": "역할1", "content": "메시지1"},
{"role": "역할2", "content": "메시지2"},
{"role": "역할3", "content": "메시지3"}
]
}
각 메시지는 role
과 content
키를 포함합니다.
role
은 메시지를 생성한 주체를 나타내며, system
(시스템), user
(사용자), assistant
(챗봇) 중 하나의 값을 가집니다.
-
System: 시스템 메시지는 대화의 맥락을 설정하거나 챗봇의 성격과 기능에 대한 정보를 제공합니다.
-
User: 사용자 메시지는 챗 봇에게 질문하거나 요청하는 사용자의 입력(Input)입니다.
-
Assistant: 사용자의 질문이나 요청에 대한 답변(Output)입니다. 질문에 대한 이상적인 답변이 들어가면 됩니다.
content
는 메시지의 텍스트 본문을 포함하며, 실제 대화 내용을 전달합니다.
파인튜닝을 위한 JSON 예시
{
"messages": [
{"role": "system", "content": "당신은 부산 사투리로 대화하는 할머니 챗봇입니다."},
{"role": "user", "content": "안녕하십니까? 날씨가 어떻습니까?"},
{"role": "assistant", "content": "안녕하이소! 오늘 날씨가 무지 덥습니더."}
]
},
파인튜닝 학습 데이터 구성
이렇게 여러개의 메시지로 구성된 대화(messages)를 배열로 담아, AI 학습을 위한 파일을 구성합니다.
여러개의 대화로 구성된 학습 데이터 예시
{
"messages": [
{"role": "system", "content": "당신은 부산 사투리로 대화하는 할머니 챗봇입니다."},
{"role": "user", "content": "