Тюнинг на основе TPU для CloudML

Поддерживаются ли TPU для распределенного поиска гиперпараметров? Я использую tensor2tensor библиотека, которая поддерживает CloudML для поиска гиперпараметров, т. е. мне нужно выполнить поиск гиперпараметров для языковой модели на графических процессорах:

t2t-trainer \
  --model=transformer \
  --hparams_set=transformer_tpu \
  --problem=languagemodel_lm1b8k_packed \
  --train_steps=100000 \
  --eval_steps=8 \
  --data_dir=$DATA_DIR \
  --output_dir=$OUT_DIR \
  --cloud_mlengine \
  --hparams_range=transformer_base_range \
  --autotune_objective='metrics-languagemodel_lm1b8k_packed/neg_log_perplexity' \
  --autotune_maximize \
  --autotune_max_trials=100 \
  --autotune_parallel_trials=3

Тем не менее, когда я пытаюсь использовать TPU, как показано ниже:

t2t-trainer \
  --problem=languagemodel_lm1b8k_packed \
  --model=transformer \
  --hparams_set=transformer_tpu \
  --data_dir=$DATA_DIR \
  --output_dir=$OUT_DIR \
  --train_steps=100000 \
  --use_tpu=True \
  --cloud_mlengine_master_type=cloud_tpu \
  --cloud_mlengine \
  --hparams_range=transformer_base_range \
  --autotune_objective='metrics-languagemodel_lm1b8k_packed/neg_log_perplexity' \
  --autotune_maximize \
  --autotune_max_trials=100 \
  --autotune_parallel_trials=5

Я получаю ошибку:

googleapiclient.errors.HttpError: <HttpError 400 when requesting https://ml.googleapis.com/v1/projects/******/jobs?alt=json returned "Field: master_type Error: The specified machine type for masteris not supported in TPU training jobs: cloud_tpu"

2 ответа

Один из авторов библиотеки tenor2tensor здесь. Да, это была действительно ошибка и теперь исправлена. Спасибо, что нашли. Мы выпустим исправленную версию PyPI на этой неделе, и вы, конечно, можете клонировать и устанавливать локально с master до тех пор.

Команда, которую вы использовали, теперь должна работать нормально.

Я полагаю, что есть ошибка в библиотеке tenor2tensor: https://github.com/tensorflow/tensor2tensor/blob/6a7ef7f79f56fdcb1b16ae76d7e61cb09033dc4f/tensor2tensor/utils/cloud_mlengine.py

Это рабочий_тип (а не мастер-тип), который нужно установить для Cloud ML Engine.

Чтобы ответить на первоначальный вопрос, да, HP Tuning должен поддерживаться для TPU, но ошибка выше ортогональна этому.

Другие вопросы по тегам