Как эффективно использовать программу TFRC с заданиями платформы GCP AI

#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 возможно, стоит обратить внимание, если вы планируете управлять несколькими узлами одновременно.