지도 조정 데이터 준비

이 문서에서는 Gemini Pro 모델의 지도 조정 데이터 세트를 정의하는 방법을 설명합니다. 조정 작동 방식에 대한 일반적인 정보는 Gemini 모델 조정 개요를 참조하세요.

지원되는 모델

다음 Gemini 텍스트 모델은 지도 조정을 지원합니다.

  • gemini-1.0-pro-002

텍스트 모델에서 지도 조정을 사용하는 사용 사례

기반 텍스트 모델은 예상 출력 또는 태스크를 프롬프트에 명확하고 간결하게 정의할 수 있고 프롬프트가 예상 출력을 일관되게 생성할 때 원활하게 작동합니다. 모델이 일반적인 언어 패턴에서 벗어나 틈새 또는 특정 항목을 학습하도록 하려면 해당 모델을 조정하는 것이 좋습니다. 예를 들어 모델 조정을 사용하여 모델에 다음을 학습시킬 수 있습니다.

  • 출력을 생성하기 위한 특정 구조 또는 형식
  • 간결한 출력 또는 상세 출력을 제공할 시기와 같은 특정 동작
  • 특정 유형의 입력에 대한 맞춤설정된 특정 출력

다음 예시는 프롬프트 요청 사항만으로는 캡처하기 어려운 사용 사례입니다.

  • 분류: 예상 응답은 특정 단어 또는 구문입니다.

    모델을 조정하면 모델이 지나치게 상세한 응답을 생성하는 것을 방지할 수 있습니다.

  • 요약: 요약은 특정 형식을 따릅니다. 예를 들어 채팅 요약에서 개인 식별 정보(PII)를 삭제해야 할 수 있습니다.

    스피커 이름을 #Person1#Person2로 바꾸는 이 형식은 설명하기 어렵고 기반 모델이 자연스럽게 이러한 응답을 생성하지 못할 수 있습니다.

  • 추출 질문 응답: 질문은 컨텍스트에 관한 것이고 답변은 컨텍스트의 하위 문자열입니다.

    'Last Glacial Maximum' 응답은 컨텍스트의 특정 구문입니다.

  • 채팅: 캐릭터 또는 역할을 따르도록 모델 응답을 맞춤설정해야 합니다.

다음 상황에서도 모델을 조정할 수 있습니다.

  • 프롬프트가 예상 결과를 일관되게 생성하지 못합니다.
  • 태스크가 너무 복잡해 프롬프트에서 정의할 수 없습니다. 예를 들어 모델이 프롬프트에서 명확히 설명하기 어려운 동작을 위해 동작 복제를 수행하도록 할 수 있습니다.
  • 유도하기 쉽지만 프롬프트에서 공식화하기 어려운 태스크에 대한 인간의 직관은 복잡합니다.
  • 컨텍스트 길이를 줄이려면 퓨샷 예를 제거합니다.

지도 조정 데이터 세트 준비

데이터 세트에는 최소 16개의 예가 포함되어야 하지만 양질의 결과를 얻기 위해서는 최소 100~500개의 예시를 사용하는 것이 좋습니다. 데이터 세트에 제공하는 예가 많을수록 더 좋은 결과가 나옵니다.

샘플 데이터 세트는 이 페이지의 샘플 데이터세트를 참조하세요.

데이터 세트 형식

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

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

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

  • content 필드는 메시지의 콘텐츠입니다.

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

싱글턴 예시

다음 Gemini 스키마에 대한 자세한 내용은 PaLM API에서 Gemini API로 조정 마이그레이션을 참조하세요.

{"messages": [{"role": "system", "content": "You should classify the text into one of the following classes:[business, entertainment]"}{"role": "user","content": "Diversify your investment portfolio"},{"role": "model","content": "business"}]}
{"messages": [{"role": "system", "content": "You should classify the text into one of the following classes:[business, entertainment]"}{"role": "user","content": "Watch a live concert"},{"role": "model","content": "entertainment"}]}

멀티턴 예시

다음 Gemini 스키마에 대한 자세한 내용은 PaLM API에서 Gemini API로 조정 마이그레이션을 참조하세요.

{
  "messages": [
    {
      "role": "system",
      "content": "You are a pirate dog named Captain Barktholomew."
    },
    {
      "role": "user",
      "content": "Hi"
    },
    {
      "role": "model",
      "content": "Argh! What brings ye to my ship?"
    },
    {
      "role": "user",
      "content": "What's your name?"
    },
    {
      "role": "model",
      "content": "I be Captain Barktholomew, the most feared pirate dog of the seven seas."
    }
  ]
}

샘플 데이터 세트

샘플 데이터 세트를 사용하여 gemini-1.0-pro-002 모델 미세 조정의 작동 방식을 테스트할 수 있습니다.

이러한 데이터 세트를 사용하려면 텍스트 모델 지도 조정 작업을 만들 때 적용 가능한 매개변수에 URI를 지정합니다.

예를 들면 다음과 같습니다.

...
"training_dataset_uri": "gs://cloud-samples-data/ai-platform/generative_ai/sft_train_data.jsonl",
...
"validation_dataset_uri": "gs://cloud-samples-data/ai-platform/generative_ai/sft_validation_data.jsonl",
...

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

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

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

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

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

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

다음 단계