Tipos de archivos de conjuntos de datos y formato de datos de entrada - Amazon SageMaker

Tipos de archivos de conjuntos de datos y formato de datos de entrada

El afinamiento basado en instrucciones utiliza conjuntos de datos etiquetados para mejorar el rendimiento de LLM previamente entrenados en tareas específicas de procesamiento de lenguaje natural (NLP). Los ejemplos etiquetados tienen formato de pares de petición-respuesta y están redactados como instrucciones.

Para obtener más información sobre los tipos de archivos de conjuntos de datos compatibles, consulte Tipos de archivo de conjuntos de datos admitidos.

Para obtener más información sobre el formato de datos de entrada, consulte Formato de datos de entrada para el ajuste basado en instrucciones.

Tipos de archivo de conjuntos de datos admitidos

Piloto automático admite conjuntos de datos de afinamiento basados en instrucciones formateados como archivos CSV (opción predeterminada) o como archivos Parquet.

  • CSV (valores separados por comas) es un formato de archivo basado en filas que almacena datos en texto plano legible por humanos y es una opción popular para el intercambio de datos, ya que es compatible con una amplia gama de aplicaciones.

  • Parquet es un formato binario de archivo basado en columnas en el que los datos se almacenan y procesan de forma más eficiente que en los formatos de archivo legibles por humanos, como CSV. Esto los convierte en una mejor opción para los problemas de macrodatos.

nota

El conjunto de datos puede constar de varios archivos, cada uno de los cuales debe ajustarse a una plantilla específica. Para obtener más información sobre cómo dar formato a datos de entrada, consulte Formato de datos de entrada para el ajuste basado en instrucciones.

Formato de datos de entrada para el ajuste basado en instrucciones

Cada archivo en el conjunto de datos debe tener el siguiente formato:

  • El conjunto de datos debe contener exactamente dos columnas nombradas y separadas por comas: input y output. Piloto automático no permite columnas adicionales.

  • Las columnas input contienen las instrucciones y las correspondientes output contienen la respuesta esperada. Tanto input como output están en formato de cadena.

El siguiente ejemplo muestra el formato de datos de entrada para el ajuste basado en instrucciones en Piloto automático.

input,output "<prompt text>","<expected generated text>"
nota

Recomendamos utilizar conjuntos de datos con un mínimo de 1000 filas para garantizar un aprendizaje y un rendimiento óptimos del modelo.

Además, Piloto automático establece un límite máximo en el número de filas del conjunto de datos, así como la longitud del contexto en función del tipo de modelo que se utilice.

  • Los límites del número de filas de un conjunto de datos se aplican al recuento acumulado de filas en todos los archivos del conjunto de datos, lo que incluye varios archivos. Si hay dos tipos de canales definidos (uno para entrenamiento y otro para validación), el límite se aplica al número total de filas en todos los conjuntos de datos en ambos canales. Cuando el número de filas supera el umbral, el trabajo falla y se produce un error de validación.

  • Cuando la longitud de la entrada o salida de una fila del conjunto de datos supera el límite establecido en el contexto del modelo de lenguaje, queda truncado automáticamente. Si más del 60 % de las filas del conjunto de datos están truncadas, ya sea en la entrada o en la salida, el piloto automático falla y se produce un error de validación.

La siguiente tabla presenta esos límites para cada modelo.

ID de modelo de JumpStart BaseModelName en una solicitud de API Límite de fila Límite de longitud del contexto
huggingface-textgeneration-dolly-v2-3b-bf16 Dolly3B 10 000 filas 1024 tokens
huggingface-textgeneration-dolly-v2-7b-bf16 Dolly7B 10 000 filas 1024 tokens
huggingface-textgeneration-dolly-v2-12b-bf16 Dolly12B 10 000 filas 1024 tokens
huggingface-llm-falcon-7b-bf16 Falcon7B 1000 filas 1024 tokens
huggingface-llm-falcon-7b-instruct-bf16 Falcon7BInstruct 1000 filas 1024 tokens
huggingface-llm-falcon-40b-bf16 Falcon40B 10 000 filas 1024 tokens
huggingface-llm-falcon-40b-instruct-bf16 Falcon40BInstruct 10 000 filas 1024 tokens
huggingface-text2text-flan-t5-large FlanT5L 10 000 filas 1024 tokens
huggingface-text2text-flan-t5-xl FlanT5XL 10 000 filas 1024 tokens
huggingface-text2text-flan-t5-xxll FlanT5XXL 10 000 filas 1024 tokens
meta-textgeneration-llama-2-7b Llama2-7B 10 000 filas 2048 tokens
meta-textgeneration-llama-2-7b-f Llama2-7BChat 10 000 filas 2048 tokens
meta-textgeneration-llama-2-13b Llama2-13B 7000 filas 2048 tokens
meta-textgeneration-llama-2-13b-f Llama2-13BChat 7000 filas 2048 tokens
huggingface-llm-mistral-7b Mistral7B 10 000 filas 2048 tokens
huggingface-llm-mistral-7b-instruct Mistral7BInstruct 10 000 filas 2048 tokens
huggingface-textgeneration1-mpt-7b-bf16 MPT7B 10 000 filas 1024 tokens
huggingface-textgeneration1-mpt-7b-instruct-bf16 MPT7BInstruct 10 000 filas 1024 tokens