Procesador de aprendizaje profundo

De Wikipedia, la enciclopedia libre

Un procesador de aprendizaje profundo (DLP), o deep learning accelerator, es un circuito electrónico diseñado para algoritmos de aprendizaje profundo, generalmente con una memoria principal (MP) separada y una arquitectura de conjunto de instrucciones dedicada. Los procesadores de aprendizaje profundo van desde dispositivos móviles, como unidades de procesamiento neuronal (NPU) en teléfonos celulares Huawei,[1]​ hasta servidores de computación en la nube, como unidades de procesamiento tensorial (TPU) en la plataforma Google Cloud.[2]

El objetivo de los DLP es proporcionar una mayor eficiencia y rendimiento para los algoritmos de aprendizaje profundo que la unidad central de procesamiento (CPU) general y las unidades de procesamiento de gráficos (GPU). La mayoría de los DLP emplean una gran cantidad de componentes informáticos para aprovechar el paralelismo de alto nivel de datos, un búfer/memoria en chip relativamente más grande para aprovechar los patrones de reutilización de datos y operadores de ancho de datos limitado (limited data-width operators) para la resistencia a errores del aprendizaje profundo. Los procesadores de aprendizaje profundo difieren de los aceleradores de IA en que están especializados para ejecutar algoritmos de aprendizaje, mientras que los aceleradores de IA suelen estar más especializados para la inferencia. Los dos términos (DLP y acelerador de IA), sin embargo, no se utilizan de forma rigurosa y, a menudo, se superponen.

Historia[editar]

El uso de CPU/GPU[editar]

Al principio, se adoptaron CPU generales para realizar algoritmos de aprendizaje profundo. Más tarde, las GPU se introducen en el dominio del aprendizaje profundo. Por ejemplo, en 2012, Alex Krizhevsky adoptó dos GPU para entrenar una red de aprendizaje profundo, la llamada, AlexNet,[3]​ que ganó el campeonato ISLVRC-2012.[4]​ A medida que aumenta el interés por los algoritmos de aprendizaje profundo y las DLP, los fabricantes de GPU comienzan a agregar funciones relacionadas con el aprendizaje profundo tanto en hardware (por ejemplo, operadores INT8) como en software (por ejemplo, biblioteca cuDNN). Nvidia incluso lanzó Turing Tensor Core, un DLP, para acelerar el procesamiento de aprendizaje profundo.[5]

El primer DLP[editar]

Para proporcionar una mayor eficiencia en el rendimiento y la energía, el diseño de dominio específico comenzó paulatinamente a llamar mucho la atención. En 2014, Chen et al. propuso el primer DLP del mundo, DianNao (en chino, "cerebro eléctrico"),[6]​ para acelerar especialmente las redes neuronales profundas. DianNao proporciona el rendimiento máximo de 452 Gop/s (de operaciones clave en redes neuronales profundas) solo en un espacio reducido de 3,02 mm2 y 485 mW. Posteriormente, los sucesores (DaDianNao,[7]​ ShiDianNao,[8]​ PuDianNao[9]​) son propuestos por el mismo grupo, formando la Familia DianNao[10]

Los florecientes DLP[editar]

Inspirados en el trabajo pionero de la familia DianNao, se han presentado muchos DLP, tanto en el mundo académico como en el industrial, con un diseño optimizado para aprovechar las características de las redes neuronales profundas para una alta eficiencia. Solo en ISCA 2016,[11]​ tres sesiones, el 15% de los trabajos aceptados fueron diseños de arquitectura sobre aprendizaje profundo. Dichos esfuerzos incluyen Eyeriss[12]​ (MIT), EIE[13]​ (Stanford), Minerva[14]​ (Harvard), Stripes[15]​ (Universidad de Toronto) en el mundo académico y TPU[16]​ (Google), MLU[17]​ (Cambricon) en la industria. Se presentan varios trabajos representativos en la Tabla 1.

Tabla 1. Típicos DLP
Año DLP Institución Tipo Computación Jerarquía de memoria Control Rendimiento máximo
2014 DianNao[18] ICT, CAS digital vector MACs scratchpad[N 1] VLIW 452 Gops (16-bit)
DaDianNao[19] ICT, CAS digital vector MACs scratchpad VLIW 5.58 Tops (16-bit)
2015 ShiDianNao[20] ICT, CAS digital scalar MACs scratchpad VLIW 194 Gops (16-bit)
PuDianNao[21] ICT, CAS digital vector MACs scratchpad VLIW 1,056 Gops (16-bit)
2016 DnnWeaver Georgia Tech digital Vector MACs scratchpad - -
EIE[22] Stanford digital scalar MACs scratchpad - 102 Gops (16-bit)
Eyeriss[23] MIT digital scalar MACs scratchpad - 67.2 Gops (16-bit)
Prime[24] UCSB hybrid Process-in-Memory ReRAM - -
2017 TPU[25] Google digital scalar MACs scratchpad CISC 92 Tops (8-bit)
PipeLayer[26] U of Pittsburgh hybrid Process-in-Memory ReRAM -
FlexFlow ICT, CAS digital scalar MACs scratchpad - 420 Gops ()
2018 MAERI Georgia Tech digital scalar MACs scratchpad -
PermDNN City University of New York digital vector MACs scratchpad - 614.4 Gops (16-bit)
2019 FPSA Tsinghua hybrid Process-in-Memory ReRAM -
Cambricon-F ICT, CAS digital vector MACs scratchpad FISA 14.9 Tops (F1, 16-bit)

956 Tops (F100, 16-bit)

Arquitectura DLP[editar]

Con la rápida evolución de los algoritmos de aprendizaje profundo y DLP, se han explorado muchas arquitecturas. Los DLP se pueden clasificar en tres categorías según su implementación: circuitos digitales, circuitos analógicos y circuitos híbridos. Como los DLP analógicos puros rara vez son vistos, la referencia es a los digitales y los híbridos.

DLP digitales[editar]

Los componentes principales de la arquitectura de DLP generalmente incluyen un componente de computación, la jerarquía de memoria en el chip y la lógica de control que administra los flujos de computación y comunicación de datos.

Con respecto al componente de computación, dado que la mayoría de las operaciones en el aprendizaje profundo se pueden agregar a operaciones vectoriales, las formas más comunes para construir componentes de computación en DLP digitales son la organización basada en MAC (acumulación multiplicadora)[N 2]​, ya sea con MAC vectoriales[6][7][9]​ o MAC escalares.[16][8][12]​ En lugar de SIMD o SIMT en dispositivos de procesamiento general, el paralelismo específico del dominio de aprendizaje profundo se explora mejor en estas organizaciones basadas en MAC. Con respecto a la jerarquía de la memoria, dado que los algoritmos de aprendizaje profundo requieren un gran ancho de banda para proporcionar datos suficientes al componente de computación, los DLP suelen emplear un búfer en chip de tamaño relativamente mayor (decenas de kilobytes o varios megabytes) pero con una estrategia de reutilización de datos en chip dedicada y estrategia de intercambio de datos para aliviar la carga del ancho de banda de la memoria. Por ejemplo, DianNao, 16 MAC vectorial de 16 pulgadas, requiere 16 × 16 × 2 = 512 datos de 16 bits, es decir, requisitos de ancho de banda de casi 1024 GB/s entre componentes de computación y búfer. Con la reutilización en el chip, estos requisitos de ancho de banda se reducen drásticamente.[6]​ En lugar de la memoria caché ampliamente utilizada en los dispositivos de procesamiento general, las DLP siempre usan la memoria de borrador, ya que podría brindar mayores oportunidades de reutilización de datos al aprovechar el patrón de acceso a datos relativamente regular en los algoritmos de aprendizaje profundo. Con respecto a la lógica de control, a medida que los algoritmos de aprendizaje profundo siguen evolucionando a una velocidad espectacular, los DLP comienzan a aprovechar la ISA (arquitectura de conjunto de instrucciones) dedicada para respaldar el dominio de aprendizaje profundo de manera flexible. Al principio, DianNao usó un conjunto de instrucciones de estilo VLIW donde cada instrucción podía terminar una capa en un DNN. Cambricon[27]​ presenta el primer ISA específico de dominio de aprendizaje profundo, que podría admitir más de diez algoritmos de aprendizaje profundo diferentes. TPU también revela cinco instrucciones clave de la ISA estilo CISC.

DLP híbridos[editar]

Los DLP híbridos resaltan por la inferencia de DNN y la aceleración del entrenamiento debido a su alta eficiencia. Las arquitecturas de procesamiento en memoria (PIM) son uno de los tipos más importantes de DLP híbrida. El concepto de diseño clave de PIM es cerrar la brecha entre la computación y la memoria de las siguientes maneras: 1) Mover componentes de computación a celdas de memoria, controladores o chips de memoria para aliviar el problema del muro de memoria.[N 3][28][29][30]​ Estas arquitecturas acortan significativamente las rutas de datos y aprovechan un ancho de banda interno mucho mayor, lo que da como resultado una mejora atractiva del rendimiento. 2) Construir motores DNN de alta eficiencia mediante la adopción de dispositivos computacionales. En 2013, HP Lab demostró la asombrosa capacidad de adoptar la estructura de barras cruzadas ReRAM para la informática.[31]​ Inspirándose en esta obra, se propone un trabajo para explorar la nueva arquitectura y el diseño del sistema basado en ReRAM,[32][33][34][28]​ memoria de cambio de fase,[29][35][36]​ etc.

GPU y FPGA[editar]

A pesar de las DLP, las GPU y las FPGA también se utilizan como aceleradores para aumentar la velocidad de la ejecución de algoritmos de aprendizaje profundo. Por ejemplo, Summit, una supercomputadora de IBM para el Laboratorio Nacional de Oak Ridge,[37]​ contiene 27 648 tarjetas Nvidia Tesla V100, que se pueden usar para acelerar los algoritmos de aprendizaje profundo. Microsoft construye su plataforma de aprendizaje profundo utilizando FPGA en su Azure para admitir servicios de aprendizaje profundo en tiempo real.[38]​ En la Tabla 2, se comparan las DLP con las GPU y las FPGA en términos de objetivo, rendimiento, eficiencia energética y flexibilidad.

Tabla 2. DLP vs. GPU vs. FPGA
Objetivo Rendimiento Eficiencia energética Flexibilidad
DLP aprendizaje profundo alto alto específico del dominio
FPGA todo bajo moderado general
GPU cálculo matricial moderado bajo aplicaciones de matriz

Semiconductores atómicamente delgados para el aprendizaje profundo[editar]

Los semiconductores atómicamente delgados se consideran prometedores para el hardware de aprendizaje profundo de bajo consumo en el que se utiliza la misma estructura básica del dispositivo tanto para las operaciones lógicas como para el almacenamiento de datos. En 2020, Marega et al. publicó experimentos con un material de canal activo de área grande para desarrollar dispositivos y circuitos de lógica en memoria basados en transistores de efecto de campo de puerta flotante (FGFET).[39]​ Utilizan materiales bidimensionales como el disulfuro de molibdeno semiconductor para ajustar con precisión los FGFET como bloques de construcción en los que se pueden realizar operaciones lógicas con los elementos de memoria.[39]

Núcleo de tensor fotónico integrado[editar]

En 2021, J. Feldmann et al. propuso un acelerador por hardware fotónico integrado para el procesamiento convolucional paralelo.[40]​ Los autores identifican dos ventajas clave de la fotónica integrada sobre sus contrapartes electrónicas: (1) transferencia de datos masivamente paralela a través de multiplexación por división de longitud de onda junto con peines de frecuencia, y (2) velocidades de modulación de datos extremadamente altas.[40]​ Su sistema puede ejecutar billones de operaciones de acumulación múltiple por segundo, lo que indica el potencial de la fotónica integrada en aplicaciones de inteligencia artificial con gran cantidad de datos.[40]

Benchmarks (puntos de referencia)[editar]

La evaluación comparativa ha servido durante mucho tiempo como base para el diseño de nuevas arquitecturas de hardware, donde tanto los arquitectos como los profesionales pueden comparar varias arquitecturas, identificar sus cuellos de botella (obstrucciones) y realizar la optimización del sistema/arquitectura correspondiente. La Tabla 3 enumera varios puntos de referencia típicos para DLP.

Año Benchmark Afiliaciones # de microbenchmarks # de componentes benchmarks # de aplicación benchmarks
2012 BenchNN ICT, CAS N/A 12 N/A
2016 Fathom Harvard N/A 8 N/A
2017 BenchIP ICT, CAS 12 11 N/A
2017 DAWNBench Stanford 8 N/A N/A
2017 DeepBench Baidu 4 N/A N/A
2018 MLPerf Harvard, Intel, and Google, etc. N/A 7 N/A
2019 AIBench ICT, CAS and Alibaba, etc. 12 16 2
2019 NNBench-X UCSB N/A 10 N/A

Véase también[editar]

Notas[editar]

  1. La memoria scratchpad (SPM), también conocida como scratchpad, scratchpad RAM o almacenamiento local en la terminología informática, es una memoria interna, generalmente de alta velocidad, que se utiliza para el almacenamiento temporal de cálculos, datos y otros trabajos en curso. En referencia a un microprocesador (o CPU), scratchpad se refiere a una memoria especial de alta velocidad que se utiliza para almacenar pequeños elementos de datos para una recuperación rápida. Es similar al uso y tamaño de un bloc de apuntes en la vida: un bloc de papel para notas preliminares, bocetos o escritos, etc. Cuando el bloc de apuntes es una parte oculta de la memoria principal, a veces se lo denomina almacenamiento de impacto.
  2. En computación, especialmente en el procesamiento de señales digitales, la operación multiplicar-acumular (MAC) o multiplicar-sumar (MAD) es un paso común que calcula el producto de dos números y suma ese producto a un acumulador. La unidad de hardware que realiza la operación se conoce como multiplicador-acumulador (unidad MAC); la operación en sí también suele denominarse operación MAC o MAD.
  3. El "muro de memoria" es la creciente disparidad de velocidad entre la CPU y el tiempo de respuesta de la memoria (conocido como latencia de memoria) fuera del chip de la CPU. Una razón importante de esta disparidad es el ancho de banda de comunicación limitado más allá de los límites del chip, que también se conoce como muro de ancho de banda. De 1986 a 2000, la velocidad de la CPU mejoró a una tasa anual del 55 %, mientras que el tiempo de respuesta de la memoria fuera del chip solo mejoró en un 10 %. Dadas estas tendencias, se esperaba que la latencia de la memoria se convirtiera en un cuello de botella abrumador en el rendimiento de la computadora.

Referencias[editar]

  1. «HUAWEI Reveals the Future of Mobile AI at IFA». 
  2. P, JouppiNorman; YoungCliff; PatilNishant; PattersonDavid; AgrawalGaurav; BajwaRaminder; BatesSarah; BhatiaSuresh et al. (24 de junio de 2017). «In-Datacenter Performance Analysis of a Tensor Processing Unit». ACM SIGARCH Computer Architecture News (en inglés) 45 (2): 1-12. doi:10.1145/3140659.3080246. 
  3. Krizhevsky, Alex; Sutskever, Ilya; Hinton, Geoffrey E (24 de mayo de 2017). «ImageNet classification with deep convolutional neural networks». Communications of the ACM (en inglés) 60 (6): 84-90. doi:10.1145/3065386. 
  4. «ImageNet Large Scale Visual Recognition Challenge 2012 (ILSVRC2012)» (en inglés). Consultado el 16 de junio de 2023. 
  5. «NVIDIA cuDNN» (en inglés). Consultado el 16 de junio de 2023. «The NVIDIA CUDA® Deep Neural Network library (cuDNN) is a GPU-accelerated library of primitives for deep neural networks. cuDNN provides highly tuned implementations for standard routines such as forward and backward convolution, pooling, normalization, and activation layers.» 
  6. a b c Chen, Tianshi; Du, Zidong; Sun, Ninghui; Wang, Jia; Wu, Chengyong; Chen, Yunji; Temam, Olivier (5 de abril de 2014). «DianNao». ACM SIGARCH Computer Architecture News 42 (1): 269-284. ISSN 0163-5964. doi:10.1145/2654822.2541967. 
  7. a b Chen, Yunji; Luo, Tao; Liu, Shaoli; Zhang, Shijin; He, Liqiang; Wang, Jia; Li, Ling; Chen, Tianshi et al. (December 2014). «DaDianNao: A Machine-Learning Supercomputer». 2014 47th Annual IEEE/ACM International Symposium on Microarchitecture (IEEE): 609-622. ISBN 978-1-4799-6998-2. doi:10.1109/micro.2014.58. 
  8. a b Du, Zidong; Fasthuber, Robert; Chen, Tianshi; Ienne, Paolo; Li, Ling; Luo, Tao; Feng, Xiaobing; Chen, Yunji et al. (4 de enero de 2016). «ShiDianNao». ACM SIGARCH Computer Architecture News 43 (3S): 92-104. ISSN 0163-5964. doi:10.1145/2872887.2750389. 
  9. a b Liu, Daofu; Chen, Tianshi; Liu, Shaoli; Zhou, Jinhong; Zhou, Shengyuan; Teman, Olivier; Feng, Xiaobing; Zhou, Xuehai et al. (29 de mayo de 2015). «PuDianNao». ACM SIGARCH Computer Architecture News 43 (1): 369-381. ISSN 0163-5964. doi:10.1145/2786763.2694358. 
  10. Chen, Yunji; Chen, Tianshi; Xu, Zhiwei; Sun, Ninghui; Temam, Olivier (28 de octubre de 2016). «DianNao family». Communications of the ACM 59 (11): 105-112. ISSN 0001-0782. doi:10.1145/2996864. 
  11. «43rd ISCA 2016: Seoul, South Korea». Consultado el 16 de junio de 2023. 
  12. a b Chen, Yu-Hsin; Emer, Joel; Sze, Vivienne (2017). «Eyeriss: A Spatial Architecture for Energy-Efficient Dataflow for Convolutional Neural Networks». IEEE Micro: 1. ISSN 0272-1732. doi:10.1109/mm.2017.265085944. 
  13. Han, Song; Liu, Xingyu; Mao, Huizi; Pu, Jing; Pedram, Ardavan; Horowitz, Mark A.; Dally, William J. (3 de febrero de 2016). EIE: Efficient Inference Engine on Compressed Deep Neural Network. OCLC 1106232247. 
  14. Reagen, Brandon; Whatmough, Paul; Adolf, Robert; Rama, Saketh; Lee, Hyunkwang; Lee, Sae Kyu; Hernandez-Lobato, Jose Miguel; Wei, Gu-Yeon et al. (June 2016). «Minerva: Enabling Low-Power, Highly-Accurate Deep Neural Network Accelerators». 2016 ACM/IEEE 43rd Annual International Symposium on Computer Architecture (ISCA) (Seoul: IEEE): 267-278. ISBN 978-1-4673-8947-1. doi:10.1109/ISCA.2016.32. 
  15. Judd, Patrick; Albericio, Jorge; Moshovos, Andreas (1 de enero de 2017). «Stripes: Bit-Serial Deep Neural Network Computing». IEEE Computer Architecture Letters 16 (1): 80-83. ISSN 1556-6056. doi:10.1109/lca.2016.2597140. 
  16. a b In-Datacenter Performance Analysis of a Tensor Processing Unit | Proceedings of the 44th Annual International Symposium on Computer Architecture (en inglés). doi:10.1145/3079856.3080246. 
  17. «MLU 100 intelligence accelerator card». 
  18. Chen, Tianshi; Du, Zidong; Sun, Ninghui; Wang, Jia; Wu, Chengyong; Chen, Yunji; Temam, Olivier (5 de abril de 2014). «DianNao». ACM SIGARCH Computer Architecture News 42 (1): 269-284. ISSN 0163-5964. doi:10.1145/2654822.2541967. 
  19. Chen, Yunji; Luo, Tao; Liu, Shaoli; Zhang, Shijin; He, Liqiang; Wang, Jia; Li, Ling; Chen, Tianshi; Xu, Zhiwei; Sun, Ninghui; Temam, Olivier (December 2014). «DaDianNao: A Machine-Learning Supercomputer». 2014 47th Annual IEEE/ACM International Symposium on Microarchitecture (IEEE): 609-622. ISBN 978-1-4799-6998-2. S2CID 6838992. doi:10.1109/micro.2014.58. 
  20. Du, Zidong; Fasthuber, Robert; Chen, Tianshi; Ienne, Paolo; Li, Ling; Luo, Tao; Feng, Xiaobing; Chen, Yunji et al. (4 de enero de 2016). «ShiDianNao». ACM SIGARCH Computer Architecture News 43 (3S): 92-104. ISSN 0163-5964. doi:10.1145/2872887.2750389. 
  21. Liu, Daofu; Chen, Tianshi; Liu, Shaoli; Zhou, Jinhong; Zhou, Shengyuan; Teman, Olivier; Feng, Xiaobing; Zhou, Xuehai et al. (29 de mayo de 2015). «PuDianNao». ACM SIGARCH Computer Architecture News 43 (1): 369-381. ISSN 0163-5964. doi:10.1145/2786763.2694358. 
  22. Han, Song; Liu, Xingyu; Mao, Huizi; Pu, Jing; Pedram, Ardavan; Horowitz, Mark A.; Dally, William J. (3 de febrero de 2016). EIE: Efficient Inference Engine on Compressed Deep Neural Network. OCLC 1106232247. 
  23. Chen, Yu-Hsin; Emer, Joel; Sze, Vivienne (2017). «Eyeriss: A Spatial Architecture for Energy-Efficient Dataflow for Convolutional Neural Networks». IEEE Micro: 1. ISSN 0272-1732. doi:10.1109/mm.2017.265085944. hdl:1721.1/102369. 
  24. Chi, Ping; Li, Shuangchen; Xu, Cong; Zhang, Tao; Zhao, Jishen; Liu, Yongpan; Wang, Yu; Xie, Yuan (June 2016). «PRIME: A Novel Processing-in-Memory Architecture for Neural Network Computation in ReRAM-Based Main Memory». 2016 ACM/IEEE 43rd Annual International Symposium on Computer Architecture (ISCA) (IEEE): 27-39. ISBN 978-1-4673-8947-1. doi:10.1109/isca.2016.13. 
  25. In-Datacenter Performance Analysis of a Tensor Processing Unit | Proceedings of the 44th Annual International Symposium on Computer Architecture (en inglés). S2CID 4202768. doi:10.1145/3079856.3080246. 
  26. Song, Linghao; Qian, Xuehai; Li, Hai; Chen, Yiran (February 2017). «PipeLayer: A Pipelined ReRAM-Based Accelerator for Deep Learning». 2017 IEEE International Symposium on High Performance Computer Architecture (HPCA) (IEEE): 541-552. ISBN 978-1-5090-4985-1. S2CID 15281419. doi:10.1109/hpca.2017.55. 
  27. Liu, Shaoli; Du, Zidong; Tao, Jinhua; Han, Dong; Luo, Tao; Xie, Yuan; Chen, Yunji; Chen, Tianshi (June 2016). «Cambricon: An Instruction Set Architecture for Neural Networks». 2016 ACM/IEEE 43rd Annual International Symposium on Computer Architecture (ISCA) (IEEE): 393-405. ISBN 978-1-4673-8947-1. doi:10.1109/isca.2016.42. 
  28. a b Song, Linghao; Qian, Xuehai; Li, Hai; Chen, Yiran (February 2017). «PipeLayer: A Pipelined ReRAM-Based Accelerator for Deep Learning». 2017 IEEE International Symposium on High Performance Computer Architecture (HPCA) (IEEE): 541-552. ISBN 978-1-5090-4985-1. doi:10.1109/hpca.2017.55. 
  29. a b Ambrogio, Stefano; Narayanan, Pritish; Tsai, Hsinyu; Shelby, Robert M.; Boybat, Irem; di Nolfo, Carmelo; Sidler, Severin; Giordano, Massimo et al. (June 2018). «Equivalent-accuracy accelerated neural-network training using analogue memory». Nature 558 (7708): 60-67. ISSN 0028-0836. PMID 29875487. doi:10.1038/s41586-018-0180-5. 
  30. Chen, Wei-Hao; Lin, Wen-Jang; Lai, Li-Ya; Li, Shuangchen; Hsu, Chien-Hua; Lin, Huan-Ting; Lee, Heng-Yuan; Su, Jian-Wei et al. (December 2017). «A 16Mb dual-mode ReRAM macro with sub-14ns computing-in-memory and memory functions enabled by self-write termination scheme». 2017 IEEE International Electron Devices Meeting (IEDM) (IEEE): 28.2.1-28.2.4. ISBN 978-1-5386-3559-9. doi:10.1109/iedm.2017.8268468. 
  31. Yang, J. Joshua; Strukov, Dmitri B.; Stewart, Duncan R. (January 2013). «Memristive devices for computing». Nature Nanotechnology (en inglés) 8 (1): 13-24. ISSN 1748-3395. PMID 23269430. doi:10.1038/nnano.2012.240. 
  32. Chi, Ping; Li, Shuangchen; Xu, Cong; Zhang, Tao; Zhao, Jishen; Liu, Yongpan; Wang, Yu; Xie, Yuan (June 2016). «PRIME: A Novel Processing-in-Memory Architecture for Neural Network Computation in ReRAM-Based Main Memory». 2016 ACM/IEEE 43rd Annual International Symposium on Computer Architecture (ISCA) (IEEE): 27-39. ISBN 978-1-4673-8947-1. doi:10.1109/isca.2016.13. 
  33. Shafiee, Ali; Nag, Anirban; Muralimanohar, Naveen; Balasubramonian, Rajeev; Strachan, John Paul; Hu, Miao; Williams, R. Stanley; Srikumar, Vivek (12 de octubre de 2016). «ISAAC». ACM SIGARCH Computer Architecture News 44 (3): 14-26. ISSN 0163-5964. doi:10.1145/3007787.3001139. 
  34. Ji, Yu Zhang, Youyang Xie, Xinfeng Li, Shuangchen Wang, Peiqi Hu, Xing Zhang, Youhui Xie, Yuan (27 de enero de 2019). FPSA: A Full System Stack Solution for Reconfigurable ReRAM-based NN Accelerator Architecture. OCLC 1106329050. 
  35. Nandakumar, S. R.; Boybat, Irem; Joshi, Vinay; Piveteau, Christophe; Le Gallo, Manuel; Rajendran, Bipin; Sebastian, Abu; Eleftheriou, Evangelos (November 2019). «Phase-Change Memory Models for Deep Learning Training and Inference». 2019 26th IEEE International Conference on Electronics, Circuits and Systems (ICECS) (IEEE): 727-730. ISBN 978-1-7281-0996-1. doi:10.1109/icecs46596.2019.8964852. 
  36. Joshi, Vinay; Le Gallo, Manuel; Haefeli, Simon; Boybat, Irem; Nandakumar, S. R.; Piveteau, Christophe; Dazzi, Martino; Rajendran, Bipin et al. (18 de mayo de 2020). «Accurate deep neural network inference using computational phase-change memory». Nature Communications 11 (1): 2473. ISSN 2041-1723. PMC 7235046. PMID 32424184. arXiv:1906.03138. doi:10.1038/s41467-020-16108-9. 
  37. «Summit: Oak Ridge National Laboratory's 200 petaflop supercomputer». 
  38. «Microsoft unveils Project Brainwave for real-time AI». Microsoft. 
  39. a b Marega, Guilherme Migliato; Zhao, Yanfei; Avsar, Ahmet; Wang, Zhenyu; Tripati, Mukesh; Radenovic, Aleksandra; Kis, Anras (2020). «Logic-in-memory based on an atomically thin semiconductor». Nature 587 (2): 72-77. PMC 7116757. PMID 33149289. doi:10.1038/s41586-020-2861-0. 
  40. a b c Feldmann, J.; Youngblood, N.; Karpov, M. et al. (2021). «Parallel convolutional processing using an integrated photonic tensor». Nature 589 (2): 52-58. PMID 33408373. arXiv:2002.00281. doi:10.1038/s41586-020-03070-1.