Unidad de procesamiento de tensor - Tensor Processing Unit

Unidad de procesamiento de tensor
Unidad de procesamiento de tensor 3.0.jpg
Unidad de procesamiento de tensor 3.0
Diseñador Google
Introducido Mayo de 2016
Escribe Aprendizaje automático de redes neuronales

La Unidad de procesamiento de tensor ( TPU ) es un circuito integrado específico de la aplicación (ASIC) del acelerador de inteligencia artificial desarrollado por Google específicamente para el aprendizaje automático de redes neuronales , en particular utilizando el software TensorFlow de Google . Google comenzó a usar TPU internamente en 2015, y en 2018 los puso a disposición para uso de terceros, tanto como parte de su infraestructura en la nube como al ofrecer a la venta una versión más pequeña del chip.

Visión general

La unidad de procesamiento de tensor se anunció en mayo de 2016 en Google I / O , cuando la compañía dijo que la TPU ya se había utilizado dentro de sus centros de datos durante más de un año. El chip ha sido diseñado específicamente para el marco TensorFlow de Google , una biblioteca matemática simbólica que se utiliza para aplicaciones de aprendizaje automático como las redes neuronales . Sin embargo, a partir de 2017, Google todavía usaba CPU y GPU para otros tipos de aprendizaje automático . Otros diseños de aceleradores de inteligencia artificial también están apareciendo de otros proveedores y están dirigidos a los mercados integrados y robóticos .

Las TPU de Google son propietarias. Algunos modelos están disponibles comercialmente, y el 12 de febrero de 2018, The New York Times informó que Google "permitiría a otras empresas comprar acceso a esos chips a través de su servicio de computación en la nube". Google ha dicho que se utilizaron en la serie de juegos hombre-máquina Go AlphaGo versus Lee Sedol , así como en el sistema AlphaZero , que produjo programas de juego de Ajedrez , Shogi y Go solo a partir de las reglas del juego y pasó a vencer al líder. programas en esos juegos. Google también ha utilizado TPU para el procesamiento de texto de Google Street View y pudo encontrar todo el texto en la base de datos de Street View en menos de cinco días. En Google Photos , una TPU individual puede procesar más de 100 millones de fotos al día. También se usa en RankBrain, que Google usa para proporcionar resultados de búsqueda.

En comparación con una unidad de procesamiento de gráficos , está diseñada para un alto volumen de cálculo de baja precisión (por ejemplo, una precisión de tan solo 8 bits ) con más operaciones de entrada / salida por julio , y carece de hardware para rasterización / mapeo de texturas . Los ASIC de TPU están montados en un ensamblaje de disipador de calor, que puede caber en una ranura de disco duro dentro de un bastidor de centro de datos , según Norman Jouppi . Los diferentes tipos de procesadores son adecuados para diferentes tipos de modelos de aprendizaje automático, las TPU son adecuadas para las CNN, mientras que las GPU tienen beneficios para algunas redes neuronales completamente conectadas, y las CPU pueden tener ventajas para las RNN .

Google proporciona acceso de terceros a las TPU a través de su servicio Cloud TPU como parte de Google Cloud Platform y a través de sus servicios basados ​​en portátiles Kaggle y Colaboratory .

Productos

TPUv1 TPUv2 TPUv3 TPUv4 Borde v1
Fecha de presentación 2016 2017 2018 2021 2018
Nodo de proceso 28 millas náuticas 16 millas náuticas 16 millas náuticas 7 millas náuticas
Tamaño de matriz (mm2) 331 <625 <700 <400
En memoria de chip (MiB) 28 32 32 144
Velocidad de reloj (MHz) 700 700 940 1050
Memoria (GB) DDR3 de 8 GB HBM de 16 GB HBM de 32 GB 8GB
TDP (W) 75 280 450 175 2
TOPS 23 45 90 ? 4

TPU de primera generación

La TPU de primera generación es un motor de multiplicación de matrices de 8 bits , impulsado con instrucciones CISC por el procesador host a través de un bus PCIe 3.0 . Se fabrica en un proceso de 28 nm con un tamaño de matriz ≤ 331  mm 2 . La velocidad de reloj es de 700  MHz y tiene una potencia de diseño térmico de 28-40  W . Tiene 28  MiB de memoria en chip y 4  MiB de acumuladores de 32 bits tomando los resultados de una matriz sistólica de 256 × 256 de multiplicadores de 8 bits . Dentro del paquete de TPU hay 8  GiB de SDRAM DDR3 de doble canal a 2133 MHz que ofrece 34 GB / s de ancho de banda. Las instrucciones transfieren datos hacia o desde el host, realizan multiplicaciones o convoluciones de matrices y aplican funciones de activación .

TPU de segunda generación

La TPU de segunda generación se anunció en mayo de 2017. Google declaró que el diseño de la TPU de primera generación estaba limitado por el ancho de banda de la memoria y que el uso de 16 GB de memoria de gran ancho de banda en el diseño de segunda generación aumentó el ancho de banda a 600 GB / sy el rendimiento a 45 tera. FLOPS . Luego, las TPU se organizan en módulos de cuatro chips con un rendimiento de 180 teraFLOPS. Luego, 64 de estos módulos se ensamblan en módulos de 256 chips con 11.5 petaFLOPS de rendimiento. En particular, mientras que las TPU de primera generación se limitaron a números enteros, las TPU de segunda generación también pueden calcular en punto flotante . Esto hace que las TPU de segunda generación sean útiles tanto para el entrenamiento como para la inferencia de modelos de aprendizaje automático. Google ha declarado que estas TPU de segunda generación estarán disponibles en Google Compute Engine para su uso en aplicaciones TensorFlow.

TPU de tercera generación

La TPU de tercera generación se anunció el 8 de mayo de 2018. Google anunció que los procesadores en sí son dos veces más potentes que las TPU de segunda generación y se implementarán en pods con cuatro veces más chips que la generación anterior. Esto da como resultado un aumento de 8 veces en el rendimiento por módulo (con hasta 1024 chips por módulo) en comparación con la implementación de TPU de segunda generación.

TPU de cuarta generación

El 18 de mayo de 2021, el director ejecutivo de Google, Sundar Pichai, habló sobre las unidades de procesamiento de tensor de TPU v4 durante su discurso de apertura en la conferencia virtual de Google I / O. TPU v4 mejoró el rendimiento en más del doble que los chips TPU v3. Pichai dijo: "Un solo módulo v4 contiene 4096 chips v4, y cada módulo tiene 10 veces el ancho de banda de interconexión por chip a escala, en comparación con cualquier otra tecnología de red".

TPU de borde

En julio de 2018, Google anunció Edge TPU. Edge TPU es el chip ASIC de Google diseñado específicamente para ejecutar modelos de aprendizaje automático (ML) para la computación perimetral , lo que significa que es mucho más pequeño y consume mucha menos energía en comparación con las TPU alojadas en los centros de datos de Google (también conocidas como Cloud TPU). En enero de 2019, Google puso Edge TPU a disposición de los desarrolladores con una línea de productos bajo la marca Coral . Edge TPU es capaz de realizar 4 billones de operaciones por segundo mientras usa 2W.

Las ofertas de productos incluyen una computadora de placa única (SBC), un sistema en módulo (SoM), un accesorio USB , una tarjeta mini PCI-e y una tarjeta M.2 . El SBC Junta Coral y Coral Dev SoM tanto ejecutar el sistema operativo Linux Mendel - un derivado de Debian . Los productos USB, PCI-e y M.2 funcionan como complementos de los sistemas informáticos existentes y admiten sistemas Linux basados ​​en Debian en hosts x86-64 y ARM64 (incluida Raspberry Pi ).

El tiempo de ejecución de aprendizaje automático que se usa para ejecutar modelos en Edge TPU se basa en TensorFlow Lite . Edge TPU solo es capaz de acelerar las operaciones de paso hacia adelante, lo que significa que es principalmente útil para realizar inferencias (aunque es posible realizar un aprendizaje de transferencia ligero en Edge TPU). Edge TPU también solo admite matemáticas de 8 bits, lo que significa que para que una red sea compatible con Edge TPU, debe entrenarse con la técnica de entrenamiento con reconocimiento de cuantización de TensorFlow, o desde finales de 2019 también es posible usar post- cuantificación del entrenamiento.

El 12 de noviembre de 2019, Asus anunció un par de computadoras de placa única (SBC) con Edge TPU. El Asus Tinker Tinker borde T y R Edge Junta diseñado para la IO y borde AI . Los SBC son compatibles oficialmente con los sistemas operativos Android y Debian . ASUS también ha demostrado una mini PC llamada Asus PN60T con Edge TPU.

El 2 de enero de 2020, Google anunció el Coral Accelerator Module y el Coral Dev Board Mini, que se demostrarán en CES 2020 más adelante el mismo mes. El Coral Accelerator Module es un módulo de varios chips que presenta las interfaces Edge TPU, PCIe y USB para una integración más sencilla. El Coral Dev Board Mini es un SBC más pequeño que incluye el Módulo Acelerador Coral y el SoC MediaTek 8167s .

Pixel Neural Core

El 15 de octubre de 2019, Google anunció el teléfono inteligente Pixel 4 , que contiene una TPU Edge llamada Pixel Neural Core .

Ver también

Referencias

enlaces externos