En este artículo, haremos una comparación entre TPU y GPU. Pero antes de profundizar en ello, esto es lo que debe saber.

El aprendizaje automático y la tecnología de inteligencia artificial han acelerado el crecimiento de las aplicaciones inteligentes. Con este fin, las empresas de semiconductores crean continuamente aceleradores y procesadores, incluidos TPU y CPU, para manejar aplicaciones más complejas.

Algunos usuarios han tenido problemas para entender cuándo se recomienda usar una TPU y cuándo usar una GPU para sus tareas informáticas.

Una GPU, también conocida como unidad de procesamiento gráfico, es la tarjeta de video de su PC para ofrecerle una experiencia de PC visual e inmersiva. Por ejemplo, puede seguir pasos sencillos si su PC no detecta la GPU.

Para comprender mejor estas circunstancias, también necesitaremos aclarar qué es una TPU y cómo se compara con una GPU.

Índice

¿Qué es un TPU?

Las TPU o unidades de procesamiento de tensores son circuitos integrados (IC) especializados para aplicaciones específicas, también conocidos como ASIC (circuitos integrados específicos de la aplicación). Google creó las TPU desde cero, comenzó a usarlas en 2015 y las abrió al público en 2018.

Las TPU se ofrecen como versiones menores de chip o en la nube. Para acelerar el aprendizaje automático de una red neuronal mediante el software TensorFlow, las TPU en la nube resuelven operaciones complejas de matrices y vectores a velocidades increíbles.

Con TensorFlow, Google Brain Team desarrolló una plataforma de aprendizaje automático de código abierto, los investigadores, los desarrolladores y las empresas pueden construir y operar modelos de IA utilizando hardware de Cloud TPU.

Cuando se entrenan modelos de redes neuronales complejos y robustos, las TPU reducen el tiempo hasta el valor de precisión. Esto significa que los modelos de aprendizaje profundo que pueden haber tomado semanas para entrenar usando GPU toman menos de una fracción de ese tiempo.

¿Es lo mismo TPU que GPU?

Son arquitectónicamente muy distintos. Una unidad de procesamiento gráfico es un procesador en sí mismo, aunque está orientado hacia la programación numérica vectorizada. Las GPU son, en efecto, la próxima generación de supercomputadoras Cray.

Las TPU son coprocesadores que no ejecutan instrucciones por sí mismos; el código se ejecuta en las CPU, lo que alimenta a la TPU con un flujo de pequeñas operaciones.

¿Cuándo debo usar TPU?

Las TPU en la nube se adaptan a aplicaciones particulares. Es posible que prefiera ejecutar sus tareas de aprendizaje automático utilizando GPU o CPU en algunos casos. En general, los siguientes principios pueden ayudarlo a evaluar si TPU es la mejor opción para su carga de trabajo:

  • Los cálculos matriciales son dominantes en los modelos.
  • Dentro del bucle de entrenamiento principal del modelo, no hay operaciones personalizadas de TensorFlow
  • Son modelos que pasan semanas o meses de entrenamiento
  • Son modelos masivos que tienen tamaños de lote extensos y efectivos.

Ahora pasemos a una comparación directa entre TPU y GPU.

¿Cuáles son las diferencias entre GPU y TPU?

Arquitectura de GPU frente a TPU

El TPU no es un hardware muy complejo y se siente como un motor de procesamiento de señales para aplicaciones de radar y no como la arquitectura tradicional derivada de X86.

A pesar de tener muchas divisiones de multiplicación de matriz, es menos una GPU y más un coprocesador; simplemente ejecuta los comandos recibidos dados por un host.

Debido a que hay tantos pesos para ingresar al componente de multiplicación de matrices, la DRAM de la TPU funciona como una sola unidad en paralelo.

Además, debido a que las TPU solo pueden realizar operaciones matriciales, las placas de TPU están vinculadas a sistemas host basados ​​en CPU para realizar tareas que las TPU no pueden manejar.

Las computadoras host están a cargo de entregar datos a la TPU, preprocesar y obtener detalles de Cloud Almacenamiento.

tpu frente a gpu

Las GPU están más preocupadas por aplicar los núcleos disponibles al trabajo que por acceder a la memoria caché de baja latencia.

Muchas PC (clústeres de procesadores) con varios SM (multiprocesadores de transmisión) se convierten en un solo dispositivo de GPU, con capas de caché de instrucciones de capa uno y núcleos adjuntos alojados en cada SM.

Antes de la extracción de datos de la memoria GDDR-5 global, un SM suele utilizar una capa compartida de dos cachés y una capa dedicada de un caché. La arquitectura GPU es tolerante a la latencia de la memoria.

Una GPU opera con un número mínimo de niveles de caché de memoria. Sin embargo, debido a que una GPU cuenta con más transistores dedicados al procesamiento, se preocupa menos por el tiempo que tarda en acceder a los datos en la memoria.

El posible retraso en el acceso a la memoria se oculta ya que la GPU se mantiene ocupada con los cálculos adecuados.

Velocidad de TPU frente a GPU

Esta generación de TPU original inferencia dirigida, que utiliza un modelo aprendido en lugar de uno entrenado.

La TPU es de 15 a 30 veces más rápida que las GPU y CPU actuales en aplicaciones comerciales de IA que usan inferencia de redes neuronales.

Además, el TPU es significativamente eficiente desde el punto de vista energético, con un aumento de entre 30 y 80 veces en el valor TOPS/vatio.

Por lo tanto, al hacer una comparación de la velocidad de TPU frente a GPU, las probabilidades se inclinan hacia la Unidad de procesamiento de tensor.

Rendimiento de TPU frente a GPU

Una TPU es una máquina de procesamiento de tensores creada para acelerar los cálculos de gráficos de Tensorflow.

En una sola placa, cada TPU puede proporcionar hasta 64 GB de memoria de gran ancho de banda y 180 teraflops de rendimiento de punto flotante.

A continuación se muestra una comparación entre las GPU y las TPU de Nvidia. El eje Y representa la cantidad de fotos por segundo, mientras que el eje X representa los distintos modelos.

tpu frente a gpu

Aprendizaje automático de TPU frente a GPU

A continuación se muestran los tiempos de entrenamiento para CPU y GPU que utilizan diferentes tamaños de lote e iteraciones por época:

  • Iteraciones/época: 100, Tamaño de lote: 1000, Épocas totales: 25, Parámetros: 1,84 M y Tipo de modelo: Keras Mobilenet V1 (alfa 0,75).
ACELERADORGPU (NVIDIA K80)TPU
Precisión de entrenamiento (%)96.594.1
Precisión de validación (%)65.168.6
Tiempo por iteración (ms)69173
Tiempo por época (s)69173
Tiempo total (minutos)3072
  • Iteraciones/época: 1000, Tamaño de lote: 100, Épocas totales: 25, Parámetros: 1,84 M y Tipo de modelo: Keras Mobilenet V1 (alfa 0,75)
ACELERADORGPU (NVIDIA K80)TPU
Precisión de entrenamiento (%)97.496,9
Precisión de validación (%)45.245.3
Tiempo por iteración (ms)185252
Tiempo por época (s)1825
Tiempo total (minutos)dieciséis21

Con un tamaño de lote más pequeño, la TPU tarda mucho más en entrenarse, como se ve en el tiempo de entrenamiento. Sin embargo, el rendimiento de la TPU es más parecido al de la GPU con un mayor tamaño de lote.

Por lo tanto, al hacer una comparación de entrenamiento entre TPU y GPU, mucho tiene que ver con las épocas y el tamaño del lote.

Punto de referencia de TPU frente a GPU

Con 0,5 vatios/TOPS, una sola Edge TPU puede ejecutar cuatro billones de operaciones por segundo. Varias variables influyen en qué tan bien se traduce esto en el rendimiento de la aplicación.

Los modelos de redes neuronales tienen distintos requisitos y la salida general varía según la velocidad del USB host, la CPU y otros recursos del sistema del dispositivo acelerador USB.

Con eso en mente, el siguiente gráfico contrasta el tiempo dedicado a hacer inferencias individuales en un Edge TPU con varios modelos estándar. Por supuesto, todos los modelos que se ejecutan son las versiones de TensorFlow Lite a modo de comparación.

tpu frente a gpu

Tenga en cuenta que los datos anteriores muestran el tiempo que lleva ejecutar el modelo. Sin embargo, excluye el tiempo que lleva procesar los datos de entrada, que varía según la aplicación y el sistema.

Los resultados de las pruebas comparativas de GPU se comparan con la resolución y la configuración de calidad de juego deseada por el usuario.

Sobre la base de la evaluación de más de 70 000 pruebas comparativas, se han construido meticulosamente algoritmos sofisticados para generar estimaciones fiables del 90 % del rendimiento de los juegos.

Aunque el rendimiento de las tarjetas gráficas varía ampliamente entre los juegos, esta imagen de comparación a continuación brinda un índice de calificación amplio para algunas tarjetas gráficas.

Precio de TPU frente a GPU

Tienen una diferencia de precio importante. Las TPU son cinco veces más costosas que las GPU. Aquí hay unos ejemplos:

  • Una GPU Nvidia Tesla P100 cuesta $ 1.46 por hora
  • Google TPU v3 cuesta $ 8.00 por hora
  • TPUv2 con acceso a pedido de GCP $4.50 por hora

Si el objetivo es optimizar el costo, debe optar por una TPU solo si entrena un modelo 5 veces más rápido que una GPU.

¿Cuál es la diferencia entre CPU, GPU y TPU?

La distinción entre TPU, GPU y CPU es que la CPU es un procesador de propósito no específico que maneja todos los cálculos, la lógica, la entrada y la salida de la computadora.

Por otro lado, la GPU es un procesador adicional que se utiliza para mejorar la interfaz gráfica (GI) y realizar actividades de alto nivel. Las TPU son procesadores fuertes y especialmente fabricados que se utilizan para ejecutar proyectos desarrollados con un marco particular, como TensorFlow.

Los clasificamos de la siguiente manera:

  • Unidad central de procesamiento (CPU): controla todos los aspectos de una computadora
  • Unidad de procesamiento de gráficos (GPU): mejora el rendimiento de gráficos de la computadora
  • Unidad de procesamiento de tensor (TPU): ASIC diseñado explícitamente para proyectos de TensorFlow
tpu frente a gpu

¿Nvidia fabrica TPU?

Mucha gente se ha preguntado cómo reaccionaría NVIDIA ante la TPU de Google, pero ahora tenemos las respuestas.

En lugar de preocuparse, NVIDIA ha logrado posicionar TPU como una herramienta que puede utilizar cuando tiene sentido, pero manteniendo su software CUDA y GPU a la cabeza.

Mantiene un punto de control para la adopción del aprendizaje automático de IoT al hacer que la tecnología sea de código abierto. Sin embargo, el peligro de este método es que puede dar crédito a un concepto que podría convertirse en un desafío para las aspiraciones a largo plazo de los motores de inferencia del centro de datos para NVIDIA.

¿Es mejor GPU o TPU?

En conclusión, debemos decir que aunque desarrollar los algoritmos para permitir el uso efectivo de una TPU cuesta un poco más, los costos de capacitación reducidos generalmente superan los gastos de programación adicionales.

Otras razones para elegir una TPU incluyen el hecho de que la G de VRAM de la v3-128 8 supera a la de las GPU de Nvidia, lo que convierte a la v3-8 en una mejor alternativa para procesar grandes conjuntos de datos asociados con NLU y NLP.

Las velocidades más altas también pueden conducir a una iteración más rápida durante los ciclos de desarrollo, lo que lleva a una innovación más rápida y frecuente, lo que aumenta la probabilidad de éxito en el mercado.

La TPU supera a la GPU en términos de velocidad de innovación, facilidad de uso y asequibilidad; los consumidores y los arquitectos de la nube deben considerar la TPU en sus iniciativas de ML e IA.

La TPU de Google tiene mucha capacidad de procesamiento y el usuario debe coordinar la entrada de datos para asegurarse de que no haya sobrecarga.

Ahí lo tienes, una comparación total entre TPU y GPU. Nos encantaría conocer su opinión y ver si ha realizado alguna prueba y qué resultados recibió en TPU y GPU.

Recuerde, puede disfrutar de una experiencia de PC inmersiva con cualquiera de las mejores tarjetas gráficas para Windows 11.