Afinamiento de un modelo de lenguaje grande (LLM) mediante 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 afinar el modelo en un conjunto de datos de un dominio específico:
-
Prepare los datos de entrenamiento Para obtener instrucciones, consulte Preparación y carga datos de entrenamiento para afinamiento de adaptación de dominios.
-
Cree un trabajo de entrenamiento de afinamiento. Para obtener instrucciones, consulte Creación de un trabajo de entrenamiento para el afinamiento 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 fundacionales de JumpStart, como Llama 2 7B, requieren la aceptación de un acuerdo de licencia de usuario final antes de realizar el afinamiento e inferencias. Para obtener más información, consulte Contratos de licencia para usuarios finales.
-
Bloom 3B
-
Bloom 7B1
-
BloomZ 3B FP16
-
BloomZ 7B1 FP16
-
GPT-2 XL
-
GPT-J 6B
-
GPT-Neo 1.3B
-
GPT-Neo 125M
-
GPT-NEO 2.7B
-
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 afinamiento de adaptación de dominios
Los datos de entrenamiento para afinamiento 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 afinamiento:
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 afinar el porcentaje de datos de entrenamiento para validación al elegir los hiperparámetros para afinar el modelo.
Carga de datos de afinamiento en Amazon S3
Cargue los datos preparados en Amazon Simple Storage Service (Amazon S3) para usarlos cuando afine un modelo fundacional de JumpStart. 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 afinamiento basado en instrucciones
Después de cargar los datos en Amazon S3, puede afinar e implementar el modelo fundacional de JumpStart. Para afinar el modelo en Studio, consulte Afinamiento de un modelo en Studio. Para afinar el modelo con el SageMaker Python SDK, consulte Afinamiento de los modelos fundacionales disponibles públicamente con la clase JumpStartEstimator.
Cuadernos de ejemplo
Para obtener más información sobre el afinamiento de adaptación de dominios, consulte los cuadernos de ejemplo siguientes: