Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Formatos de conjuntos de datos compatibles para Bring-Your-Own-Dataset tareas (BYOD)
El marcador personalizado y los tipos de LLM-as-judge evaluación requieren un archivo JSONL de conjunto de datos personalizado ubicado en S3. AWS Debe proporcionar el archivo como un archivo de líneas JSON que cumpla con uno de los siguientes formatos compatibles. Los ejemplos de este documento se han ampliado para mayor claridad.
Cada formato tiene sus propios matices, pero como mínimo todos requieren un mensaje de usuario.
| Campo | Obligatorio |
|---|---|
| Mensaje de usuario | Sí |
| Petición del sistema | No |
| Verdad fundamental | Solo para Custom Scorer |
| Categoría | No |
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 Evaluación
{ "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 Pronta finalización
Se admiten los formatos estándar y conversacional.
# 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 Preferencia
Support tanto para el formato estándar (cadena) como para el formato conversacional (matriz de mensajes).
# 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
El formato Verl (tanto los formatos actuales como los heredados) es compatible con los casos de uso del aprendizaje por refuerzo. Documentos de Verl como referencia: https://verl.readthedocs.io/en/latest/preparation/prepare_data.html
Por lo general, los usuarios del formato VERL no proporcionan una respuesta basada en la verdad. Si desea proporcionar una de todas formas, utilice cualquiera de los campos extra_info.answer oreward_model.ground_truth; extra_info tiene prioridad.
SageMaker conserva los siguientes campos específicos de Verl como metadatos, si están presentes:
iddata_sourceabilityreward_modelextra_infoattributesdifficulty
# 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" } }