기본 제공 BERT 알고리즘을 사용한 학습

AI Platform Training의 기본 제공 알고리즘을 사용하여 학습하면 학습 코드를 작성하지 않고도 데이터세트를 제출하고 모델을 학습시킬 수 있습니다. 이 페이지에서는 기본 제공 BERT 알고리즘의 작동 방식과 사용법을 설명합니다.

개요

이 기본 제공 알고리즘은 학습 및 모델 내보내기를 모두 수행할 수 있습니다.

  1. 학습: AI Platform Training은 제공된 데이터 세트 및 모델 매개변수와 함께 TensorFlow의 BERT 구현을 사용하여 학습을 실행합니다.
  2. 내보내기: 제공된 초기 체크포인트를 사용하여 원하는 작업 디렉터리에 직렬화된 모델을 생성합니다. 그런 후 이 모델을 AI Platform에 배포할 수 있습니다.

제한사항

다음 기능은 기본 제공 BERT 알고리즘을 사용한 학습에 지원되지 않습니다.

  • 자동화된 데이터 사전 처리 이 버전의 BERT를 사용하려면 학습 및 출력 모두 입력 데이터가 TFRecords 형식이어야 합니다. 학습 애플리케이션은 형식이 지정되지 않은 입력을 자동으로 처리하도록 해야 합니다.

지원되는 머신 유형

지원되는 AI Platform Training 확장 등급과 머신 유형은 다음과 같습니다.

TPU 액세스 권한이 있는 머신 유형을 사용하는 것이 좋습니다.

입력 데이터 형식 지정

모델을 학습하기 전 입력 및 평가 데이터가 TFRecords 형식인지 확인합니다.

Cloud Storage 버킷 권한 확인

데이터를 저장하려면 AI Platform Training 작업을 실행하는 데 사용하는 것과 동일한 Google Cloud 프로젝트에서 Cloud Storage 버킷을 사용합니다. 그렇지 않으면 데이터가 저장된 Cloud Storage 버킷에 AI Platform Training 액세스 권한을 부여합니다.

BERT 학습 작업 제출

이 섹션에서는 기본 제공 BERT 알고리즘을 사용하는 학습 작업을 제출하는 방법을 설명합니다.

Google Cloud Console 내에서는 각 초매개변수의 간략한 설명을 확인할 수 있으며 기본 제공 BERT 알고리즘 참조에서는 보다 포괄적인 설명을 확인할 수 있습니다.

콘솔

  1. Google Cloud Console의 AI Platform Training 작업 페이지로 이동합니다.

    AI Platform Training 작업 페이지

  2. 새 학습 작업 버튼을 클릭합니다. 아래 표시된 옵션 중에서 기본 제공 알고리즘 학습을 클릭합니다.

  3. 새 학습 작업 만들기 페이지에서 BERT를 선택하고 다음을 클릭합니다.

  4. 사용 가능한 모든 매개변수에 대해 자세히 알아보려면 Google Cloud Console의 링크로 이동하여 기본 제공 BERT 참조의 자세한 설명을 참조하세요.

gcloud

  1. [VALUES-IN-BRACKETS]에 고유 값을 입력하여 작업 환경 변수를 설정합니다.

       # 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'
    
  2. gcloud ai-platform jobs training submit를 사용하여 학습 작업을 제출합니다. 데이터 세트를 사용하려면 다음과 같은 일반적인 예시를 조정하세요.

       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
    
  3. gcloud로 로그를 확인하여 학습 작업 상태를 모니터링합니다. gcloud ai-platform jobs describegcloud ai-platform jobs stream-logs를 참조하세요.

       gcloud ai-platform jobs describe ${JOB_ID}
       gcloud ai-platform jobs stream-logs ${JOB_ID}
    

추가 학습 자료