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 BERT e como usá-lo.
Visão geral
Esse algoritmo integrado pode realizar treinamento e exportação de modelos:
- 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 BERT do TensorFlow.
- Como exportar: usando o checkpoint inicial fornecido, produza um modelo serializado no diretório de job desejado. Esse modelo pode então ser implantado no AI Platform.
Limitações
Os recursos a seguir não são compatíveis com o treinamento com o algoritmo integrado BERT:
- Pré-processamento automático de dados: essa versão do BERT 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_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)
Recomendamos o uso de um tipo de máquina com acesso a TPUs.
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 do BERT
Nesta seção, explicamos como enviar um job de treinamento usando o algoritmo BERT integrado.
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 BERT 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 BERT e clique em Avançar.
Para saber mais sobre todos os parâmetros disponíveis, siga os links no Console do Google Cloud e consulte a referência integrada do BERT para obter mais detalhes.
gcloud
Defina variáveis de ambiente para o job, preenchendo o
[VALUES-IN-BRACKETS]
com seus próprios valores:# 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/bert:latest' 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}" BERT_BASE_DIR='gs://cloud-tpu-checkpoints/bert/keras_bert/uncased_L-24_H-1024_A-16' MODEL_DIR='${STORAGE_BUCKET}/bert-output' GLUE_DIR='gs://cloud-tpu-checkpoints/bert/classification' TASK='mnli'
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 \ -- \ --mode='train_and_eval' \ --input_meta_data_path=${GLUE_DIR}/${TASK}_meta_data \ --train_data_path=${GLUE_DIR}/${TASK}_train.tf_record \ --eval_data_path=${GLUE_DIR}/${TASK}_eval.tf_record \ --bert_config_file=${BERT_BASE_DIR}/bert_config.json \ --init_checkpoint=${BERT_BASE_DIR}/bert_model.ckpt \ --train_batch_size=32 \ --eval_batch_size=32 \ --learning_rate=2e-5 \ --num_train_epochs=1 \ --steps_per_loop=1000
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.