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

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

개요

이 기본 제공 알고리즘은 다음과 같이 학습만 수행합니다.

  1. 학습: AI Platform Training은 제공된 데이터 세트 및 모델 매개변수와 함께 TensorFlow의 NCF 구현을 사용하여 학습을 실행합니다.

제한사항

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

  • 자동화된 데이터 사전 처리: 이 버전의 NCF에서는 학습 및 출력용 입력 데이터가 TFRecords 형식이어야 합니다. 형식이 지정되지 않은 입력을 자동으로 처리하도록 학습 애플리케이션을 만들어야 합니다.

지원되는 머신 유형

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

TPU 또는 GPU에 액세스할 수 있는 머신 유형을 사용하는 것이 좋습니다.

입력 데이터 형식 지정

모델을 학습시키기 전에 입력 및 평가 데이터가 TFRecord 형식으로 되어 있는지 확인하세요.

Cloud Storage 버킷 권한 확인

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

NCF 학습 작업 제출

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

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

콘솔

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

    AI Platform 학습 작업 페이지

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

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

  4. 사용 가능한 모든 매개변수를 자세히 알아보려면 Google Cloud Console의 링크를 클릭해 기본 제공 NCF 참조를 확인하세요.

gcloud

  1. 작업의 환경 변수 설정

       # 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}"
    

    다음을 바꿉니다.

    • BUCKET_NAME: 학습 출력을 저장할 Cloud Storage 버킷의 이름입니다.
    • MODEL_NAME: Cloud Storage 버킷에서 모델 아티팩트가 저장되는 위치를 식별하기 위한 모델 이름입니다.
  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 \
          -- \
          --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 \
    
  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}
    

추가 학습 자료