Ajuste um modelo de linguagem grande (LLM) usando adaptação de domínio - Amazon SageMaker

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

Ajuste um modelo de linguagem grande (LLM) usando adaptação de domínio

O ajuste fino da adaptação de domínio permite que você aproveite modelos de base pré-treinados e os adapte a tarefas específicas usando dados limitados específicos do domínio. Se os esforços imediatos de engenharia não fornecerem personalização suficiente, você poderá usar o ajuste fino da adaptação de domínio para fazer seu modelo funcionar com a linguagem específica do domínio, como jargões do setor, termos técnicos ou outros dados especializados. Esse processo de ajuste fino modifica os pesos do modelo.

Para ajustar seu modelo em um conjunto de dados específico do domínio:

  1. Prepare seus dados de treinamento. Para obter instruções, consulte Prepare e faça upload de dados de treinamento para ajuste fino da adaptação do domínio.

  2. Crie seu trabalho de treinamento aprimorado. Para obter instruções, consulte Crie um trabalho de treinamento para ajuste fino baseado em instruções.

Você pode encontrar end-to-end exemplos emCadernos de exemplo.

O ajuste fino da adaptação do domínio está disponível com os seguintes modelos de base:

nota

Alguns modelos JumpStart básicos, como o Llama 2 7B, exigem a aceitação de um contrato de licença do usuário final antes de ajustar e realizar inferências. Para obter mais informações, consulte Contratos de licença de usuário final.

  • 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,7 GB

  • Llama 2 13B

  • Llama 2 13B Chat

  • Neurônio Llama 2 13B

  • Llama 2 70B

  • Llama 2 70B Chat

  • Llama 2 7B

  • Llama 2 7B Chat

  • Neurônio Llama 2 7B

Prepare e faça upload de dados de treinamento para ajuste fino da adaptação do domínio

Os dados de treinamento para o ajuste fino da adaptação do domínio podem ser fornecidos no CSV formato JSON de TXT arquivo ou. Todos os dados de treinamento devem estar em um único arquivo dentro de uma única pasta.

Os dados de treinamento são retirados da coluna Texto CSV ou dos arquivos JSON de dados de treinamento. Se nenhuma coluna estiver rotulada como Texto, os dados de treinamento serão retirados da primeira coluna CSV ou dos arquivos de dados de JSON treinamento.

Veja a seguir um exemplo do corpo de um TXT arquivo a ser usado para ajuste fino:

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

Divida os dados para treinamento e teste

Opcionalmente, você pode fornecer outra pasta contendo dados de validação. Essa pasta também deve incluir umCSV,JSON, ou TXT arquivo. Se nenhum conjunto de dados de validação for fornecido, uma quantidade definida dos dados de treinamento será reservada para fins de validação. Você pode ajustar a porcentagem de dados de treinamento usados para validação ao escolher os hiperparâmetros para ajustar seu modelo.

Faça upload de dados de ajuste fino para o Amazon S3

Faça upload dos dados preparados para o Amazon Simple Storage Service (Amazon S3) para usá-los no ajuste fino JumpStart de um modelo básico. Você pode usar os seguintes comandos para fazer upload de seus dados:

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}")

Crie um trabalho de treinamento para ajuste fino baseado em instruções

Depois que seus dados forem carregados para o Amazon S3, você poderá ajustar e implantar seu modelo básico. JumpStart Para ajustar seu modelo no Studio, consulte. Ajuste um modelo no Studio Para ajustar seu modelo usando o SageMaker Python SDK, vejaAjuste os modelos de fundação disponíveis publicamente com a classe JumpStartEstimator.

Cadernos de exemplo

Para obter mais informações sobre o ajuste fino da adaptação de domínio, consulte os seguintes exemplos de cadernos: