stringtranslate.com

Unidad de procesamiento tensorial

Tensor Processing Unit ( TPU ) es un circuito integrado específico de aplicación (ASIC) de acelerador de IA desarrollado por Google para el aprendizaje automático de redes neuronales , utilizando el software TensorFlow de Google . [1] Google comenzó a utilizar TPU internamente en 2015, y en 2018 los puso a disposición de terceros , tanto como parte de su infraestructura en la nube como ofreciendo a la venta una versión más pequeña del chip.

Comparación con CPU y GPU

En comparación con una unidad de procesamiento de gráficos , las TPU están diseñadas para un gran volumen de cálculo de baja precisión (por ejemplo, una precisión tan pequeña como de 8 bits ) [2] con más operaciones de entrada/salida por julio , sin hardware para rasterización/ mapeo de texturas . [3] Los ASIC de TPU están montados en un conjunto de disipador de calor, que puede caber en una ranura de disco duro dentro del bastidor de un centro de datos , según Norman Jouppi . [4]

Los distintos tipos de procesadores son adecuados para distintos tipos de modelos de aprendizaje automático. Las TPU son muy adecuadas para las CNN , mientras que las GPU tienen ventajas para algunas redes neuronales completamente conectadas y las CPU pueden tener ventajas para las RNN . [5]

Historia

La unidad de procesamiento tensorial 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. [4] [3] 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 redes neuronales . [6] Sin embargo, a partir de 2017, Google todavía usaba CPU y GPU para otros tipos de aprendizaje automático . [4] Otros diseños de aceleradores de IA también están apareciendo de otros proveedores y están dirigidos a los mercados integrados y de robótica .

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". [7] Google ha dicho que se utilizaron en la serie de juegos Go hombre-máquina AlphaGo versus Lee Sedol , [3] así como en el sistema AlphaZero , que produjo programas de ajedrez , shogi y go a partir de las reglas del juego únicamente y Luego venció a los programas líderes en esos juegos. [8] 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. [4] También se utiliza en RankBrain , que utiliza Google para proporcionar resultados de búsqueda. [9]

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

Productos

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 mediante un proceso de 28 nm con un tamaño de matriz ≤ 331  mm 2 . La velocidad del reloj es de 700  MHz y tiene una potencia de diseño térmico de 28 a  40 W. Tiene 28  MiB de memoria en chip y 4  MiB de acumuladores de 32 bits que toman los resultados de una matriz sistólica de 256 × 256 de multiplicadores de 8 bits . [20] Dentro del paquete TPU hay 8  GiB de SDRAM DDR3 de 2133 MHz de doble canal que ofrece 34 GB/s de ancho de banda. [15] Las instrucciones transfieren datos hacia o desde el host, realizan multiplicaciones de matrices o convoluciones y aplican funciones de activación . [20]

TPU de segunda generación

La TPU de segunda generación se anunció en mayo de 2017. [21] Google declaró que el diseño de 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 alto ancho de banda en el diseño de segunda generación aumentó el ancho de banda a 600 GB/s y el rendimiento. a 45 tera FLOPS . [15] Luego, los TPU se organizan en módulos de cuatro chips con un rendimiento de 180 teraFLOPS. [21] Luego, 64 de estos módulos se ensamblan en cápsulas de 256 chips con 11,5 petaFLOPS de rendimiento. [21] En particular, mientras que las TPU de primera generación se limitaban a números enteros, las TPU de segunda generación también pueden calcular en punto flotante , introduciendo el formato bfloat16 inventado por Google Brain . 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 estos TPU de segunda generación estarán disponibles en Google Compute Engine para su uso en aplicaciones TensorFlow. [22]

TPU de tercera generación

La TPU de tercera generación se anunció el 8 de mayo de 2018. [23] Google anunció que los procesadores en sí son dos veces más potentes que los TPU de segunda generación y se implementarían en módulos con cuatro veces más chips que la generación anterior. [24] [25] 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 TPU v4 durante su discurso de apertura en la conferencia virtual Google I/O. TPU v4 mejoró el rendimiento en más del doble que los chips TPU v3. Pichai dijo: "Un solo pod v4 contiene 4096 chips v4, y cada pod tiene 10 veces el ancho de banda de interconexión por chip a escala, en comparación con cualquier otra tecnología de red". [26] Un artículo de abril de 2023 de Google afirma que TPU v4 es entre un 5 y un 87 % más rápido que el A100 en los puntos de referencia de aprendizaje automático .

También existe una versión de "inferencia", llamada v4i, [28] que no requiere refrigeración líquida . [29]

TPU de quinta generación

En 2021, Google reveló que el diseño físico de TPU v5 se está realizando mediante una novedosa aplicación de aprendizaje por refuerzo profundo . [30] Google afirma que TPU v5 es casi dos veces más rápido que TPU v4, [31] y basándose en eso y en el rendimiento relativo de TPU v4 sobre A100, algunos especulan que TPU v5 es tan rápido o más rápido que H100 . [32]

De manera similar a que v4i es una versión más liviana de v4, la quinta generación tiene una versión "rentable" [33] llamada v5e. [17] En diciembre de 2023, Google anunció TPU v5p que, según se afirma, es competitivo con el H100. [34]

Borde de TPU

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

La oferta de productos incluye 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 . Tanto SBC Coral Dev Board como Coral SoM ejecutan el sistema operativo Mendel Linux, un derivado de Debian . [37] [38] Los productos USB, PCI-e y M.2 funcionan como complementos para los sistemas informáticos existentes y son compatibles con sistemas Linux basados ​​en Debian en hosts x86-64 y ARM64 (incluido Raspberry Pi ).

El tiempo de ejecución de aprendizaje automático utilizado para ejecutar modelos en Edge TPU se basa en TensorFlow Lite . [39] Edge TPU solo es capaz de acelerar operaciones de paso hacia adelante, lo que significa que es principalmente útil para realizar inferencias (aunque es posible realizar aprendizaje de transferencia liviano en Edge TPU [40] ). 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 utilizando la técnica de entrenamiento con reconocimiento de cuantificación TensorFlow o, desde finales de 2019, también es posible usar post- Cuantización del entrenamiento.

El 12 de noviembre de 2019, Asus anunció un par de computadoras de placa única (SBC) con Edge TPU. Las placas Asus Tinker Edge T y Tinker Edge R están diseñadas para IoT y Edge AI . Los SBC soportan oficialmente los sistemas operativos Android y Debian . [41] [42] ASUS también ha demostrado una mini PC llamada Asus PN60T con Edge TPU. [43]

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 ese mismo mes. El módulo Coral Accelerator es un módulo multichip que presenta las interfaces Edge TPU, PCIe y USB para una integración más sencilla. Coral Dev Board Mini es un SBC más pequeño que presenta el módulo acelerador Coral y el SoC MediaTek 8167s . [44] [45]

Núcleo neuronal de píxeles

El 15 de octubre de 2019, Google anunció el teléfono inteligente Pixel 4 , que contiene un Edge TPU llamado Pixel Neural Core . Google lo describe como "personalizado para cumplir con los requisitos de las funciones clave de la cámara en Pixel 4", utilizando una búsqueda de red neuronal que sacrifica cierta precisión para minimizar la latencia y el uso de energía. [46]

Tensor de Google

Google siguió el Pixel Neural Core al integrar un Edge TPU en un sistema en chip personalizado llamado Google Tensor , que se lanzó en 2021 con la línea de teléfonos inteligentes Pixel 6 . [47] El Google Tensor SoC demostró "ventajas de rendimiento extremadamente grandes sobre la competencia" en pruebas comparativas centradas en el aprendizaje automático; Aunque el consumo instantáneo de energía también fue relativamente alto, el rendimiento mejorado significó que se consumiera menos energía debido a períodos más cortos que requerían un rendimiento máximo. [48]

Demanda judicial

En 2019, Singular Computing, fundada en 2009 por Joseph Bates, profesor visitante en el MIT , [49] presentó una demanda contra Google alegando infracción de patente en chips de TPU. [50] Para 2020, Google había reducido con éxito el número de reclamaciones que el tribunal consideraría a solo dos: la reclamación 53 de US 8407273  presentada en 2012 y la reclamación 7 de US 9218156 presentada en 2013, las cuales reclaman un rango dinámico de 10 - 6 a 10 6 para números de coma flotante, lo que el float16 estándar no puede hacer (sin recurrir a números subnormales ) ya que sólo tiene cinco bits para el exponente. En una presentación judicial de 2023, Singular Computing denunció específicamente el uso de bfloat16 por parte de Google , ya que excede el rango dinámico de float16 . [51] Singular afirma que los formatos de punto flotante no estándar no eran obvios en 2009, pero Google responde que el formato VFLOAT [52] , con un número configurable de bits exponentes, existía como técnica anterior en 2002. [53] En enero de 2024 , las demandas posteriores de Singular han elevado a ocho el número de patentes en litigio. 

Ver también

Referencias

  1. ^ "Unidades de procesamiento de tensor de nube (TPU)". Nube de Google . Consultado el 20 de julio de 2020 .
  2. ^ Armasu, Lucian (19 de mayo de 2016). "Presentación del gran chip de Google para el aprendizaje automático: unidad de procesamiento tensorial con una eficiencia 10 veces mayor (actualizado)". Hardware de Tom . Consultado el 26 de junio de 2016 .
  3. ^ abc Jouppi, Norma (18 de mayo de 2016). "Google potencia las tareas de aprendizaje automático con un chip personalizado de TPU". Blog de la plataforma Google Cloud . Consultado el 22 de enero de 2017 .
  4. ^ abcd "Explicación de la Unidad de procesamiento tensorial de Google: así es como se ve el futuro de la informática". TecnologíaRadar . Consultado el 19 de enero de 2017 .
  5. ^ Wang, Yu Emma; Wei, Gu-Yeon; Brooks, David (1 de julio de 2019). "Evaluación comparativa de plataformas TPU, GPU y CPU para aprendizaje profundo". arXiv : 1907.10701 [cs.LG].
  6. ^ "TensorFlow: aprendizaje automático de código abierto" "Es un software de aprendizaje automático que se utiliza para diversos tipos de tareas de comprensión del lenguaje y de percepción" - Jeffrey Dean, minuto 0:47/2:17 del clip de Youtube
  7. ^ "Google pone sus chips especiales de IA a disposición de otros". Los New York Times . Consultado el 12 de febrero de 2018 .
  8. ^ McGourty, Colin (6 de diciembre de 2017). "AlphaZero de DeepMind aplasta el ajedrez". ajedrez24.com .
  9. ^ "La Unidad de Procesamiento de Tensores de Google podría hacer avanzar la Ley de Moore dentro de 7 años". Mundo PC . Consultado el 19 de enero de 2017 .
  10. ^ "Preguntas frecuentes | Cloud TPU". Nube de Google . Consultado el 14 de enero de 2021 .
  11. ^ "Colaboratorio de Google". colab.research.google.com . Consultado el 15 de mayo de 2021 .
  12. ^ "Usar TPU | TensorFlow Core". TensorFlow . Consultado el 15 de mayo de 2021 .
  13. ^ Jouppi, Norman P.; Yoon, Doe Hyun; Ashcraft, Mateo; Gottscho, Mark (14 de junio de 2021). Diez lecciones de tres generaciones que dieron forma al TPUv4i de Google (PDF) . Simposio Internacional sobre Arquitectura de Computadores. Valencia, España. doi :10.1109/ISCA52012.2021.00010. ISBN 978-1-4503-9086-6.
  14. ^ ab "Arquitectura del sistema | TPU en la nube". Nube de Google . Consultado el 11 de diciembre de 2022 .
  15. ^ abc Kennedy, Patrick (22 de agosto de 2017). "Estudio de caso sobre Google TPU y GDDR5 de Hot Chips 29". Servir al hogar . Consultado el 23 de agosto de 2017 .
  16. ^ Estén atentos, pronto habrá más información sobre TPU v4, consultado el 6 de agosto de 2020.
  17. ^ ab Vista previa pública de inferencia de Cloud TPU v5e, consultado el 6 de noviembre de 2023.
  18. ^ Nube TPU v5p Google Cloud. recuperado el 9 de abril de 2024
  19. ^ Capacitación en Cloud TPU v5p, consultado el 9 de abril de 2024.
  20. ^ ab Jouppi, Norman P.; Joven, acantilado; Patil, Nishant; Patterson, David; Agrawal, Gaurav; Bajwa, Raminder; Bates, Sara; Bhatia, Suresh; Boden, Nan; Borchers, Al; Boyle, Rick; Cantin, Pierre-Luc; Chao, Clifford; Clark, Chris; Coriell, Jeremy; Daley, Mike; Dau, Matt; Decano, Jeffrey; Gelb, Ben; Ghaemmaghami, Tara Vazir; Gottipati, Rajendra; Gulland, William; Hagmann, Robert; Ho, C. Richard; Hogberg, Doug; Hu, Juan; Hundt, Robert; Herido, Dan; Ibarz, Julián; Jaffey, Aarón; Jaworski, Alek; Kaplan, Alejandro; Jaitan, Harshit; Koch, Andy; Kumar, Naveen; De encaje, Steve; Laudon, James; Ley, James; Le, Diemthu; Leary, Chris; Liu, Zhuyuan; Suerte, Kyle; Lundin, Alan; MacKean, Gordon; Mayor, Adriana; Mahony, Maire; Molinero, Kieran; Nagarajan, Rahul; Narayanaswami, Ravi; Ni, Ray; Nada, Kathy; Norrie, Thomas; Omernick, Marcos; Penukonda, Narayana; Phelps, Andy; Ross, Jonatán; Ross, Matt; Salek, Amir; Samadiani, Emad; Severn, Chris; Sizikov, Gregorio; Snelham, Mateo; Souter, Jed; Steinberg, Dan; Columpio, Andy; Bronceado, Mercedes; Thorson, Gregorio; Tian, ​​Bo; Toma, Horia; Tuttle, Erick; Vasudevan, Vijay; Walter, Ricardo; Wang, Walter; Wilcox, Eric; Yoon, Doe Hyun (26 de junio de 2017). Análisis de rendimiento en el centro de datos de una unidad de procesamiento tensorial™ . Toronto Canada. arXiv : 1704.04760 .
  21. ^ abc Bright, Peter (17 de mayo de 2017). "Google trae procesadores de flujo tensorial de 45 teraflops a su nube informática". Ars Técnica . Consultado el 30 de mayo de 2017 .
  22. ^ Kennedy, Patrick (17 de mayo de 2017). "Se revelan los detalles de Google Cloud TPU". Servir al hogar . Consultado el 30 de mayo de 2017 .
  23. ^ Frumusanu, Andre (8 de mayo de 2018). "Blog en vivo de apertura de Google I/O" . Consultado el 9 de mayo de 2018 .
  24. ^ Feldman, Michael (11 de mayo de 2018). "Google ofrece un vistazo al procesador TPU de tercera generación". Los 500 mejores . Consultado el 14 de mayo de 2018 .
  25. ^ Teich, Paul (10 de mayo de 2018). "Desmontando el coprocesador de IA TPU 3.0 de Google". La próxima plataforma . Consultado el 14 de mayo de 2018 .
  26. ^ "Google lanza chips de IA TPU v4". www.hpcwire.com . 20 de mayo de 2021 . Consultado el 7 de junio de 2021 .
  27. ^ Jouppi, normando (20 de abril de 2023). "TPU v4: una supercomputadora ópticamente reconfigurable para aprendizaje automático con soporte de hardware para incrustaciones". arXiv : 2304.01433 .
  28. ^ Kennedy, Patricio (29 de agosto de 2023). "Google detalla TPUv4 y su loca red de inteligencia artificial reconfigurable ópticamente". servirthehome.com . Consultado el 16 de diciembre de 2023 .
  29. ^ "¿Por qué Google desarrolló su propio chip TPU? Divulgación detallada de los miembros del equipo". censtry.com . 2021-10-20 . Consultado el 16 de diciembre de 2023 .
  30. ^ Mirhoseini, Azalia; Goldie, Anna (1 de junio de 2021). "Una metodología de colocación de gráficos para un diseño rápido de chips" (PDF) . Naturaleza . 594 (7962): 207–212. doi :10.1038/s41586-022-04657-6. PMID  35361999. S2CID  247855593 . Consultado el 4 de junio de 2023 .
  31. ^ Vahdat, Amin (6 de diciembre de 2023). "Habilitación de cargas de trabajo de IA de próxima generación: anuncio de TPU v5p y AI Hypercomputer". Google . Consultado el 8 de abril de 2024 .
  32. ^ Afifi-Sabet, Keumars (23 de diciembre de 2023). "Google se está convirtiendo rápidamente en un oponente formidable para su mejor amiga Nvidia: el chip TPU v5p AI que alimenta su hipercomputadora es más rápido y tiene más memoria y ancho de banda que nunca, superando incluso al poderoso H100". TecnologíaRadar . Consultado el 8 de abril de 2024 .
  33. ^ "Ampliando nuestra cartera de infraestructura optimizada para IA: presentamos Cloud TPU v5e y anunciamos A3 GA". Google . 2023-08-29 . Consultado el 16 de diciembre de 2023 .
  34. ^ "Habilitación de cargas de trabajo de IA de próxima generación: anuncio de TPU v5p y AI Hypercomputer". Google . 2023-12-06 . Consultado el 9 de abril de 2024 .
  35. ^ "TPU en la nube". Nube de Google . Consultado el 21 de mayo de 2021 .
  36. ^ "Parámetros de rendimiento de Edge TPU". corales . Consultado el 4 de enero de 2020 .
  37. ^ "Junta de desarrollo". corales . Consultado el 21 de mayo de 2021 .
  38. ^ "Sistema en módulo (SoM)". corales . Consultado el 21 de mayo de 2021 .
  39. ^ "Llevando la inteligencia al límite con Cloud IoT". Blog de Google . 2018-07-25 . Consultado el 25 de julio de 2018 .
  40. ^ "Volver a entrenar un modelo de clasificación de imágenes en el dispositivo". corales . Consultado el 3 de mayo de 2019 .
  41. ^ "組込み総合技術展&IoT総合技術展「ET & IoT Technology 2019」に出展することを発表". Asus.com (en japonés) . Consultado el 13 de noviembre de 2019 .
  42. ^ Shilov, Antón. "ASUS y Google se unen para crear computadoras del tamaño de una tarjeta de crédito centradas en la inteligencia artificial 'Tinker Board'". Anandtech.com . Consultado el 13 de noviembre de 2019 .
  43. ^ Aufranc, Jean-Luc (29 de mayo de 2019). "ASUS Tinker Edge T y CR1S-CM-A SBC contarán con el procesador Google Coral Edge TPU y NXP i.MX 8M". Software CNX - Noticias de sistemas integrados . Consultado el 14 de noviembre de 2019 .
  44. ^ "Nuevos productos Coral para 2020". Blog de desarrolladores de Google . Consultado el 4 de enero de 2020 .
  45. ^ "Módulo acelerador". corales . Consultado el 4 de enero de 2020 .
  46. ^ "Presentación de la próxima generación de modelos de visión en el dispositivo: MobileNetV3 y MobileNetEdgeTPU". Blog de IA de Google . Consultado el 16 de abril de 2020 .
  47. ^ Gupta, Suyog; White, Marie (8 de noviembre de 2021). "ML mejorado en el dispositivo en Pixel 6, con búsqueda de arquitectura neuronal". Blog de IA de Google . Consultado el 16 de diciembre de 2022 .
  48. ^ Frumusanu, Andrei (2 de noviembre de 2021). "Tensor de Google dentro de Pixel 6, Pixel 6 Pro: una mirada al rendimiento y la eficiencia | IP de Google: Tensor TPU/NPU". AnandTech . Consultado el 16 de diciembre de 2022 .
  49. ^ Hardesty, Larry (3 de enero de 2011). "La sorprendente utilidad de la aritmética descuidada". MIT . Consultado el 10 de enero de 2024 .
  50. ^ Bray, Hiawatha (10 de enero de 2024). "El inventor local desafía a Google en una lucha por patentes de miles de millones de dólares". Globo de Boston . Boston . Archivado desde el original el 10 de enero de 2024 . Consultado el 10 de enero de 2024 .
  51. ^ "SINGULAR COMPUTING LLC, demandante, contra GOOGLE LLC, demandado: demanda modificada por infracción de patente" (PDF) . rpxcorp.com . Corporación RPX . 2020-03-20 . Consultado el 10 de enero de 2024 .
  52. ^ Wang, Xiaojun; Leeser, Miriam (1 de septiembre de 2010). "VFloat: una biblioteca de punto flotante y fijo de precisión variable para hardware reconfigurable". Transacciones ACM sobre tecnología y sistemas reconfigurables . 3 (3): 1–34. doi : 10.1145/1839480.1839486 . Consultado el 10 de enero de 2024 .
  53. ^ "Singular Computing LLC contra Google LLC". casetext.com . 2023-04-06 . Consultado el 10 de enero de 2024 .


enlaces externos