Tipos y zonas de TPU

Resumen

Cuando creas nodos TPU para manejar las cargas de trabajo de aprendizaje automático, debes seleccionar un tipo de TPU. El tipo de TPU define la versión de TPU, la cantidad de núcleos de TPU y la cantidad de memoria de TPU que está disponible para la carga de trabajo de aprendizaje automático.

Por ejemplo, el tipo de TPU v2-8 define un nodo TPU con 8 núcleos de TPU v2 y 64 GiB de memoria de TPU total. El tipo de TPU v3-2048 define un nodo TPU con 2,048 núcleos de TPU v3 y 32 TiB de memoria de TPU total.

Para conocer las diferencias de hardware entre las versiones y configuraciones de TPU, lee la documentación de Arquitectura del sistema.

Para ver los precios de cada tipo de TPU en cada región, consulta la página de Precios.

Un modelo que se ejecuta en un tipo de TPU puede ejecutarse sin cambios de código de TensorFlow para otro tipo de TPU. Por ejemplo, el código v2-8 puede ejecutarse sin cambios en un v3-8. Sin embargo, el escalamiento de un v2-8 o v3-8 a un tipo de TPU más grande, como v2-32 o v3-128, requiere ajuste y optimización significativos.

Tipos y zonas de TPU

Las diferencias principales entre cada tipo de TPU son el precio, el rendimiento, la capacidad de memoria y la disponibilidad zonal.

Google Cloud Platform usa regiones subdivididas en zonas para definir la ubicación geográfica de los recursos de procesamiento físicos. Por ejemplo, la región us-central1 corresponde a una región cercana al centro geográfico de los Estados Unidos que comprende las siguientes zonas: us-central1-a, us-central1-b, us-central1-c y us-central1-f. Cuando creas un nodo TPU, especificas la zona en la que deseas crearlo. Consulta el documento de recursos globales, regionales y zonales de Compute Engine para obtener más información sobre los recursos regionales y zonales.

Puedes configurar los nodos TPU con los siguientes tipos de TPU:

EE.UU.

Tipo de TPU (v2) Núcleos de TPU v2 Memoria total de TPU Región o zona
v2-8 8 64 GiB us-central1-b
us-central1-c
us-central1-f
v2-32 32 256 GiB us-central1-a
v2-128 128 1 TiB us-central1-a
v2-256 256 2 TiB us-central1-a
v2-512 512 4 TiB us-central1-a
Tipo de TPU (v3) Núcleos de TPU v3 Memoria total de TPU Zonas disponibles
v3-8 8 128 GiB us-central1-a
us-central1-b
us-central1-f

Europa

Tipo de TPU (v2) Núcleos de TPU v2 Memoria total de TPU Región o zona
v2-8 8 64 GiB europe-west4-a
v2-32 32 256 GiB europe-west4-a
v2-128 128 1 TiB europe-west4-a
v2-256 256 2 TiB europe-west4-a
v2-512 512 4 TiB europe-west4-a
Tipo de TPU (v3) Núcleos de TPU v3 Memoria total de TPU Zonas disponibles
v3-8 8 128 GiB europe-west4-a
v3-32 32 512 GiB europe-west4-a
v3-64 64 1 TiB europe-west4-a
v3-128 128 2 TiB europe-west4-a
v3-256 256 4 TiB europe-west4-a
v3-512 512 8 TiB europe-west4-a
v3-1024 1,024 16 TiB europe-west4-a
v3-2048 2,048 32 TiB europe-west4-a

Asia-Pacífico

Tipo de TPU (v2) Núcleos de TPU v2 Memoria total de TPU Región o zona
v2-8 8 64 GiB asia-east1-c

Los tipos de TPU con mayor cantidad de núcleos solo están disponibles en cantidades limitadas. Es más probable que los tipos de TPU con menor cantidad de núcleos estén disponibles.

Calcula las compensaciones de precio y rendimiento

Para decidir qué tipo de TPU deseas usar, puedes experimentar con un instructivo de Cloud TPU a fin de entrenar un modelo que sea similar a tu aplicación.

Ejecuta el instructivo para el 5% o el 10% de la cantidad de pasos que seguirás al ejecutar el entrenamiento completo en un tipo de TPU v2-8 y v3-8. El resultado indica cuánto tiempo se tarda en ejecutar esa cantidad de pasos para ese modelo en cada tipo de TPU.

Dado que el rendimiento en los tipos de TPU escala de manera lineal, si sabes cuánto tiempo lleva ejecutar una tarea en un tipo de TPU v2-8 o v3-8, podrás estimar cuánto se reducirá el tiempo de las tareas si ejecutas el modelo en un tipo de TPU más grande y con más núcleos.

Por ejemplo, si un tipo de TPU v2-8 tarda 60 minutos en completar 10,000 pasos, a un nodo v2-32 debería llevarle alrededor de 15 minutos realizar la misma tarea.

Si quieres determinar la diferencia de costos dentro de tu región entre los distintos tipos de TPU para Cloud TPU y la VM de Compute Engine asociada, consulta la página de precios de TPU. Cuando conoces el tiempo de entrenamiento aproximado para tu modelo en distintos tipos de TPU, puedes comparar el costo de VM/TPU con el tiempo de entrenamiento y así decidir cuál es la mejor relación entre precio y rendimiento.

Especifica el tipo de TPU

Cuando creas un nodo TPU, debes especificar el tipo de TPU. Por ejemplo, puedes seleccionar un tipo de TPU con uno de los siguientes métodos:

Comando de gcloud

  • Usa el comando gcloud compute tpus execution-groups:
$ gcloud compute tpus execution-groups create \
 --name=tpu_name \
 --zone=zone \
 --tf-version=tensorflow_version \
 --machine-type=n1-standard-8 \
 --accelerator-type=v3-8

Descripciones de las marcas de comandos

name
El nombre de la Cloud TPU para crear.
zone
Es la zona en la que deseas crear la Cloud TPU.
tf-version
La versión de Tensorflow gcloud se instala en la VM.
machine-type
El tipo de máquina de la VM de Compute Engine que se creará.
accelerator-type
El tipo de Cloud TPU que se creará.

Cloud Console

  1. Desde el menú de navegación de la izquierda, selecciona Compute Engine > TPU.
  2. En la pantalla TPU, haz clic en Crear nodo TPU. Aparecerá una página de configuración para la TPU.
  3. En Tipo de TPU, selecciona una de las versiones de TPU compatibles.
  4. Haz clic en el botón Crear.

Pasos siguientes