Treinamento de modelos usando o comando modeltraining - Amazon Neptune

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 de modelos usando o comando modeltraining

Use o comando modeltraining do Neptune ML para criar um trabalho de treinamento de modelos, conferir o status, interrompê-lo ou listar todos os trabalhos ativos de treinamento de modelos.

Criar um trabalho de treinamento de modelos usando o comando modeltraining do Neptune ML

Um comando modeltraining do Neptune ML para criar um trabalho tem a seguinte aparência:

curl \ -X POST https://(your Neptune endpoint)/ml/modeltraining -H 'Content-Type: application/json' \ -d '{ "id" : "(a unique model-training job ID)", "dataProcessingJobId" : "(the data-processing job-id of a completed job)", "trainModelS3Location" : "s3://(your Amazon S3 bucket)/neptune-model-graph-autotrainer" }'

Um comando modeltraining do Neptune ML para criar um trabalho de atualização para treinamento incremental de modelos tem a seguinte aparência:

curl \ -X POST https://(your Neptune endpoint)/ml/modeltraining -H 'Content-Type: application/json' \ -d '{ "id" : "(a unique model-training job ID)", "dataProcessingJobId" : "(the data-processing job-id of a completed job)", "trainModelS3Location" : "s3://(your Amazon S3 bucket)/neptune-model-graph-autotrainer" "previousModelTrainingJobId" : "(the job ID of a completed model-training job to update)", }'

Um comando modeltraining do Neptune ML para criar um trabalho com a implementação de modelos personalizados fornecidos pelo usuário tem a seguinte aparência:

curl \ -X POST https://(your Neptune endpoint)/ml/modeltraining -H 'Content-Type: application/json' \ -d '{ "id" : "(a unique model-training job ID)", "dataProcessingJobId" : "(the data-processing job-id of a completed job)", "trainModelS3Location" : "s3://(your Amazon S3 bucket)/neptune-model-graph-autotrainer" "modelName": "custom", "customModelTrainingParameters" : { "sourceS3DirectoryPath": "s3://(your Amazon S3 bucket)/(path to your Python module)", "trainingEntryPointScript": "(your training script entry-point name in the Python module)", "transformEntryPointScript": "(your transform script entry-point name in the Python module)" } }'
Parâmetros para criação de trabalhos modeltraining
  • id: (opcional) um identificador exclusivo do novo trabalho.

    Tipo: string Padrão: um UUID gerado automaticamente.

  • dataProcessingJobId: (obrigatório) o ID do trabalho de processamento de dados concluído que criou os dados com os quais o treinamento funcionará.

    Tipo: string

  • trainModelS3Location: (obrigatório) o local no Amazon S3 onde os artefatos do modelo devem ser armazenados.

    Tipo: string

  • previousModelTrainingJobId: (opcional) o ID de um trabalho de treinamento de modelos concluído que você deseja atualizar de modo incremental com base nos dados atualizados.

    Tipo: string Padrão: nenhum.

  • sagemakerIamRoleArn: (opcional) o ARN de um perfil do IAM para execução do SageMaker.

    Tipo: string Observação: deve estar listado no grupo de parâmetros do cluster de banco de dados ou ocorrerá um erro.

  • neptuneIamRoleArn: (opcional) o ARN de um perfil do IAM que fornece ao Neptune acesso aos recursos do SageMaker e do Amazon S3.

    Tipo: string Observação: deve estar listado no grupo de parâmetros do cluster de banco de dados ou ocorrerá um erro.

  • modelName: (opcional) o tipo de modelo para treinamento. Por padrão, o modelo de ML é automaticamente baseado no modelType usado no processamento de dados, mas você pode especificar um tipo de modelo diferente aqui.

    Tipo: string Padrão: rgcn para grafos heterogêneos e kge para grafos de conhecimento. Valores válidos: para grafos heterogêneos: rgcn. Para grafos kge:transe, distmult ou rotate. Para uma implementação de modelos personalizados: custom.

  • baseProcessingInstanceType: (opcional) o tipo de instância de ML usada na preparação e gerenciamento do treinamento de modelos de ML.

    Tipo: string Observação: é uma instância de CPU escolhida com base nos requisitos de memória para processar os dados e o modelo de treinamento. Consulte Selecionar uma instância para treinamento e transformação de modelos.

  • trainingInstanceType: (opcional) o tipo de instância de ML usada para treinamento de modelos. Todos os modelos do Neptune ML são compatíveis com o treinamento de CPU, GPU e multiGPU.

    Tipo: string Padrão: ml.p3.2xlarge.

    Observação: a escolha do tipo de instância certo para treinamento depende do tipo de tarefa, do tamanho do grafo e do orçamento. Consulte Selecionar uma instância para treinamento e transformação de modelos.

  • trainingInstanceVolumeSizeInGB: (opcional) o tamanho do volume do disco da instância de treinamento. Tanto os dados de entrada quanto o modelo de saída são armazenados em disco, portanto, o tamanho do volume deve ser grande o suficiente para conter os dois conjuntos de dados.

    Tipo: número inteiro. Padrão: 0.

    Observação: se não for especificado ou for 0, o Neptune ML selecionará um tamanho de volume de disco com base na recomendação gerada na etapa de processamento de dados. Consulte Selecionar uma instância para treinamento e transformação de modelos.

  • trainingTimeOutInSeconds: (opcional) tempo limite em segundos para o trabalho de treinamento.

    Tipo: número inteiro. Padrão: 86,400 (um dia).

  • maxHPONumberOfTrainingJobs: número total máximo de trabalhos de treinamento a serem iniciados para o trabalho de ajuste de hiperparâmetros.

    Tipo: número inteiro. Padrão: 2.

    Observação: o Neptune ML ajusta automaticamente os hiperparâmetros do modelo de machine learning. Para obter um modelo com bom desempenho, use pelo menos dez trabalhos (em outras palavras, defina maxHPONumberOfTrainingJobs como dez). Em geral, quanto mais ajustes forem executados, melhores serão os resultados.

  • maxHPOParallelTrainingJobs: número máximo de trabalhos de treinamento paralelos a serem iniciados para o trabalho de ajuste de hiperparâmetros.

    Tipo: número inteiro. Padrão: 2.

    Observação: o número de trabalhos paralelos que você pode executar é limitado pelos recursos disponíveis na instância de treinamento.

  • subnets: (opcional) os IDs das sub-redes na VPC do Neptune.

    Tipo: lista de strings. Padrão: nenhum.

  • securityGroupIds: (opcional) os IDs do grupo de segurança da VPC.

    Tipo: lista de strings. Padrão: nenhum.

  • volumeEncryptionKMSKey: (opcional) a chave AWS Key Management Service (AWS KMS) que o SageMaker usa para criptografar dados no volume de armazenamento anexado às instâncias de computação de ML que executam o trabalho de treinamento.

    Tipo: string Padrão: nenhum.

  • s3OutputEncryptionKMSKey: (opcional) a chave AWS Key Management Service (AWS KMS) que o SageMaker usa para criptografar a saída do trabalho de processamento.

    Tipo: string Padrão: nenhum.

  • enableInterContainerTrafficEncryption: (opcional) habilite ou desabilite a criptografia de tráfego entre contêineres em trabalhos de treinamento ou ajuste de hiperparâmetros.

    Tipo: booliano. Padrão: verdadeiro.

    nota

    O parâmetro enableInterContainerTrafficEncryption só está disponível na versão 1.2.0.2.R3 do mecanismo.

  • enableManagedSpotTraining: (opcional) otimiza o custo de treinamento de modelos de machine learning usando instâncias spot do Amazon Elastic Compute Cloud. Para obter mais informações, consulte Managed Spot Training in Amazon SageMaker.

    Tipo: booliano. Padrão: falso.

  • customModelTrainingParameters: (opcional) a configuração para treinamento de modelos personalizados. Trata-se de um objeto JSON com os seguintes campos:

    • sourceS3DirectoryPath: (obrigatório) o caminho para o local do Amazon S3 onde o módulo Python que implementa seu modelo está localizado. Isso deve apontar para uma localização válida existente do Amazon S3 que contenha, no mínimo, um script de treinamento, um script de transformação e um arquivo model-hpo-configuration.json.

    • trainingEntryPointScript: (opcional) o nome do ponto de entrada no módulo de um script que executa o treinamento de modelos e usa hiperparâmetros como argumentos de linha de comando, incluindo hiperparâmetros fixos.

      Padrão: training.py.

    • transformEntryPointScript: (opcional) o nome do ponto de entrada no módulo de um script que deve ser executado após a identificação do melhor modelo da pesquisa de hiperparâmetros, para calcular os artefatos do modelo necessários para a implantação do modelo. Ele deve ser capaz de ser executado sem argumentos de linha de comando.

      Padrão: transform.py.

  • maxWaitTime: (opcional) o tempo máximo de espera, em segundos, ao realizar o treinamento de modelos usando instâncias spot. Deve ser maior que trainingTimeOutInSeconds.

    Tipo: número inteiro.

Obter o status de um trabalho de treinamento de modelos usando o comando modeltraining do Neptune ML

Um exemplo de comando modeltraining do Neptune ML para o status de um trabalho tem a seguinte aparência:

curl -s \ "https://(your Neptune endpoint)/ml/modeltraining/(the job ID)" \ | python -m json.tool
Parâmetros para o status do trabalho modeltraining
  • id: (obrigatório) o identificador exclusivo do trabalho de treinamento de modelos.

    Tipo: string

  • neptuneIamRoleArn: (opcional) o ARN de um perfil do IAM que fornece ao Neptune acesso aos recursos do SageMaker e do Amazon S3.

    Tipo: string Observação: deve estar listado no grupo de parâmetros do cluster de banco de dados ou ocorrerá um erro.

Interromper um trabalho de treinamento de modelos usando o comando modeltraining do Neptune ML

Um exemplo de comando modeltraining do Neptune ML para interromper um trabalho tem a seguinte aparência:

curl -s \ -X DELETE "https://(your Neptune endpoint)/ml/modeltraining/(the job ID)"

Ou esta:

curl -s \ -X DELETE "https://(your Neptune endpoint)/ml/modeltraining/(the job ID)?clean=true"
Parâmetros para um trabalho de interrupção modeltraining
  • id: (obrigatório) o identificador exclusivo do trabalho de treinamento de modelos.

    Tipo: string

  • neptuneIamRoleArn: (opcional) o ARN de um perfil do IAM que fornece ao Neptune acesso aos recursos do SageMaker e do Amazon S3.

    Tipo: string Observação: deve estar listado no grupo de parâmetros do cluster de banco de dados ou ocorrerá um erro.

  • clean: (opcional) esse sinalizador especifica que todos os artefatos do Amazon S3 devem ser excluídos quando o trabalho é interrompido.

    Tipo: booliano. Padrão: FALSE.

Listar trabalhos de treinamento de modelos usando o comando modeltraining do Neptune ML

Um exemplo de comando modeltraining do Neptune ML para listar trabalhos ativos tem a seguinte aparência:

curl -s "https://(your Neptune endpoint)/ml/modeltraining" | python -m json.tool

Ou esta:

curl -s "https://(your Neptune endpoint)/ml/modeltraining?maxItems=3" | python -m json.tool
Parâmetros para trabalhos de lista modeltraining
  • maxItems: (opcional) o número máximo de itens a serem gerados.

    Tipo: número inteiro. Padrão: 10. Valor máximo permitido: 1024.

  • neptuneIamRoleArn: (opcional) o ARN de um perfil do IAM que fornece ao Neptune acesso aos recursos do SageMaker e do Amazon S3.

    Tipo: string Observação: deve estar listado no grupo de parâmetros do cluster de banco de dados ou ocorrerá um erro.