View a markdown version of this page

Fine-tune un modelo de lenguaje amplio (LLM) que utiliza la adaptación de dominios - Amazon SageMaker AI

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.

Fine-tune un modelo de lenguaje amplio (LLM) que utiliza la adaptación de dominios

El ajuste para la adaptación a dominios le permite aprovechar los modelos fundacionales previamente entrenados y adaptarlos a tareas específicas utilizando datos limitados específicos de un dominio. Si los esfuerzos de ingeniería de peticiones no proporcionan una personalización suficiente, puede utilizar los ajustes de adaptación al dominio para que su modelo funcione con el lenguaje específico de un dominio, como la jerga de un sector, términos técnicos u otros datos especializados. Este proceso de ajuste modifica las ponderaciones del modelo.

Para refinar el modelo en un conjunto de datos de un dominio específico:

  1. Prepare los datos de entrenamiento Para obtener instrucciones, consulte Preparación y carga datos de entrenamiento para refinamiento de adaptación de dominios.

  2. Cree un trabajo de entrenamiento de afinamiento. Para obtener instrucciones, consulte Creación de un trabajo de entrenamiento para el refinamiento basado en instrucciones.

Puede ver ejemplos integrales en Cuadernos de ejemplo.

El ajuste con adaptación a dominios está disponible con los siguientes modelos fundacionales:

nota

Algunos modelos JumpStart básicos, como Llama 2 7B, requieren la aceptación de un acuerdo de licencia de usuario final antes de realizar ajustes y realizar inferencias. Para obtener más información, consulte End-user acuerdos de licencia.

  • Bloom 3B

  • Bloom 7B1

  • BloomZ 3B FP16

  • BloomZ 7B1 FP16

  • GPT-2 XL

  • GPT-J 6B

  • GPT-Neo 1,3 B

  • GPT-Neo 125 M

  • GPT-NEO 2,7 B

  • Llama 2 13B

  • Llama 2 13B Chat

  • Llama 2 13B Neuron

  • Llama 2 70B

  • Llama 2 70B Chat

  • Llama 2 7B

  • Llama 2 7B Chat

  • Llama 2 7B Neuron

Preparación y carga datos de entrenamiento para refinamiento de adaptación de dominios

Los datos de entrenamiento para refinamiento de adaptación de dominios se pueden proporcionar en formato de archivo CSV, JSON o TXT. Todos los datos de entrenamiento deben estar en un solo archivo dentro de una sola carpeta.

Los datos de entrenamiento se toman de la columna Texto para archivos de datos de entrenamiento CSV o JSON. Si no hay ninguna columna con la etiqueta Texto, los datos de entrenamiento se toman de la primera columna para archivos de datos de entrenamiento CSV o JSON.

A continuación se muestra un ejemplo del cuerpo de un archivo TXT que se utilizará para realizar el refinamiento:

This report includes estimates, projections, statements relating to our business plans, objectives, and expected operating results that are “forward- looking statements” within the meaning of the Private Securities Litigation Reform Act of 1995, Section 27A of the Securities Act of 1933, and Section 21E of ....

División de datos para entrenamiento y pruebas

Si lo desea, puede proporcionar otra carpeta que contenga los datos de validación. Esta carpeta también debe incluir un archivo CSV, JSON o TXT. Si no se proporciona ningún conjunto de datos de validación, se reserva una cantidad determinada de los datos de entrenamiento con fines de validación. Puede refinar el porcentaje de datos de entrenamiento para validación al elegir los hiperparámetros para refinar el modelo.

Carga de datos de refinamiento en Amazon S3

Cargue los datos preparados en Amazon Simple Storage Service (Amazon S3) para utilizarlos a la hora de ajustar un modelo JumpStart básico. Puede utilizar los comandos siguientes para cargar los datos:

from sagemaker.s3 import S3Uploader import sagemaker import random output_bucket = sagemaker.Session().default_bucket() local_data_file = "train.txt" train_data_location = f"s3://{output_bucket}/training_folder" S3Uploader.upload(local_data_file, train_data_location) S3Uploader.upload("template.json", train_data_location) print(f"Training data: {train_data_location}")

Creación de un trabajo de entrenamiento para el refinamiento basado en instrucciones

Una vez que los datos se hayan cargado en Amazon S3, podrá ajustar e implementar su modelo JumpStart base. Para refinar el modelo en Studio, consulte Fine-tune un modelo en Studio. Para ajustar el modelo con el SDK, consulte. SageMaker Python Fine-tune modelos de base disponibles públicamente con la JumpStartEstimatorclase

Cuadernos de ejemplo

Para obtener más información sobre el refinamiento de adaptación de dominios, consulte los cuadernos de ejemplo siguientes: