Gemini 모델용 지도 미세 조정 데이터 준비

이 문서에서는 Gemini 모델의 지도 미세 조정 데이터 세트를 정의하는 방법을 설명합니다. 텍스트, 이미지, 오디오, 문서 데이터 유형을 조정할 수 있습니다.

지도 미세 조정 데이터 세트 정보

지도 미세 조정 데이터 세트는 선행 학습된 모델을 특정 태스크 또는 도메인에 맞게 미세 조정하는 데 사용됩니다. 입력 데이터는 모델이 실제 사용하는 데이터와 유사해야 합니다. 출력 라벨은 각 입력의 정답 또는 결과를 나타내야 합니다.

학습 데이터 세트

모델을 조정하려면 학습 데이터 세트를 제공합니다. 최상의 결과를 얻으려면 100개 예시로 시작하는 것이 좋습니다. 필요한 경우 예시를 최대 수천 개까지 확장할 수 있습니다. 데이터 세트의 품질이 수량보다 훨씬 중요합니다.

제한사항:

  • 예시당 최대 입력 및 출력 토큰 수: 32,000
  • 학습 데이터 세트의 최대 파일 크기: JSONL의 경우 최대 1GB

검사 데이터 세트

검사 데이터 세트를 제공하는 것이 좋습니다. 검사 데이터 세트를 사용하면 조정 작업의 효과를 측정할 수 있습니다.

제한사항:

  • 예시당 최대 입력 및 출력 토큰 수: 32,000
  • 검사 데이터 세트의 최대 예시 수: 256
  • 학습 데이터 세트의 최대 파일 크기: JSONL의 경우 최대 1GB

데이터 세트 형식

모델 조정 데이터 세트는 각 줄에 단일 조정 예시가 포함된 JSON Lines(JSONL) 형식이어야 합니다. 모델을 조정하기 전에 데이터 세트를 Cloud Storage 버킷에 업로드해야 합니다.

gemini-1.5-progemini-1.5-flash의 데이터 세트 예시

{
  "systemInstruction": {
    "role": string,
    "parts": [
      {
        "text": string
      }
    ]
  },
  "contents": [
    {
      "role": string,
      "parts": [
        {
          // Union field data can be only one of the following:
          "text": string,
          "fileData": {
            "mimeType": string,
            "fileUri": string
          }
        }
      ]
    }
  ]
}

매개변수

요청 본문에는 다음과 같은 매개변수가 있는 데이터가 포함됩니다.

매개변수

contents

필수: Content

모델과의 현재 대화 콘텐츠입니다.

싱글턴 쿼리의 경우 이는 단일 인스턴스입니다. 멀티턴 쿼리의 경우 이는 대화 기록과 최근 요청이 포함된 반복 필드입니다.

systemInstruction

선택사항: Content

gemini-1.5-flash, gemini-1.5-pro, gemini-1.0-pro-002에 사용할 수 있습니다.

성능 향상을 위해 모델을 조정하는 안내입니다. 예를 들면 '가능한 한 간결하게 답변하세요' 또는 '응답에 기술 용어를 사용하지 마세요' 등이 있습니다.

text 문자열은 토큰 제한에 포함됩니다.

systemInstructionrole 필드는 무시되며 모델 성능에 영향을 미치지 않습니다.

콘텐츠

메시지의 여러 부분으로 구성된 콘텐츠를 포함하는 구조화된 데이터의 기본 유형입니다.

이 클래스는 roleparts라는 두 가지 기본 속성으로 구성됩니다. role 속성은 콘텐츠를 생성하는 개별 사용자를 나타내고 parts 속성에는 여러 요소가 포함되며 각 요소는 메시지 내 데이터 세그먼트를 나타냅니다.

매개변수

role

선택사항: string

메시지를 만드는 항목의 ID입니다. 다음과 같은 값이 지원됩니다.

  • user: 실제 사람이 메시지(일반적으로 사용자가 만든 메시지)를 보냈음을 나타냅니다.
  • model: 메시지가 모델에서 생성되었음을 나타냅니다.

model 값은 멀티턴 대화 중에 모델의 메시지를 대화에 삽입하는 데 사용됩니다.

멀티턴이 아닌 대화의 경우 이 필드를 비워 두거나 설정하지 않을 수 있습니다.

parts

part

단일 메시지를 구성하는 순서가 지정된 부분의 목록입니다. 부분마다 IANA MIME 유형이 다를 수 있습니다.

최대 토큰 수 또는 최대 이미지 수와 같은 입력 한도는 Google 모델 페이지의 모델 사양을 참조하세요.

요청에 포함된 토큰 수를 계산하려면 토큰 수 가져오기를 참조하세요.

파트

멀티 파트 Content 메시지의 일부인 미디어를 포함하는 데이터 유형입니다.

매개변수

text

선택사항: string

텍스트 프롬프트 또는 코드 스니펫입니다.

fileData

선택사항: fileData

파일에 저장된 데이터입니다.

Gemini 1.0 Pro용 데이터 세트 예시

조정 데이터 세트의 각 대화 예시는 필수 메시지 필드로 구성됩니다.

messages 필드는 역할-콘텐츠 쌍의 배열로 구성됩니다. role 필드는 메시지 작성자를 나타내며 system, user 또는 model로 설정됩니다. system 역할은 선택사항이며 메시지 목록의 첫 번째 요소에만 나타날 수 있습니다. user 또는 model 역할은 필수이며 교대로 반복할 수 있습니다.

content 필드는 메시지의 content입니다.

각 예시에서 contextmessages의 최대 토큰 길이는 32,768개의 토큰입니다. 또한 모델 필드의 각 콘텐츠 필드는 토큰 8,192개를 초과해서는 안 됩니다.

{
  "messages": [
    {
      "role": string,
      "content": string
    }
  ]
}

프로덕션 데이터와 일관성 유지

데이터 세트의 예시는 예상되는 프로덕션 트래픽과 일치해야 합니다. 데이터 세트에 특정 형식, 키워드, 안내 또는 정보가 포함된 경우 프로덕션 데이터의 형식이 동일한 방식으로 지정되어야 하며 동일한 안내를 포함해야 합니다.

예를 들어 데이터 세트의 예시에 "question:""context:"가 포함된 경우 프로덕션 트래픽 형식 지정 시 "question:""context:"가 데이터 세트 예시를 표시하는 것과 동일한 순서로 포함되어야 합니다. 컨텍스트를 제외하면 데이터 세트 예시에 정확한 질문이 있더라도 모델이 패턴을 인식하지 못합니다.

Cloud Storage에 조정 데이터 세트 업로드

조정 작업을 실행하려면 Cloud Storage 버킷에 하나 이상의 데이터 세트를 업로드해야 합니다. 새 Cloud Storage 버킷을 만들거나 기존 버킷을 사용하여 데이터 세트 파일을 저장할 수 있습니다. 버킷의 리전은 중요하지 않지만 모델을 조정하려는 동일한 Google Cloud 프로젝트에 있는 버킷을 사용하는 것이 좋습니다.

버킷이 준비되면 데이터 세트 파일을 버킷에 업로드합니다.

프롬프트 설계 권장사항 준수

학습 데이터 세트가 있고 모델을 학습시켰으면 프롬프트를 설계할 차례입니다. 학습 데이터 세트에서 프롬프트 설계 권장사항에 따라 수행할 작업과 출력 형식을 자세히 설명하는 것이 중요합니다.

다음 단계