Formatos de conjunto de dados compatíveis para Bring-Your-Own-Dataset tarefas (BYOD) - SageMaker Inteligência Artificial da Amazon

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á.

Formatos de conjunto de dados compatíveis para Bring-Your-Own-Dataset tarefas (BYOD)

O marcador personalizado e os tipos de LLM-as-judge avaliação exigem um arquivo JSONL de conjunto de dados personalizado localizado no S3. AWS Você deve fornecer o arquivo como um arquivo JSON Lines, aderindo a um dos seguintes formatos compatíveis. Os exemplos neste documento foram expandidos para maior clareza.

Cada formato tem suas próprias nuances, mas, no mínimo, todos exigem um prompt do usuário.

Campos obrigatórios
Campo Obrigatório
Prompt do usuário Sim
Prompt do sistema Não
Verdade fundamental Somente para o Custom Scorer
Categoria Não

1. Formato OpenAI

{ "messages": [ { "role": "system", # System prompt (looks for system role) "content": "You are a helpful assistant." }, { "role": "user", # Query (looks for user role) "content": "Hello!" }, { "role": "assistant", # Ground truth (looks for assistant role) "content": "Hello to you!" } ] }

2. SageMaker Avaliação

{ "system":"You are an English major with top marks in class who likes to give minimal word responses: ", "query":"What is the symbol that ends the sentence as a question", "response":"?", # Ground truth "category": "Grammar" }

3. HuggingFace Conclusão rápida

Os formatos padrão e conversacional são suportados.

# Standard { "prompt" : "What is the symbol that ends the sentence as a question", # Query "completion" : "?" # Ground truth } # Conversational { "prompt": [ { "role": "user", # Query (looks for user role) "content": "What is the symbol that ends the sentence as a question" } ], "completion": [ { "role": "assistant", # Ground truth (looks for assistant role) "content": "?" } ] }

4. HuggingFace Preferência

Support tanto para formato padrão (string) quanto para formato conversacional (matriz de mensagens).

# Standard: {"prompt": "text", "chosen": "text", "rejected": "text"} { "prompt" : "The sky is", # Query "chosen" : "blue", # Ground truth "rejected" : "green" } # Conversational: { "prompt": [ { "role": "user", # Query (looks for user role) "content": "What color is the sky?" } ], "chosen": [ { "role": "assistant", # Ground truth (looks for assistant role) "content": "It is blue." } ], "rejected": [ { "role": "assistant", "content": "It is green." } ] }

5. Formato Verl

O formato Verl (formatos atual e antigo) é compatível com casos de uso de aprendizado por reforço. Documentos Verl para referência: https://verl.readthedocs.io/en/latest/preparation/prepare_data.html

Os usuários do formato VERL normalmente não fornecem uma resposta verdadeira. Se você quiser fornecer um de qualquer maneira, use um dos campos extra_info.answer oureward_model.ground_truth; extra_info tem precedência.

SageMaker preserva os seguintes campos específicos do VERL como metadados, se presentes:

  • id

  • data_source

  • ability

  • reward_model

  • extra_info

  • attributes

  • difficulty

# Newest VERL format where `prompt` is an array of messages. { "data_source": "openai/gsm8k", "prompt": [ { "content": "You are a helpful math tutor who explains solutions to questions step-by-step.", "role": "system" }, { "content": "Natalia sold clips to 48 of her friends in April, and then she sold half as many clips in May. How many clips did Natalia sell altogether in April and May? Let's think step by step and output the final answer after \"####\".", "role": "user" } ], "ability": "math", "extra_info": { "answer": "Natalia sold 48/2 = <<48/2=24>>24 clips in May.\nNatalia sold 48+24 = <<48+24=72>>72 clips altogether in April and May.\n#### 72", "index": 0, "question": "Natalia sold clips to 48 of her friends in April, and then she sold half as many clips in May. How many clips did Natalia sell altogether in April and May?", "split": "train" }, "reward_model": { "ground_truth": "72" # Ignored in favor of extra_info.answer } } # Legacy VERL format where `prompt` is a string. Also supported. { "data_source": "openai/gsm8k", "prompt": "Natalia sold clips to 48 of her friends in April, and then she sold half as many clips in May. How many clips did Natalia sell altogether in April and May? Let's think step by step and output the final answer after \"####\".", "extra_info": { "answer": "Natalia sold 48/2 = <<48/2=24>>24 clips in May.\nNatalia sold 48+24 = <<48+24=72>>72 clips altogether in April and May.\n#### 72", "index": 0, "question": "Natalia sold clips to 48 of her friends in April, and then she sold half as many clips in May. How many clips did Natalia sell altogether in April and May?", "split": "train" } }