Como gerenciar versões do ambiente de execução

O AI Platform Prediction usa imagens para configurar as VMs que atendem às suas solicitações de previsão e treinamento na nuvem. Essas imagens contêm o sistema operacional de base, além dos principais pacotes de tecnologia, pip (bibliotecas Python) e de sistema operacional. As imagens são atualizadas periodicamente para incluir melhorias e recursos novos. O controle de versões do AI Platform Prediction permite que você selecione a configuração correta para trabalhar com seu modelo.

Notas importantes sobre o controle de versões

  • Sempre teste os modelos e jobs de treinamento completamente ao mudar para uma nova versão de ambiente de execução, independentemente de ser uma atualização grande ou pequena.
  • O AI Platform Prediction é compatível com cada versão do ambiente de execução por 12 meses após o lançamento. Após o período de 12 meses, não é mais possível criar jobs de treinamento, jobs de previsão em lote ou versões de modelo que usem a versão do ambiente de execução.

    24 meses após o lançamento da versão do ambiente de execução, o AI Platform Prediction exclui todas as versões de modelo que usam a versão do ambiente de execução.

    Saiba mais sobre o cronograma de disponibilidade para versões de ambiente de execução.

Como entender números de versão

As imagens que o AI Platform Prediction usa correspondem à versão de ambiente de execução dele que usa o seguinte formato:

major_version.minor_version

Versões principais e secundárias

Novas versões principais e secundárias são criadas periodicamente para incorporar um ou mais dos seguintes itens:

  • lançamentos de:
    • sistema operacional
    • Estruturas de machine learning compatíveis
  • Alterações ou atualizações na funcionalidade do AI Platform Prediction.

As novas versões principais podem incluir alterações interruptivas importantes que exigem atualizações no código escrito nas versões anteriores. As novas versões secundárias não incluem alterações importantes e são compatíveis com as variações anteriores da mesma versão principal.

Como selecionar versões de tempo de execução

Certifique-se de selecionar a versão do ambiente de execução que seja compatível com as versões mais recentes de seu framework de machine learning e outros pacotes que você está usando.

A versão mais antiga do ambiente de execução do AI Platform Prediction que é compatível com o scikit-learn e o XGBoost é a 1.4.

É possível ver os detalhes de cada versão na lista de versões do AI Platform Prediction.

Versões de ambiente de execução para previsão on-line

Ao criar a versão de modelo, especifique a versão de tempo de execução que queira usar para solicitações de previsão on-line. Se a versão de tempo de execução padrão da versão do modelo estiver incorreta, crie uma nova com a versão de tempo de execução correta.

Solicitações de previsão on-line sempre usam a versão de tempo de execução padrão da versão do modelo. Não é possível especificar uma versão de ambiente de execução para substituir isso em uma solicitação de previsão on-line.

Como definir a versão do ambiente de execução

Especifique uma versão do ambiente de execução ao criar uma versão de modelo implantada com base em um modelo treinado. Esse processo define a versão padrão do ambiente de execução para solicitações de predição on-line e em lote.

gcloud

Use a sinalização --runtime-version ao executar o comando gcloud ai-platform versions create:

gcloud ai-platform versions create version_name \
    --model model_name \
    --origin gs://my/trained/model/path \
    --runtime-version 2.11 \
    --python-version 3.7

Python

Configure runtimeVersion ao definir o recurso Versão:

versionDef = {'name' = 'v1',
    'description' = 'The first iteration of the completely_made_up model',
    'deploymentUri' = 'gs://my/model/output/directory',
    'runtimeVersion' = '2.11',
    'pythonVersion': '3.7'}
 

Como definir a versão do ambiente de execução para a previsão em lote

Especifique uma versão do ambiente de execução para usar ao criar um job de previsão em lote. Se não fizer isso, o AI Platform Prediction usará o conjunto de versões de ambiente de execução padrão na versão do modelo.

gcloud

Use a sinalização --runtime-version ao executar o comando gcloud ai-platform jobs submit prediction:

gcloud ai-platform jobs submit prediction my_batch_job_333 \
    --model my_model \
    --input-paths gs://my/cloud/storage/data/path/* \
    --output-path gs://my/cloud/storage/data/output/path \
    --region us-central1 \
    --data-format text \
    --runtime-version 2.1

Python

Defina runtimeVersion em PredictionInput:

body = {
    'jobId': 'my_batch_job_333',
    'predictionInput': {
        'dataFormat': 'JSON',
        'inputPaths': ['gs://my/cloud/storage/data/path/*'],
        'outputPath': 'gs://my/cloud/storage/data/output/path',
        'region': 'us-central1',
        'modelName': 'projects/my_project/models/my_model',
        'runtimeVersion': '2.1'}}

A seguir