Un acelerador de IA es una clase de acelerador de hardware especializado [1] o sistema informático [2] [3] diseñado para acelerar aplicaciones de inteligencia artificial , especialmente redes neuronales artificiales , visión artificial y aprendizaje automático . Las aplicaciones típicas incluyen algoritmos para robótica , Internet de las cosas y otras tareas intensivas en datos o impulsadas por sensores. [4] Suelen ser diseños de muchos núcleos y, por lo general, se centran en arquitecturas de flujo de datos novedosas y aritméticas de baja precisión.o capacidad de computación en memoria . A partir de 2018 [actualizar], un chip de circuito integrado de IA típico contiene miles de millones de transistores MOSFET . [5] Existen varios términos específicos del proveedor para los dispositivos de esta categoría, y es una tecnología emergente sin un diseño dominante .
Historia
Los sistemas informáticos han complementado frecuentemente la CPU con aceleradores de propósito especial para tareas especializadas, conocidos como coprocesadores . Las unidades de hardware específicas para aplicaciones notables incluyen tarjetas de video para gráficos , tarjetas de sonido , unidades de procesamiento de gráficos y procesadores de señales digitales . A medida que aumentaron las cargas de trabajo de aprendizaje profundo e inteligencia artificial en la década de 2010, se desarrollaron o adaptaron unidades de hardware especializadas a partir de productos existentes para acelerar estas tareas.
Intentos tempranos
Los primeros intentos, como el ETANN 80170NX [6] de Intel , incorporaron circuitos analógicos para calcular funciones neuronales. Otro ejemplo de chips de esta categoría es ANNA, un acelerador CMOS de red neuronal desarrollado por Yann LeCun . [7] Más tarde siguieron todos los chips digitales como Nestor / Intel Ni1000 . Ya en 1993, los procesadores de señales digitales se utilizaron como aceleradores de redes neuronales, por ejemplo, para acelerar el software de reconocimiento óptico de caracteres . [8] En la década de 1990, también hubo intentos de crear sistemas paralelos de alto rendimiento para estaciones de trabajo destinados a diversas aplicaciones, incluidas las simulaciones de redes neuronales. [9] [10] [11] Los aceleradores basados en FPGA también se exploraron por primera vez en la década de 1990 tanto para inferencia [12] como para entrenamiento. [13]
Computación heterogénea
La computación heterogénea se refiere a la incorporación de varios procesadores especializados en un solo sistema, o incluso en un solo chip, cada uno optimizado para un tipo específico de tarea. Las arquitecturas como el microprocesador Cell [14] tienen características que se superponen significativamente con los aceleradores de IA, que incluyen: soporte para aritmética empaquetada de baja precisión, arquitectura de flujo de datos y priorización del 'rendimiento' sobre la latencia. El microprocesador Cell se aplicó posteriormente a una serie de tareas [15] [16] [17], incluida la IA. [18] [19] [20]
En la década de 2000 , las CPU también ganaron unidades SIMD cada vez más amplias , impulsadas por cargas de trabajo de video y juegos; así como soporte para tipos de datos empaquetados de baja precisión . [21] Debido al aumento del rendimiento de las CPU, también se utilizan para ejecutar cargas de trabajo de IA. Las CPU son superiores para DNN con DNN con paralelismo de pequeña o mediana escala, para DNN dispersos y en escenarios de tamaño de lote bajo.
Uso de GPU
Las unidades de procesamiento de gráficos o GPU son hardware especializado para la manipulación de imágenes y el cálculo de las propiedades de la imagen local. La base matemática de las redes neuronales y la manipulación de imágenes son tareas similares, vergonzosamente paralelas que involucran matrices, lo que hace que las GPU se utilicen cada vez más para tareas de aprendizaje automático. [22] [23] [24] A partir de 2016[actualizar], Las GPU son populares para el trabajo de IA y continúan evolucionando en una dirección para facilitar el aprendizaje profundo, tanto para el entrenamiento [25] como para la inferencia en dispositivos como los automóviles autónomos . [26] Los desarrolladores de GPU como Nvidia NVLink están desarrollando capacidad de conexión adicional para el tipo de cargas de trabajo de flujo de datos de las que se beneficia la IA. [27] Dado que las GPU se han aplicado cada vez más a la aceleración de la IA, los fabricantes de GPU han incorporado hardware específico de redes neuronales para acelerar aún más estas tareas. [28] [29] Los núcleos tensoriales están destinados a acelerar el entrenamiento de las redes neuronales. [29]
Uso de FPGA
Los marcos de aprendizaje profundo aún están evolucionando, lo que dificulta el diseño de hardware personalizado. Los dispositivos reconfigurables , como los arreglos de puertas programables en campo (FPGA), facilitan la evolución del hardware, los marcos y el software entre sí . [30] [12] [13] [31]
Microsoft ha utilizado chips FPGA para acelerar la inferencia . [32]
Aparición de ASIC de aceleradores de IA dedicados
Si bien las GPU y FPGA funcionan mucho mejor [ cuantificar ] que las CPU para tareas relacionadas con la IA, se puede obtener un factor de hasta 10 en eficiencia [33] [34] con un diseño más específico, a través de un circuito integrado específico de la aplicación (ASIC) . [ cita requerida ] Estos aceleradores emplean estrategias como el uso optimizado de la memoria [ cita requerida ] y el uso de aritmética de menor precisión para acelerar el cálculo y aumentar el rendimiento de la computación. [35] [36] Algunos formatos adoptados de punto flotante de baja precisión que utilizan la aceleración de IA son el formato de media precisión y el formato de punto flotante bfloat16 . [37] [38] [39] [40] [41] [42] [43] Empresas como Facebook, Amazon y Google están diseñando sus propios ASIC de IA. [44] [45]
Arquitecturas de computación en memoria
En junio de 2017, los investigadores de IBM anunciaron una arquitectura en contraste con la arquitectura de Von Neumann basada en la computación en memoria y las matrices de memoria de cambio de fase aplicadas a la detección de correlación temporal , con la intención de generalizar el enfoque a la computación heterogénea y los sistemas masivamente paralelos . [46] En octubre de 2018, los investigadores de IBM anunciaron una arquitectura basada en el procesamiento en memoria y modelada en la red sináptica del cerebro humano para acelerar las redes neuronales profundas . [47] El sistema se basa en matrices de memoria de cambio de fase . [48]
Computación en memoria con memorias resistivas analógicas
En 2019, investigadores del Politecnico di Milano encontraron una forma de resolver sistemas de ecuaciones lineales en unas pocas decenas de nanosegundos mediante una sola operación. Su algoritmo se basa en la computación en memoria con memorias resistivas analógicas que funciona con altas eficiencias de tiempo y energía, mediante la realización de la multiplicación matriz-vector en un paso con la ley de Ohm y la ley de Kirchhoff. Los investigadores demostraron que un circuito de retroalimentación con memorias resistivas de puntos cruzados puede resolver problemas algebraicos como sistemas de ecuaciones lineales, vectores propios de matrices y ecuaciones diferenciales en un solo paso. Este enfoque mejora drásticamente los tiempos de cálculo en comparación con los algoritmos convencionales. [49]
Semiconductores atómicamente delgados
En 2020, Marega et al. publicó experimentos con un material de canal activo de gran área para desarrollar circuitos y dispositivos de lógica en memoria basados en transistores de efecto de campo de puerta flotante (FGFET). [50] Estos semiconductores atómicamente delgados se consideran prometedores para aplicaciones de aprendizaje automático energéticamente eficientes , en las que se utiliza la misma estructura de dispositivo básica tanto para operaciones lógicas como para almacenamiento de datos. Los autores utilizaron materiales bidimensionales como el bisulfuro de molibdeno semiconductor . [50]
Nomenclatura
A partir de 2016, el campo todavía está cambiando y los proveedores están impulsando su propio término de marketing para lo que equivale a un "acelerador de IA", con la esperanza de que sus diseños y API se conviertan en el diseño dominante . No hay consenso sobre el límite entre estos dispositivos, ni la forma exacta que tomarán; sin embargo, varios ejemplos apuntan claramente a llenar este nuevo espacio, con una gran cantidad de superposición de capacidades.
En el pasado, cuando surgieron los aceleradores de gráficos para el consumidor , la industria finalmente adoptó el término autoasignado de Nvidia , "la GPU", [51] como el nombre colectivo para "aceleradores de gráficos", que había adoptado muchas formas antes de decidirse por una tubería general que implementaba un modelo presentado por Direct3D .
Aplicaciones potenciales
- Vehículos autónomos : Nvidia ha dirigido sus placas de la serie Drive PX a este espacio. [52]
- Robots militares
- Robots agrícolas , por ejemplo, control de malezas sin pesticidas. [53]
- Control por voz , por ejemplo, en teléfonos móviles, un objetivo para Qualcomm Zeroth . [54]
- Máquina traductora
- Se ha demostrado que los vehículos aéreos no tripulados , por ejemplo, los sistemas de navegación, como el Movidius Myriad 2, guían con éxito drones autónomos. [55]
- Robots industriales , aumentando la gama de tareas que se pueden automatizar, agregando adaptabilidad a situaciones variables.
- Atención médica , para ayudar con los diagnósticos.
- Motores de búsqueda , aumentando la eficiencia energética de los centros de datos y capacidad para utilizar consultas cada vez más avanzadas .
- Procesamiento natural del lenguaje
Ver también
- Computadora cognitiva
- Computación neuromórfica
- Red neuronal física
- Red neuronal óptica
- Acelerador de aprendizaje profundo
Referencias
- ^ "Intel presenta el acelerador Movidius Compute Stick USB AI" . 21 de julio de 2017. Archivado desde el original el 11 de agosto de 2017 . Consultado el 11 de agosto de 2017 .
- ^ "Inspurs presenta GX4 AI Accelerator" . 21 de junio de 2017.
- ^ Wiggers, Kyle (6 de noviembre de 2019) [2019], Neural Magic recauda $ 15 millones para aumentar la velocidad de inferencia de IA en procesadores estándar , archivado desde el original el 6 de marzo de 2020 , recuperado el 14 de marzo de 2020
- ^ "Procesadores de IA en desarrollo de Google" .Google usando sus propios aceleradores de IA.
- ^ "13 sextillones y contando: el camino largo y sinuoso hacia el artefacto humano fabricado con más frecuencia en la historia" . Museo de Historia de la Computación . 2 de abril de 2018 . Consultado el 28 de julio de 2019 .
- ^ John C. Dvorak: El chip 80170 de Intel tiene la inteligencia teórica de una cucaracha en PC Magazine Volume 9 Number 10 (mayo de 1990), p. 77, [1] , consultado el 16 de mayo de 2021
- ^ "Aplicación del chip de red neuronal ANNA al reconocimiento de caracteres de alta velocidad" (PDF) .
- ^ "Demostración de red neuronal convolucional de 1993 con acelerador DSP32" .
- ^ "diseño de una supercomputadora de red conexionista" .
- ^ "El fin de las computadoras de propósito general (no)" .Esta presentación cubre un intento anterior de aceleradores de redes neuronales, señala la similitud con la configuración del procesador moderno SLI GPGPU y argumenta que los aceleradores vectoriales de propósito general son el camino a seguir (en relación con el proyecto RISC-V hwacha. matrices dispersas, uno de varios algoritmos recurrentes)
- ^ Ramacher, U .; Raab, W .; Hachmann, JAU; Beichter, J .; Bruls, N .; Wesseling, M .; Sicheneder, E .; Glass, J .; Wurz, A .; Manner, R. (1995). Actas del 9º Simposio Internacional de Procesamiento Paralelo . págs. 774–781. CiteSeerX 10.1.1.27.6410 . doi : 10.1109 / IPPS.1995.395862 . ISBN 978-0-8186-7074-9. S2CID 16364797 .
- ^ a b "Implementación de redes neuronales con uso eficiente del espacio" .
- ^ a b Gschwind, M .; Salapura, V .; Maischberger, O. (1996). "Un bloque de construcción genérico para redes neuronales Hopfield con aprendizaje en chip". 1996 IEEE International Symposium on Circuits and Systems. Circuitos y sistemas que conectan el mundo. ISCAS 96 . págs. 49–52. doi : 10.1109 / ISCAS.1996.598474 . ISBN 0-7803-3073-0. S2CID 17630664 .
- ^ Gschwind, Michael; Hofstee, H. Peter; Flachs, Brian; Hopkins, Martin; Watanabe, Yukio; Yamazaki, Takeshi (2006). "Procesamiento sinérgico en la arquitectura multinúcleo de la célula". IEEE Micro . 26 (2): 10–24. doi : 10.1109 / MM.2006.41 . S2CID 17834015 .
- ^ De Fabritiis, G. (2007). "Rendimiento del procesador celular para simulaciones biomoleculares". Comunicaciones de Física Informática . 176 (11-12): 660-664. arXiv : física / 0611201 . doi : 10.1016 / j.cpc.2007.02.107 . S2CID 13871063 .
- ^ "Procesamiento y recuperación de video en arquitectura celular". CiteSeerX 10.1.1.138.5133 . Cite journal requiere
|journal=
( ayuda ) - ^ Benthin, Carsten; Wald, Ingo; Scherbaum, Michael; Friedrich, Heiko (2006). 2006 Simposio IEEE sobre trazado de rayos interactivo . págs. 15-23. CiteSeerX 10.1.1.67.8982 . doi : 10.1109 / RT.2006.280210 . ISBN 978-1-4244-0693-7. S2CID 1198101 .
- ^ "Desarrollo de una red neuronal artificial en una arquitectura multinúcleo heterogénea para predecir una pérdida de peso exitosa en individuos obesos" (PDF) .
- ^ Kwon, Bomjun; Choi, Taiho; Chung, Heejin; Kim, Geonho (2008). 2008 5ª Conferencia sobre redes y comunicaciones para el consumidor del IEEE . págs. 1030–1034. doi : 10.1109 / ccnc08.2007.235 . ISBN 978-1-4244-1457-4. S2CID 14429828 .
- ^ Duan, frotando; Strey, Alfred (2008). Euro-Par 2008 - Procesamiento paralelo . Apuntes de conferencias en informática. 5168 . págs. 665–675. doi : 10.1007 / 978-3-540-85451-7_71 . ISBN 978-3-540-85450-0.
- ^ "Mejorando el rendimiento de video con AVX" . 8 de febrero de 2012.
- ^ "microsoft research / pixel shaders / MNIST" .
- ^ "Cómo se llegó a utilizar la GPU para la computación general" .
- ^ "Clasificación de imagenet con redes neuronales convolucionales profundas" (PDF) .
- ^ "nvidia impulsa el desarrollo del aprendizaje profundo" . 17 de mayo de 2016.
- ^ "nvidia presenta una supercomputadora para vehículos autónomos" . 6 de enero de 2016.
- ^ "cómo nvlink permitirá una computación multi GPU más rápida y sencilla" . 14 de noviembre de 2014.
- ^ " Una encuesta sobre la implementación optimizada de modelos de aprendizaje profundo en la plataforma NVIDIA Jetson ", 2019
- ^ a b Harris, Mark (11 de mayo de 2017). "Características de CUDA 9 reveladas: Volta, grupos cooperativos y más" . Consultado el 12 de agosto de 2017 .
- ^ Sefat, Md Syadus; Aslan, Semih; Kellington, Jeffrey W; Qasem, Apan (agosto de 2019). "Aceleración de HotSpots en redes neuronales profundas en un FPGA basado en CAPI" . 21a Conferencia Internacional IEEE de 2019 sobre Computación y Comunicaciones de Alto Rendimiento; IEEE 17th International Conference on Smart City; Quinta Conferencia Internacional de IEEE sobre ciencia y sistemas de datos (HPCC / SmartCity / DSS) : 248–256. doi : 10.1109 / HPCC / SmartCity / DSS.2019.00048 . ISBN 978-1-7281-2058-4. S2CID 203656070 .
- ^ "Aceleradores de aprendizaje profundo basados en FPGA adoptan ASIC" . La próxima plataforma . 23 de agosto de 2016 . Consultado el 7 de septiembre de 2016 .
- ^ "Proyecto Brainwave" . Investigación de Microsoft . Consultado el 16 de junio de 2020 .
- ^ "Google impulsa el aprendizaje automático con su unidad de procesamiento de tensor" . 19 de mayo de 2016 . Consultado el 13 de septiembre de 2016 .
- ^ "Chip podría llevar el aprendizaje profundo a los dispositivos móviles" . www.sciencedaily.com . 3 de febrero de 2016 . Consultado el 13 de septiembre de 2016 .
- ^ "Aprendizaje profundo con precisión numérica limitada" (PDF) .
- ^ Rastegari, Mohammad; Ordóñez, Vicente; Redmon, Joseph; Farhadi, Ali (2016). "XNOR-Net: clasificación de ImageNet utilizando redes neuronales convolucionales binarias". arXiv : 1603.05279 [ cs.CV ].
- ^ Khari Johnson (23 de mayo de 2018). "Intel presenta Nervana Neural Net L-1000 para entrenamiento acelerado de IA" . VentureBeat . Consultado el 23 de mayo de 2018 .
... Intel ampliará la compatibilidad con bfloat16 en todas nuestras líneas de productos de inteligencia artificial, incluidos los procesadores Intel Xeon y los FPGA de Intel.
- ^ Michael Feldman (23 de mayo de 2018). "Intel establece una nueva hoja de ruta para la cartera de inteligencia artificial" . Sitios de supercomputadoras TOP500 . Consultado el 23 de mayo de 2018 .
Intel planea admitir este formato en todos sus productos de inteligencia artificial, incluidas las líneas Xeon y FPGA
- ^ Lucian Armasu (23 de mayo de 2018). "Intel lanzará Spring Crest, su primer procesador de red neuronal, en 2019" . Hardware de Tom . Consultado el 23 de mayo de 2018 .
Intel dijo que el NNP-L1000 también admitiría bfloat16, un formato numérico que está siendo adoptado por todos los actores de la industria de ML para redes neuronales. La compañía también admitirá bfloat16 en sus FPGA, Xeons y otros productos ML. El lanzamiento de Nervana NNP-L1000 está programado para 2019.
- ^ "Disponible TensorFlow Ops | Cloud TPU | Google Cloud" . Google Cloud . Consultado el 23 de mayo de 2018 .
En esta página, se enumeran las API de Python de TensorFlow y los operadores de gráficos disponibles en Cloud TPU.
- ^ Elmar Haußmann (26 de abril de 2018). "Comparación de TPUv2 de Google con V100 de Nvidia en ResNet-50" . Blog de RiseML . Archivado desde el original el 26 de abril de 2018 . Consultado el 23 de mayo de 2018 .
Para Cloud TPU, Google recomendó que usemos la implementación bfloat16 del repositorio oficial de TPU con TensorFlow 1.7.0. Tanto las implementaciones de TPU como de GPU utilizan el cálculo de precisión mixta en la arquitectura respectiva y almacenan la mayoría de los tensores con precisión media.
- ^ Autores de Tensorflow (28 de febrero de 2018). "ResNet-50 usando BFloat16 en TPU" . Google . Consultado el 23 de mayo de 2018 .[ enlace muerto permanente ]
- ^ Joshua V. Dillon; Ian Langmore; Dustin Tran; Eugene Brevdo; Srinivas Vasudevan; Dave Moore; Brian Patton; Alex Alemi; Matt Hoffman; Rif A. Saurous (28 de noviembre de 2017). Distribuciones de TensorFlow (informe). arXiv : 1711.10604 . Código bibliográfico : 2017arXiv171110604D . Consultado el 23 de mayo de 2018.
Todas las operaciones en las distribuciones de TensorFlow son numéricamente estables en precisiones de punto flotante medio, simple y doble (como tipos de TensorFlow dtypes: tf.bfloat16 (punto flotante truncado), tf.float16, tf.float32, tf.float64). Los constructores de clases tienen un indicador validate_args para afirmaciones numéricas
- ^ "Facebook tiene una nueva publicación de trabajo que pide diseñadores de chips" .
- ^ "Suscríbase para leer | Financial Times" . www.ft.com . Citar utiliza un título genérico ( ayuda )
- ^ Abu Sebastian; Tomas Tuma; Nikolaos Papandreou; Manuel Le Gallo; Lukas Kull; Thomas Parnell; Evangelos Eleftheriou (2017). "Detección de correlación temporal mediante memoria de cambio de fase computacional" . Comunicaciones de la naturaleza . 8 (1): 1115. arXiv : 1706.00511 . doi : 10.1038 / s41467-017-01481-9 . PMC 5653661 . PMID 29062022 .
- ^ "Una nueva arquitectura inspirada en el cerebro podría mejorar la forma en que las computadoras manejan los datos y promover la inteligencia artificial" . Instituto Americano de Física . 3 de octubre de 2018 . Consultado el 5 de octubre de 2018 .
- ^ Carlos Ríos; Nathan Youngblood; Zengguang Cheng; Manuel Le Gallo; Wolfram HP Pernice; C. David Wright; Abu Sebastian; Harish Bhaskaran (2018). "In-memory computing sobre una plataforma fotónica". arXiv : 1801.06228 [ cs.ET ].
- ^ Zhong Sun; Giacomo Pedretti; Elia Ambrosi; Alessandro Bricalli; Wei Wang; Daniele Ielmini (2019). "Resolución de ecuaciones matriciales en un paso con matrices resistivas de punto de cruce" . Actas de la Academia Nacional de Ciencias . 116 (10): 4123–4128. doi : 10.1073 / pnas.1815682116 . PMC 6410822 . PMID 30782810 .
- ^ a b Marega, Guilherme Migliato; Zhao, Yanfei; Avsar, Ahmet; Wang, Zhenyu; Tripati, Mukesh; Radenovic, Aleksandra; Kis, Anras (2020). "Lógica en memoria basada en un semiconductor atómicamente delgado" . Naturaleza . 587 (2): 72–77. doi : 10.1038 / s41586-020-2861-0 . PMC 7116757 . PMID 33149289 .
- ^ "NVIDIA lanza la primera unidad de procesamiento de gráficos del mundo, la GeForce 256" .
- ^ "Tecnología y soluciones de automóviles autónomos de NVIDIA Automotive" . NVIDIA .
- ^ "diseño de un sistema de visión artificial para el control de malezas" (PDF) . Archivado desde el original (PDF) el 23 de junio de 2010 . Consultado el 17 de junio de 2016 .
- ^ "Qualcomm research lleva el aprendizaje automático de clase servidor a todos los dispositivos de datos" . Octubre de 2015.
- ^ "movidius impulsa el dron más inteligente del mundo" . 16 de marzo de 2016.
enlaces externos
- http://www.nextplatform.com/2016/04/05/nvidia-puts-accelerator-metal-pascal/
- Proyecto Eyeriss
- http://www.alphaics.ai/