

# 멀티모달 미세 조정을 위한 데이터 준비
<a name="fine-tune-prepare-data-understanding"></a>

다음은 이해 모델 미세 조정을 위한 데이터 준비에 대한 지침과 요구 사항입니다.

1. 미세 조정을 위한 최소 데이터 크기는 태스크(복잡 또는 단순)에 따라 다르지만 모델이 훈련할 각 태스크에 대해 최소 100개 이상의 샘플을 보유하는 것이 좋습니다.

1. 최상의 결과를 얻으려면 훈련과 추론 모두에서 제로샷 설정으로 최적화된 프롬프트를 사용하는 것이 좋습니다.

1. 훈련 및 검증 데이터세트는 각 줄이 레코드에 해당하는 JSON 객체인 JSONL 파일이어야 합니다. 이러한 파일 이름은 영숫자, 밑줄, 하이픈, 슬래시 및 점으로만 구성할 수 있습니다.

1. 이미지 및 비디오 제약 조건

   1. 데이터세트에 서로 다른 미디어 모달을 포함할 수 없습니다. 즉, 데이터세트는 이미지가 포함된 텍스트이거나 비디오가 포함된 텍스트일 수 있습니다.

   1. 하나의 샘플(메시지의 단일 레코드)에 여러 개의 이미지가 있을 수 있습니다.

   1. 하나의 샘플(메시지의 단일 레코드)에 한 개의 비디오만 있을 수 있습니다.

1. `schemaVersion`는 모든 문자열 값일 수 있습니다.

1. `system` 턴(*선택 사항*)은 고객이 제공한 사용자 지정 시스템 프롬프트일 수 있습니다.

1. 지원되는 역할은 `user` 및 `assistant`입니다.

1. `messages`의 첫 번째 턴은 항상 `"role": "user"`로 시작해야 합니다. 마지막 턴은 봇의 응답이며, ‘role’: ‘assistant’로 표시됩니다.

1. Amazon Bedrock에서 `image.source.s3Location.uri`와 `video.source.s3Location.uri`를 액세스할 수 있어야 합니다.

1.  Amazon Bedrock 서비스 역할에서 Amazon S3의 이미지 파일에 액세스할 수 있어야 합니다. 액세스 권한 부여에 대한 자세한 내용은 [Create a service role for model customization](https://docs.aws.amazon.com/bedrock/latest/userguide/model-customization-iam-role.html)을 참조하세요.

1. 이미지 또는 비디오가 데이터세트와 동일한 Amazon S3 버킷에 있어야 합니다. 예를 들어 데이터세트가 `s3://amzn-s3-demo-bucket/train/train.jsonl`에 있는 경우 이미지 또는 비디오는 `s3://amzn-s3-demo-bucket`에 있어야 합니다.

1. `User:`, `Bot:`, `Assistant:`, `System:`, `<image>`, `<video>`, `[EOS]` 등의 용어는 예약 키워드입니다. 사용자 프롬프트 또는 시스템 프롬프트가 이 키워드로 시작하거나 프롬프트 내 어디에서든 이 키워드를 포함하고 있으면, 데이터 문제로 인해 학습 작업이 실패하게 됩니다. 해당 키워드를 특정 사용 사례에서 사용해야 하는 경우, 동일한 의미를 갖는 다른 키워드로 대체하여 학습이 정상적으로 진행되도록 해야 합니다.

**참고**  
미세 조정 작업을 제출하기 전에 데이터세트를 검증하려면 GitHub에서 사용할 수 있는 [데이터세트 검증 스크립트](https://github.com/aws-samples/amazon-nova-samples/tree/main/customization/bedrock-finetuning/understanding/dataset_validation)를 사용하면 됩니다.

**Topics**
+ [예제 데이터세트 형식](#customize-fine-tune-examples)
+ [데이터세트 제약 조건](#custom-fine-tune-constraints)

## 예제 데이터세트 형식
<a name="customize-fine-tune-examples"></a>

다음 예제 데이터세트 형식은 따를 수 있는 가이드를 제공합니다.

### 텍스트 전용 사용자 지정 미세 조정 형식
<a name="example4"></a>

다음 예제는 텍스트에 대한 사용자 지정 미세 조정 전용입니다.

```
// train.jsonl
{
  "schemaVersion": "bedrock-conversation-2024",
  "system": [
    {
      "text": "You are a digital assistant with a friendly personality"
    }
  ],
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "text": "What is the capital of Mars?"
        }
      ]
    },
    {
      "role": "assistant",
      "content": [
        {
          "text": "Mars does not have a capital. Perhaps it will one day."
        }
      ]
    }
  ]
}
```

### 단일 이미지 사용자 지정 미세 조정 형식
<a name="example1"></a>

다음 예제는 텍스트와 단일 이미지에 대한 사용자 지정 미세 조정용입니다.

```
// train.jsonl{
    "schemaVersion": "bedrock-conversation-2024",
    "system": [{
        "text": "You are a smart assistant that answers questions respectfully"
    }],
    "messages": [{
            "role": "user",
            "content": [{
                    "text": "What does the text in this image say?"
                },
                {
                    "image": {
                        "format": "png",
                        "source": {
                            "s3Location": {
                                "uri": "s3://your-bucket/your-path/your-image.png",
                                "bucketOwner": "your-aws-account-id"
                            }
                        }
                    }
                }
            ]
        },
        {
            "role": "assistant",
            "content": [{
                "text": "The text in the attached image says 'LOL'."
            }]
        }
    ]
}
```

### 비디오 사용자 지정 미세 조정 형식
<a name="example3"></a>

다음 예제는 텍스트와 비디오에 대한 사용자 지정 미세 조정용입니다.

```
{
    "schemaVersion": "bedrock-conversation-2024",
    "system": [{
        "text": "You are a helpful assistant designed to answer questions crisply and to the point"
    }],
    "messages": [{
            "role": "user",
            "content": [{
                    "text": "How many white items are visible in this video?"
                },
                {
                    "video": {
                        "format": "mp4",
                        "source": {
                            "s3Location": {
                                "uri": "s3://your-bucket/your-path/your-video.mp4",
                                "bucketOwner": "your-aws-account-id"
                            }
                        }
                    }
                }
            ]
        },
        {
            "role": "assistant",
            "content": [{
                "text": "There are at least eight visible items that are white"
            }]
        }
    ]
}
```

## 데이터세트 제약 조건
<a name="custom-fine-tune-constraints"></a>

Amazon Nova는 이해 모델에 대한 모델 사용자 지정에 다음과 같은 제약 조건을 적용합니다.


| 모델 | 최소 샘플 수 | 최대 샘플 수 | 콘텐츠 길이 | 
| --- |--- |--- |--- |
| Nova 2 Lite | 8 | 2만 | 3만 2,000 | 


**이미지 및 비디오 제약 조건**  

|  |  | 
| --- |--- |
| 최대 이미지 수 | 10/샘플 | 
| 최대 이미지 파일 크기 | 10MB | 
| 최대 비디오 수 | 1/샘플 | 
| 최대 비디오 길이/기간 | 90초 | 
| 최대 비디오 파일 크기 | 50MB | 

**지원되는 미디어 형식**
+ 이미지 - `png`, `jpeg`, `gif`, `webp` 
+ 비디오 - `mov`, `mkv`, `mp4`, `webm` 