#tensorflow2.0 #tpu #google-cloud-tpu #gcp-ai-platform-training #google-ai-platform
# #tensorflow2.0 #tpu #google-облако-tpu #gcp-ai-platform-обучение #google-ai-платформа
Вопрос:
Я пытаюсь запустить задание настройки гиперпараметров в службу заданий платформы искусственного интеллекта GCP, одобренную мной исследовательскую облачную программу Tensorflow
- 100 устройств (устройств) с вытесняемым облаком TPU v2-8 в зоне us-central1-f
- 20 облачных устройств TPU v2-8 по требованию в зоне us-central1-f
- 5 облачных устройств TPU v3-8 по требованию в зоне europe-west4-a
Я уже создал пользовательскую модель на Tensorflow 2, и я хочу запустить задание, указав точную зону, чтобы воспользоваться преимуществами программы TFRC и службы заданий платформы AI; прямо сейчас у меня есть конфигурационный файл YAML, который выглядит как:
trainingInput:
scaleTier: basic-tpu
region: us-central1
hyperparameters:
goal: MAXIMIZE
hyperparameterMetricTag: val_accuracy
maxTrials: 100
maxParallelTrials: 16
maxFailedTrials: 30
enableTrialEarlyStopping: True
Теоретически, если я запускаю 16 параллельных заданий, каждое из которых в отдельном экземпляре TPU должно работать, но вместо этого возвращает ошибку из-за превышения квоты запроса TPU_V2
ОШИБКА: (gcloud.ai-platform.jobs.submit.training) RESOURCE_EXHAUSTED: сбой квоты для проекта ###################. Запрос на 128 ускорителей TPU_V2 для 16 параллельных запусков превышает допустимый максимум 0 A100, 0 TPU_V2_POD, 0 TPU_V3_POD, 16 TPU_V2, 16 TPU_V3, 2 P4, 2 V100, 30 K80, 30 P100, 6 ускорителей T4.
Затем я уменьшаю maxParallelTrials только до 2 и работал, что подтверждает приведенное выше сообщение об ошибке, что квота подсчитывается чипом TPU, а не экземпляром TPU.
Поэтому я думаю, может быть, я совершенно неправильно понял утвержденную квоту программы TFRC, затем я продолжаю проверять, использует ли задание зону us-central1-f, но оказывается, что используется нежелательная зона:
-tpu_node={«project»: «p091c8a0a31894754-tp», «zone»: «us-central1-c», «tpu_node_name»: «cmle-training-1597710560117985038-tpu»}»
Такое поведение не позволяет мне эффективно использовать бесплатную утвержденную квоту, и, если я правильно понимаю, задание, выполняемое в us-central1-c, снимает кредиты с моей учетной записи, но не использует бесплатные ресурсы. Поэтому мне интересно, есть ли какой-нибудь способ установить зону в задании платформы AI, а также можно передать некоторый флаг для использования вытесняемых TPU.
Ответ №1:
К сожалению, эти два варианта невозможно объединить.
Комментарии:
1. Итак, если я хочу выполнить настройку гиперпараметров, нужно ли мне создавать скрипт для создания экземпляра TPU через ctpu, а затем запускать несколько обучающих заданий параллельно?
2.
ctpu
Будет работать либо ,gcloud
, либо раздел Compute Engine консоли GCP.3. Кроме того, и с оговоркой, что я не использовал ее лично, github.com/shawwn/tpunicorn возможно, стоит обратить внимание, если вы планируете управлять несколькими узлами одновременно.