

# Preparação de dados para ajuste fino multimodal
<a name="fine-tune-prepare-data-understanding"></a>

Confira abaixo as diretrizes e os requisitos para preparar dados para o ajuste dos modelos de compreensão:

1. O tamanho mínimo dos dados para o ajuste depende da tarefa (ou seja, complexa ou simples), mas recomendamos que você tenha pelo menos cem amostras para cada tarefa que deseja que o modelo aprenda.

1. Recomendamos usar seu prompt otimizado em uma configuração de zero-shot durante o treinamento e a inferência para obter os melhores resultados.

1. Os conjuntos de dados de treinamento e de validação devem ser arquivos JSONL, em que cada linha é um objeto JSON correspondente a um registro. Esses nomes de arquivo podem consistir apenas em caracteres alfanuméricos, sublinhados, hifens, barras e pontos.

1. Restrições de imagem e vídeo

   1. O conjunto de dados não pode conter diferentes modalidades de mídia. Ou seja, o conjunto de dados pode ser texto com imagens ou texto com vídeos.

   1. Uma amostra (registro único em mensagens) pode ter várias imagens

   1. Uma amostra (registro único em mensagens) pode ter apenas um vídeo

1. `schemaVersion` pode ser qualquer valor de string

1. O turno `system` (*opcional*) pode ser um prompt personalizado do sistema fornecido pelo cliente.

1. Os perfis compatíveis são `user` e `assistant`.

1. O primeiro turno em `messages` deve sempre começar com `"role": "user"`. O último turno é a resposta do bot, indicada por “role”: “assistant”.

1. O `image.source.s3Location.uri` e o `video.source.s3Location.uri` devem estar acessíveis ao Amazon Bedrock.

1.  Seu perfil de serviço do Amazon Bedrock deve ser capaz de acessar os arquivos de imagem no Amazon S3. Para obter mais informações sobre a concessão de acesso, consulte [Create a service role for model customization](https://docs.aws.amazon.com/bedrock/latest/userguide/model-customization-iam-role.html) 

1. As imagens ou os vídeos devem estar no mesmo bucket do Amazon S3 que o seu conjunto de dados. Por exemplo, se o conjunto de dados estiver em `s3://amzn-s3-demo-bucket/train/train.jsonl`, as imagens ou os vídeos deverão estar em `s3://amzn-s3-demo-bucket`

1. Os termos `User:`, `Bot:`, `Assistant:`, `System:`, `<image>`, `<video>` e `[EOS]` são palavras-chave reservadas. Se um prompt do usuário ou do sistema começar com qualquer uma dessas palavras-chave, ocorrerá falha na tarefa de treinamento devido a problemas de dados. Se você precisar usar essas palavras-chave para seu caso de uso, substitua-as por outras com significado semelhante para que o treinamento possa prosseguir.

**nota**  
Para validar seu conjunto de dados antes de enviar um trabalho de ajuste fino, você pode usar o script de [validação do conjunto de dados ](https://github.com/aws-samples/amazon-nova-samples/tree/main/customization/bedrock-finetuning/understanding/dataset_validation) disponível no GitHub.

**Topics**
+ [Formatos de exemplo de conjunto de dados](#customize-fine-tune-examples)
+ [Restrições de conjunto de dados](#custom-fine-tune-constraints)

## Formatos de exemplo de conjunto de dados
<a name="customize-fine-tune-examples"></a>

Os exemplos de formatos de conjunto de dados a seguir fornecem um guia para você seguir.

### Formato de ajuste personalizado somente com texto
<a name="example4"></a>

O exemplo a seguir é para um ajuste personalizado somente com texto.

```
// 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."
        }
      ]
    }
  ]
}
```

### Formato de ajuste personalizado de imagem única
<a name="example1"></a>

O exemplo a seguir é para um ajuste personalizado de texto e uma única imagem.

```
// 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'."
            }]
        }
    ]
}
```

### Formato de ajuste personalizado de vídeo
<a name="example3"></a>

O exemplo a seguir é para um ajuste personalizado de texto e vídeo.

```
{
    "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"
            }]
        }
    ]
}
```

## Restrições de conjunto de dados
<a name="custom-fine-tune-constraints"></a>

O Amazon Nova aplica as restrições a seguir nas personalizações de modelos para modelos de compreensão.


| Modelo | Amostras mínimas | Amostras máximas | Tamanho do contexto | 
| --- |--- |--- |--- |
| Amazon Nova Micro | 8 | 20k | 32k | 
| Amazon Nova Lite | 8 | 20k | 32k | 
| Amazon Nova Pro | 8 | 20k | 32k | 


**Restrições de imagem e vídeo**  

|  |  | 
| --- |--- |
| Máximo de imagens | 10/amostra | 
| Tamanho máximo do arquivo de imagem | 10 MB | 
| Máximo de vídeos | 1/amostra | 
| Duração máxima do vídeo | 90 segundos | 
| Tamanho máximo do arquivo de vídeo | 50 MB | 

**Formatos de mídia compatíveis**
+ Imagem: `png`, `jpeg`, `gif`, `webp`
+ Vídeo: `mov`, `mkv`, `mp4`, `webm`