O treinamento com algoritmos integrados no AI Platform Training permite enviar o conjunto de dados e treinar um modelo, sem a necessidade de escrever qualquer código de treinamento. Nesta página, você verá como funciona o algoritmo integrado do NCF e como usá-lo.
Visão geral
Esse algoritmo integrado oferece apenas treinamento:
- Treinamento: com o conjunto de dados e os parâmetros do modelo fornecidos por você, o AI Platform Training executa o treinamento usando o Implementação do NCF do TensorFlow.
Limitações
Os recursos a seguir não são compatíveis com o treinamento com o algoritmo integrado NCF:
- Pré-processamento automático de dados: esta versão do NCF requer que os dados de entrada estejam na forma de TFRecords para treinamento e saída. Um aplicativo de treinamento precisa ser feito para gerenciar automaticamente a entrada não formatada.
Tipos de máquina compatíveis
Os níveis de escalonamento e tipos de máquina do AI Platform Training a seguir são compatíveis:
- ScaleTier
BASIC
- ScaleTier
BASIC_GPU
- ScaleTier
BASIC_TPU
CUSTOM
Nível de escalonamento PERSONALIZADO com qualquer um dos tipos de máquina do Compute Engine compatíveis com o AI Platform Training.CUSTOM
Nível de escalonamento PERSONALIZADO com qualquer um dos tipos de máquina legados a seguir:standard
large_model
complex_model_s
complex_model_m
complex_model_l
standard_gpu
standard_p100
standard_v100
large_model_v100
complex_model_m_gpu
complex_model_l_gpu
complex_model_m_p100
complex_model_m_v100
complex_model_l_v100
TPU_V2
(8 núcleos)
Recomenda-se que seja usado um tipo de máquina com acesso a TPUs ou GPUs.
Formatar dados de entrada
Verifique se os dados de entrada e avaliação estão na forma de TFRecords antes do treinamento do modelo.
Verificar as permissões do bucket do Cloud Storage
Para armazenar seus dados, use um bucket do Cloud Storage no mesmo projeto do Google Cloud usado para executar jobs do AI Platform Training. Caso contrário, conceda acesso do AI Platform Training ao bucket do Cloud Storage em que os dados estão armazenados.
Enviar um job de treinamento de NCF
Nesta seção, explicamos como enviar um job de treinamento usando o algoritmo integrado do NCF.
Você encontra explicações breves de cada hiperparâmetro no Console do Google Cloud e uma explicação mais abrangente na referência do algoritmo NCF integrado.
Console
Acesse a página "Jobs" do AI Platform Training no console do Google Cloud:
Clique no botão Novo job de treinamento. Nas opções exibidas abaixo, clique em Treinamento de algoritmo integrado.
Na página Criar um novo job de treinamento, selecione NCF e clique em Avançar.
Para saber mais sobre todos os parâmetros disponíveis, acesse os links em no console do Google Cloud e consulte referência de NCF integrada para mais detalhes.
gcloud
Defina as variáveis de ambiente do seu job:
# Specify the name of the Cloud Storage bucket where you want your # training outputs to be stored, and the Docker container for # your built-in algorithm selection. BUCKET_NAME='BUCKET_NAME' IMAGE_URI='gcr.io/cloud-ml-algos/ncf:latest' # Specify the Cloud Storage path to your training input data. DATA_DIR='gs://$BUCKET_NAME/ncf_data' DATE="$(date '+%Y%m%d_%H%M%S')" MODEL_NAME='MODEL_NAME' JOB_ID="${MODEL_NAME}_${DATE}" JOB_DIR="gs://${BUCKET_NAME}/algorithm_training/${MODEL_NAME}/${DATE}"
Substitua o seguinte:
- BUCKET_NAME: o nome do bucket do Cloud Storage em que você quer armazenar as saídas de treinamento.
- MODEL_NAME: um nome para o modelo, para identificar onde os artefatos do modelo são armazenados no seu bucket do Cloud Storage.
Envie o job de treinamento usando
gcloud ai-platform jobs training submit
. Ajuste este exemplo genérico para trabalhar com seu conjunto de dados:gcloud ai-platform jobs submit training $JOB_ID \ --master-image-uri=$IMAGE_URI --scale-tier=BASIC_TPU --job-dir=$JOB_DIR \ -- \ --train_dataset_path=${DATA_DIR}/training_cycle_*/* \ --eval_dataset_path=${DATA_DIR}/eval_data/* \ --input_meta_data_path=${DATA_DIR}/metadata \ --learning_rate=3e-5 \ --train_epochs=3 \ --eval_batch_size=160000 \ --learning_rate=0.00382059 \ --beta1=0.783529 \ --beta2=0.909003 \ --epsilon=1.45439e-07 \ --num_factors=64 \ --hr_threshold=0.635 \ --keras_use_ctl=true \ --layers=256,256,128,64 \
Monitore o status do job de treinamento exibindo os registros com
gcloud
. Consultegcloud ai-platform jobs describe
egcloud ai-platform jobs stream-logs
.gcloud ai-platform jobs describe ${JOB_ID} gcloud ai-platform jobs stream-logs ${JOB_ID}
Mais recursos de aprendizado
- Saiba mais sobre o Cloud TPU.
- Saiba mais sobre o TensorFlow Model Garden.