El TPU v1 es la primera generación de la Unidad de Procesamiento Tensorial, un circuito integrado de aplicación específica (ASIC) personalizado desarrollado por Google para acelerar la inferencia de redes neuronales. Introducido internamente en 2015 y anunciado públicamente en mayo de 2016 en Google I/O, fue diseñado específicamente para el marco TensorFlow. El chip es un motor de multiplicación de matrices de matriz sistólica optimizado para cómputo de alto volumen y baja precisión, utilizando principalmente enteros de 8 bits, y fue desplegado en los centros de datos de Google para impulsar servicios como búsqueda, Street View y Fotos.
A diferencia de los procesadores de propósito general, el TPU v1 fue construido para manejar los patrones computacionales específicos de las redes neuronales a escala. Su arquitectura, que comparte una genealogía con sistemas de matriz sistólica anteriores como el WARP, fue seleccionada entre tres diseños competidores de aceleradores de IA en Google. El desarrollo fue liderado por Norman P. Jouppi como líder técnico y arquitecto principal, con Amir Salek fundando el grupo de silicio personalizado de Google en 2013. El chip pasó del diseño a la producción en solo 15 meses, un cronograma rápido para un ASIC personalizado.
Arquitectura y Especificaciones
El TPU v1 es un motor de multiplicación de matrices de 8 bits impulsado por instrucciones de computadora de conjunto de instrucciones complejo (CISC) desde un procesador host a través de un bus PCIe 3.0. Está fabricado en un proceso de 28 nm con un tamaño de dado de no más de 331 mm². El chip opera a una velocidad de reloj de 700 MHz y tiene una potencia de diseño térmico de 28-40 W, lo que lo hace altamente eficiente energéticamente para sus cargas de trabajo previstas.
Los componentes clave incluyen 28 MiB de memoria en chip y 4 MiB de acumuladores de 32 bits que recogen resultados de una matriz sistólica de 256×256 de multiplicadores de 8 bits. El paquete contiene 8 GiB de SDRAM DDR3 de doble canal a 2133 MHz, proporcionando 34 GB/s de ancho de banda de memoria. Las instrucciones manejan la transferencia de datos hacia y desde el host, realizan multiplicaciones de matrices o convoluciones, y aplican funciones de activación, cubriendo las operaciones centrales necesarias para la inferencia.
Rendimiento y Despliegue
En un artículo seminal de 2017 titulado "In-Datacenter Performance Analysis of a Tensor Processing Unit", presentado en el 44º Simposio Internacional de Arquitectura de Computadoras (ISCA 2017), Jouppi y colegas demostraron que el TPU v1 lograba un rendimiento de 15 a 30 veces mayor y un rendimiento por vatio de 30 a 80 veces mayor que las CPU y GPU contemporáneas. Esto estableció al chip como una plataforma fundamental para la inferencia de redes neuronales a escala.
Google desplegó TPU en sus servicios de producción. Para el procesamiento de texto de Google Street View, el chip encontró todo el texto en la base de datos en menos de cinco días. En Google Fotos, un solo TPU podía procesar más de 100 millones de fotos por día. El chip también impulsó RankBrain, que Google utiliza para mejorar los resultados de búsqueda, y fue utilizado en los partidos de Go AlphaGo contra Lee Sedol y en el sistema AlphaZero.
Comparación con GPU y CPU
Los TPU están diseñados para cómputo de alto volumen y baja precisión con más operaciones de entrada/salida por julio, sin hardware para rasterización o mapeo de texturas. Esto los hace muy adecuados para redes neuronales convolucionales (CNN), que dominan muchas tareas de inferencia. En contraste, las GPU tienen beneficios para algunas redes neuronales totalmente conectadas, y las CPU pueden tener ventajas para redes neuronales recurrentes (RNN).
Diferentes tipos de procesadores sirven a diferentes modelos de aprendizaje automático. Para redes neuronales basadas en transformadores utilizadas en modelos de lenguaje grandes, los TPU se usan a menudo para inferencia mientras que las GPU se usan para entrenamiento. Los ASIC TPU están montados en conjuntos de disipadores de calor que pueden caber en ranuras de discos duros dentro de los bastidores de centros de datos, facilitando un despliegue denso.
Legado e Impacto
El éxito del TPU v1 allanó el camino para generaciones posteriores, incluido el TPU v2, que introdujo soporte de punto flotante bfloat16 para entrenamiento, y versiones posteriores. Broadcom ha servido como co-desarrollador, traduciendo la arquitectura de Google en silicio fabricable y gestionando la fabricación a través de fundiciones como TSMC. El diseño del chip influyó en el panorama más amplio de aceleradores de IA, con otros proveedores desarrollando productos similares para mercados integrados y de robótica.
Google puso los TPU a disposición de terceros a través de su servicio Cloud TPU en Google Cloud Platform en 2018, y a través de servicios basados en cuadernos como Kaggle y Colaboratory. El TPU v1 sigue siendo un hito en el hardware de inteligencia artificial, demostrando el valor de los procesadores de dominio específico para cargas de trabajo de aprendizaje automático.