Preparar os conjuntos de dados - Amazon Bedrock

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Preparar os conjuntos de dados

Antes de começar um trabalho de personalização do modelo, você precisa preparar minimamente um conjunto de dados de treinamento. Se um conjunto de dados de validação é compatível e o formato do seu conjunto de dados de treinamento e validação dependem dos seguintes fatores.

  • O tipo de trabalho de personalização (ajuste fino ou pré-treinamento contínuo).

  • As modalidades de entrada e saída dos dados.

Suporte de modelo para ajuste fino e formato de dados de pré-treinamento contínuo

A tabela a seguir mostra detalhes do formato de dados de pré-treinamento contínuo e de ajuste fino suportado para cada modelo respectivo:

Nome do modelo Ajuste fino: T ext-to-text Ajuste fino: T & I ext-to-image mage-to-embeddings Pré-treinamento contínuo: ext-to-text Ajuste fino: mensagens em um único turno Ajuste fino: mensagens em vários turnos
Amazon Titan Text G1 - Express Sim Não Sim Não Não
Amazon Titan Text G1 - Lite Sim Não Sim Não Não
Amazon Titan Text Premier Sim Não Não Não Não
Amazon Titan Image Generator G1 V1 Sim Sim Não Não Não
Amazon Titan Multimodal Embeddings G1 G1 Sim Sim Não Não Não
Anthropic Claude 3 Haiku Não Não Não Sim Sim
Cohere Command Sim Não Não Não Não
Cohere Command Light Sim Não Não Não Não
MetaLlama 213B Sim Não Não Não Não
MetaLlama 270B Sim Não Não Não Não

Para ver as cotas padrão que se aplicam aos conjuntos de dados de treinamento e validação usados para personalizar diferentes modelos, consulte. Cotas de personalização de modelos

Prepare conjuntos de dados de treinamento e validação para seu modelo personalizado

Selecione a guia relevante para seu caso de uso

Fine-tuning: Text-to-text

Para ajustar um text-to-text modelo, prepare um conjunto de dados de treinamento e validação opcional criando um JSONL arquivo com várias linhas. JSON Cada JSON linha é uma amostra contendo um completion campo prompt e. Use 6 caracteres por token como uma aproximação para o número de tokens. O formato é o seguinte.

{"prompt": "<prompt1>", "completion": "<expected generated text>"} {"prompt": "<prompt2>", "completion": "<expected generated text>"} {"prompt": "<prompt3>", "completion": "<expected generated text>"}

Veja a seguir um exemplo de item para uma tarefa de pergunta e resposta:

{"prompt": "what is AWS", "completion": "it's Amazon Web Services"}
Fine-tuning: Text-to-image & Image-to-embeddings

Para ajustar um image-to-embedding modelo text-to-image or, prepare um conjunto de dados de treinamento criando um JSONL arquivo com várias linhas. JSON Não há suporte para conjuntos de dados de validação. Cada JSON linha é uma amostra contendo umimage-ref, o Amazon S3 URI para uma imagem e um caption que pode ser um aviso para a imagem.

As imagens devem estar em JPEG nosso PNG formato.

{"image-ref": "s3://bucket/path/to/image001.png", "caption": "<prompt text>"} {"image-ref": "s3://bucket/path/to/image002.png", "caption": "<prompt text>"} {"image-ref": "s3://bucket/path/to/image003.png", "caption": "<prompt text>"}

Veja a seguir um exemplo de item.

{"image-ref": "s3://my-bucket/my-pets/cat.png", "caption": "an orange cat with white spots"}

Para permitir que o Amazon Bedrock acesse os arquivos de imagem, adicione uma IAM política semelhante à da função do serviço de personalização do modelo Amazon Bedrock que você configurou ou que foi configurada automaticamente para você no console. Permissões para acessar arquivos de treinamento e validação e para gravar arquivos de saída no S3 Os caminhos do Amazon S3 que você fornece no conjunto de dados de treinamento devem estar nas pastas que você especifica na política.

Continued Pre-training: Text-to-text

Para realizar o pré-treinamento contínuo em um text-to-text modelo, prepare um conjunto de dados de treinamento e validação opcional criando um JSONL arquivo com várias JSON linhas. Como o pré-treinamento contínuo envolve dados não identificados, cada JSON linha é uma amostra contendo somente um campo. input Use 6 caracteres por token como uma aproximação para o número de tokens. O formato é o seguinte.

{"input": "<input text>"} {"input": "<input text>"} {"input": "<input text>"}

Veja a seguir um exemplo de item que pode estar nos dados de treinamento.

{"input": "AWS stands for Amazon Web Services"}
Fine-tuning: Single-turn messaging

Para ajustar um text-to-text modelo usando o formato de mensagem de turno único, prepare um conjunto de dados de treinamento e validação opcional criando um JSON arquivo com várias linhas. JSON Ambos os arquivos de dados devem estar no JSONL formato. Cada linha especifica uma amostra de dados completa no formato json; e cada amostra de dados deve ser formatada em 1 linha (remova todo o '\n' em cada amostra). Uma linha com várias amostras de dados ou dividir uma amostra de dados em várias linhas não funcionará.

Campos

  • system(opcional): uma string contendo uma mensagem do sistema que define o contexto da conversa.

  • messages: uma matriz de objetos de mensagem, cada um contendo:

    • role: user Ou assistant

    • content: O conteúdo do texto da mensagem

Regras

  • A messages matriz deve conter 2 mensagens

  • A primeira mensagem deve ter um role do usuário

  • A última mensagem deve ter um role do assistente

{"system": "<system message>","messages":[{"role": "user", "content": "<user query>"},{"role": "assistant", "content": "<expected generated text>"}]}

Exemplo

{"system": "You are an helpful assistant.","messages":[{"role": "user", "content": "what is AWS"},{"role": "assistant", "content": "it's Amazon Web Services."}]}
Fine-tuning: Multi-turn messaging

Para ajustar um text-to-text modelo usando o formato de mensagens de várias voltas, prepare um conjunto de dados de treinamento e validação opcional criando um JSONL arquivo com várias linhas. JSON Ambos os arquivos de dados devem estar no JSONL formato. Cada linha especifica uma amostra de dados completa no formato json; e cada amostra de dados deve ser formatada em 1 linha (remova todo o '\n' em cada amostra). Uma linha com várias amostras de dados ou dividir uma amostra de dados em várias linhas não funcionará.

Campos

  • system(opcional): uma string contendo uma mensagem do sistema que define o contexto da conversa.

  • messages: uma matriz de objetos de mensagem, cada um contendo:

    • role: user Ou assistant

    • content: O conteúdo do texto da mensagem

Regras

  • A messages matriz deve conter 2 mensagens

  • A primeira mensagem deve ter um role do usuário

  • A última mensagem deve ter um role do assistente

  • As mensagens devem alternar entre assistant funções user e funções.

{"system": "<system message>","messages":[{"role": "user", "content": "<user query 1>"},{"role": "assistant", "content": "<expected generated text 1>"}, {"role": "user", "content": "<user query 2>"},{"role": "assistant", "content": "<expected generated text 2>"}]}

Exemplo

{"system": "system message","messages":[{"role": "user", "content": "Hello there."},{"role": "assistant", "content": "Hi, how can I help you?"},{"role": "user", "content": "what are LLMs?"},{"role": "assistant", "content": "LLM means large language model."},]}