Treinamento iterativo - SageMaker Inteligência Artificial da Amazon

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

Treinamento iterativo

O treinamento iterativo permite o desenvolvimento de canais de treinamento sofisticados para modelos Amazon Nova ao encadear várias técnicas de treinamento em sequência. Essa abordagem permite que você coloque diferentes métodos de personalização em camadas para obter modelos personalizados com precisão.

O processo começa treinando um modelo Amazon Nova usando uma das técnicas padrão (como SFT, PEFT ou DPO). Após a conclusão, você encontrará um manifest.json arquivo no local de saída especificado do S3. Esse arquivo contém um checkpoint_s3_bucket valor que indica onde o modelo treinado está armazenado.

Em seguida, você pode usar essa localização do ponto de verificação como model_name_or_path parâmetro em execuções de treinamento subsequentes, com base efetivamente em seu trabalho de personalização anterior. Isso cria uma cadeia de melhorias progressivas, com cada estágio de treinamento refinando ainda mais o modelo com base em seus requisitos específicos.

O treinamento iterativo permite que você desenvolva pipelines de treinamento mais sofisticados para ajustar os modelos do Amazon Nova. Com o encadeamento dos módulos de treinamento, você pode aplicar técnicas de treinamento em camadas para personalizar os modelos exatamente de acordo com suas necessidades.

Você começa treinando o Amazon Nova usando uma das técnicas descritas emPersonalização do Amazon Nova na Amazon SageMaker HyperPod. No local de saída do S3 definido durante o treinamento, localize o arquivo manifest.json. Esse arquivo contém o valor checkpoint_s3_bucket que indica onde o modelo de saída está definido. Você pode utilizar esse local de saída como o valor model_name_or_path em futuras execuções do treinamento.

Exemplo

O exemplo a seguir percorre um fluxo de trabalho que define o treinamento iterativo de ajuste fino supervisionado (SFT) > SFT > otimização direta de preferências (DPO) para um modelo Amazon Nova Lite. Primeiro, você deve definir a receita de execução para o treinamento inicial de SFT do modelo básico.

## Run config run: name: "my-fullrank-run-sft" # A descriptive name for your training job model_type: "amazon.nova-lite-v1:0:300k" # Model variant specification, do not change model_name_or_path: "nova-lite/prod" # Base model path, do not change replicas: 4 # Number of compute instances for training, allowed values are 4, 8, 16 data_s3_path: "s3://Path to training data" # Your training data path output_s3_path: "s3://Path to output data location" # Output artifact path

Esse trabalho de treinamento produzirá um manifest.json arquivo no caminho definido em output_s3_path semelhante ao seguinte:

{"checkpoint_s3_bucket":"s3://<escrow bucket>/<job id>/outputs/checkpoints"}

Esse caminho de ponto de verificação pode ser usado na próxima etapa de treinamento iterativo como o. model_name_or_path Isso direciona o treinamento a usar o ponto de verificação anterior como modelo básico para o próximo método de treinamento, em vez do modelo básico.

A etapa a seguir no exemplo define uma execução de treinamento SFT em um conjunto diferente de dados, que pode ser usado para treinar um modelo em vários conjuntos de interações.

## Run config run: name: "my-fullrank-run-sft-2" # A descriptive name for your training job model_type: "amazon.nova-lite-v1:0:300k" # Model variant specification, do not change model_name_or_path: "s3://customer-escrow-bucket-unique_id/my-fullrank-run-sft-unique id/outputs/checkpoints" # Model checkpoint after 1st SFT run replicas: 4 # Number of compute instances for training, allowed values are 4, 8, 16 data_s3_path: "s3://Path to training data #2" # Customer data path output_s3_path: "s3://Path to output data location" # Output artifact path

Como o primeiro conjunto de treinamento, isso produzirá um manifest.json arquivo semelhante no local de saída:

{"checkpoint_s3_bucket":"s3://<escrow bucket>/<job id>/outputs/checkpoints"}

Isso pode então ser usado como a entrada final para a última execução de treinamento iterativo usando o DPO:

## Run config run: name: "my-fullrank-run-dpo" # A descriptive name for your training job model_type: "amazon.nova-lite-v1:0:300k" # Model variant specification, do not change model_name_or_path: "s3://customer-escrow-bucket-unique_id/my-fullrank-run-sft-2-unique id/outputs/checkpoints" # Model checkpoint after 2nd SFT run replicas: 4 # Number of compute instances for training, allowed values are 4, 8, 16 data_s3_path: "s3://Path to training data #2" # Your training data path output_s3_path: "s3://Path to output data location" # Output artifact path

A saída em qualquer etapa desse pipeline de treinamento iterativo pode ser usada para inferência ou avaliação, bem como para verificar o progresso do modelo ao longo do caminho para garantir que ele esteja convergindo para a saída desejada.

Limitações

O treinamento iterativo pode ser executado com qualquer um dos métodos de treinamento disponíveis em qualquer ordem, para quantas iterações você precisar para alcançar o resultado desejado. Ao treinar iterativamente, tanto o modelo quanto a técnica (ou seja, de nível completo em comparação com o LoRa PEFT) devem permanecer consistentes. Por exemplo, se você tentar treinar iterativamente com um ajuste fino completo após um treinamento LoRa PEFT, o trabalho de treinamento gerará um erro. Da mesma forma, se você quiser definir um trabalho de treinamento do Amazon Nova Lite em cima de um ponto de verificação do Amazon Nova Micro, você receberá uma mensagem de erro.