AI Platform Training での組み込みアルゴリズムを使用したトレーニングでは、データセットを送信し、トレーニング コードを一切作成せずに、モデルをトレーニングできます。このページでは、組み込み NCF アルゴリズムの仕組みと使用方法について説明します。
概要
この組み込みアルゴリズムでは、次のトレーニングのみが行われます。
- トレーニング: AI Platform Training は、指定したデータセットとモデル パラメータを使用して、TensorFlow の NCF の実装でトレーニングを行います。
制限事項
次の機能は、NCF 組み込みアルゴリズムを使用したトレーニングではサポートされていません。
- 自動データ前処理: このバージョンの NCF では、トレーニングと出力の両方に対して TFRecords 形式の入力データが必要になります。形式が合っていない入力を自動的に処理するようにトレーニング アプリケーションを作成する必要があります。
サポートされているマシンタイプ
次の AI Platform Training スケール階層とマシンタイプがサポートされています。
BASIC
スケール階層BASIC_GPU
スケール階層BASIC_TPU
スケール階層- AI Platform Training でサポートされている Compute Engine マシンタイプの
CUSTOM
スケール階層 - 次のいずれかの以前のマシンタイプを持つ
CUSTOM
スケール階層: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 コア)
TPU または GPU にアクセスできるマシンタイプを使用することをおすすめします。
入力データのフォーマット
モデルをトレーニングする前に、入力データと評価データが TFRecord 形式になっていることを確認してください。
Cloud Storage バケットの権限を確認する
データを保存するには、AI Platform Training ジョブの実行に使用している Google Cloud プロジェクトの Cloud Storage バケットを使用します。それ以外の場合は、データが保存されている Cloud Storage バケットへのアクセス権を AI Platform Training に付与します。
NCF トレーニング ジョブを送信する
このセクションでは、NCF 組み込みアルゴリズムを使用したトレーニング ジョブを送信する方法を説明します。
各ハイパーパラメータの簡単な説明については、Google Cloud コンソール内で確認できます。より包括的な説明については、組み込み NCF アルゴリズム リファレンスをご覧ください。
Console
Google Cloud コンソールで AI Platform Training の [ジョブ] ページに移動します。
[新規トレーニング ジョブ] ボタンをクリックします。下に表示されたオプションから、[組み込みアルゴリズムによるトレーニング] をクリックします。
[新しいトレーニング ジョブの作成] ページで、[NCF] を選択して [次へ] をクリックします。
使用可能なすべてのパラメータの詳細については、Google Cloud コンソール内のリンクをたどって、組み込み NCF リファレンスをご覧ください。
gcloud
ジョブの環境変数を設定します。
# 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 バケット内のモデル アーティファクトの保存場所を指定します。
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 \
gcloud
でログを確認して、トレーニング ジョブのステータスをモニタリングします。gcloud ai-platform jobs describe
とgcloud ai-platform jobs stream-logs
を参照します。gcloud ai-platform jobs describe ${JOB_ID} gcloud ai-platform jobs stream-logs ${JOB_ID}
その他の学習リソース
- Cloud TPU の詳細を確認する。
- TensorFlow Model Garden の詳細を確認する。