В настоящее время некоторые модели выпускаются с реализациями, работающими только на TPU (например, преобразователь текста в текст).

Записываю свой опыт настройки узла Google Cloud TPU для запуска моделей машинного обучения.

Общая последовательность шагов такова.

  1. Создайте Облачный аккаунт Google, если у нас его нет.
  2. Создайте проект.
  3. Создайте экземпляр ВМ с одним ЦП или ГП, ОС, пространством на жестком диске, памятью ЦП и т. д.
  4. Установите инструмент (ctpu) на приобретенный экземпляр виртуальной машины для создания, управления и удаления экземпляров TPU. Для этого шага потребуется авторизация, которую можно выполнить с помощью gcloud (устанавливается по умолчанию в экземплярах ВМ).
  5. Настройте корзину облачного хранилища Google.
  6. Теперь мы можем использовать TPU и хранить данные в корзине. После использования TPU не забудьте освободить экземпляр tpu, хранилище сегментов (после сохранения выходных данных, если необходимо) и экземпляр виртуальной машины.

Инструкции по шагам 1–3 описаны в статье по настройке экземпляров ВМ.

4. Установка и использование ctpu

Получить ctpu и включить его местоположение в PATH.

wget https://dl.google.com/cloud_tpu/ctpu/latest/linux/ctpu && chmod a+x ctpu

Команда ctpu позволяет нам выделять, управлять и удалять TPU. Однако нам нужно разрешить этой команде выполнять эти операции. Это можно сделать с помощью gcloud, как показано ниже. Введите команду ниже и следуйте инструкциям, чтобы скопировать и вставить ключ из браузера.

gcloud auth application-default login

Самое простое использование ctpu — создать экземпляр TPU, проверить статус и удалить, как показано ниже.

ctpu up --tpu-only
ctpu status
ctpu delete

Однако в большинстве случаев нам может потребоваться указать дополнительные параметры. Например, модели могут потребовать запуска TPU с определенными версиями Tensorflow и т. д. (например, преобразование текста в текст, команда up будет указана с дополнительными параметрами.)

ctpu up --name=$TPU_NAME --project=$PROJECT --zone=$ZONE --tpu-size=v3-8  --tpu-only   --tf-version=1.15.dev20190821 --noconf

5. Настройка хранилища сегментов и управление им

Чтобы запустить модель, нам может потребоваться скопировать модель либо в наш экземпляр виртуальной машины, либо сохранить модель в корзине. Мы можем использовать gsutil (также устанавливается по умолчанию на экземплярах ВМ)

gsutil mb gs://<your bucket name>
gsutil cp <source> gs://<your bucket name>
gsutil rm -r gs://<your bucket name>

Операции с ведром потребуют авторизации, которую можно выполнить с помощью приведенной ниже команды и следуя инструкциям, чтобы вырезать и вставить обратно код аутентификации из предоставленного URL-адреса браузера.

gsutil config -b

6. Удаление экземпляров

Наконец, когда наша работа завершена, мы можем удалить наш TPU, хранилище корзин и экземпляр виртуальной машины.

ctpu delete 
gsutil rm -r gs://<your bucket name>

Одно аномальное поведение ctpu заключается в том, что он может не отображать активный узел TPU, который мы предоставили, при проверке состояния. Это происходит иногда, когда мы приобретаем TPU либо из экземпляра виртуальной машины, либо из облачной оболочки Google.

Однако мы можем удалить экземпляр TPU с помощью параметра удаления в веб-интерфейсе облачной платформы Google. Любой активный узел TPU всегда отображается в веб-интерфейсе.

Потенциально можно было бы вообще избежать создания экземпляра ВМ, просто используя облачную оболочку Google (не утилиту gcloud, которая дает нам точный контроль над указанием требуемой памяти и т. д.) , но это может оказаться невозможным. во всех случаях из-за ограничений памяти/ресурсов в облачной оболочке Google.

Наконец, экземпляр виртуальной машины, который мы предоставляем, может быть просто процессором или графическим процессором в зависимости от требований модели.

Этот ответ импортируется вручную из Quora. https://qr.ae/TWPFEO