Unitate de procesare neurală

Un accelerator IA, un procesor de învățare profundă sau o unitate de procesare neurală (NPU, neural processing unit) este o clasă de acceleratoare hardware⁠(d) specializate[1] sau un sistem de calcul[2][3] conceput pentru a accelera aplicațiile de inteligență artificială și învățare automată, inclusiv rețelele neurale artificiale și vederea calculatoarelor⁠(d). Aplicațiile tipice includ algoritmi pentru robotică, Internetul Obiectelor și alte sarcini care folosesc intens date⁠(d) sau se bazează pe senzori.[4] Acestea sunt adesea modele manycore⁠(d) și, în general, se concentrează pe aritmetică de precizie scăzută⁠(d), arhitecturi dataflow noi sau capacitatea de calcul în memorie⁠(d). În 2024, un cip tipic de circuit integrat IA conține zeci de miliarde de tranzistoare MOSFET.[5]

Acceleratoarele IA, cum ar fi unitățile de procesare neurală (NPU) sunt utilizate în dispozitive mobile, cum ar fi iPhone-urile Apple și telefoanele mobile Huawei,[6] și în calculatoarele personale, cum ar fi laptopurile Intel,[7] laptopurile AMD[8] și Mac-urile Apple silicon⁠(d).[9] Acceleratoarele sunt utilizate în serverele de cloud computing, inclusiv unitățile de procesare tensoriale⁠(d) (TPU) din Google Cloud Platform⁠(d)[10] și cipurile Trainium și Inferentia din Amazon Web Services.[11] Există o serie de termeni specifici furnizorului pentru dispozitivele din această categorie și este o tehnologie în curs de dezvoltare fără un design dominant⁠(d).

Unitățile de procesare grafică proiectate de companii precum Nvidia și AMD includ adesea hardware specific IA și sunt utilizate în mod obișnuit ca acceleratoare IA, atât pentru învățare, cât și pentru inferență⁠(d).[12]

Sistemele de calcul completau frecvent CPU-ul cu acceleratoare speciale pentru sarcini specializate, cunoscute sub numele de coprocesoare. Printre cele mai notabile unități hardware⁠(d) specifice unor aplicații se numără plăcile video pentru grafică, plăcile de sunet, unitățile de procesare grafică și procesoarele de semnale digitale. Pe măsură ce volumul de lucru în domeniul învățării profunde și inteligenței artificiale a crescut în proeminență în anii 2010, s-au dezvoltat unitățile hardware specializate ori s-au adaptat din produsele existente pentru a accelera aceste sarcini.

Primele încercări

modificare

Primele încercări precum ETANN 80170NX de la Intel au încorporat circuite analogice pentru a efectua calculele asociate funcțiilor neurale.[13]

Ulterior au urmat cipuri complet digitale precum Nestor/Intel Ni1000⁠(d). Încă din 1993, procesoarele de semnale digitale au fost folosite ca acceleratoare de rețele neurale pentru a accelera software-ul de recunoaștere optică a caracterelor.[14]

Până în 1988, Wei Zhang și colab. discutase despre implementări optice rapide ale rețelelor neurale convoluționale pentru recunoașterea alfabetului.[15][16]

În anii 1990, au existat și încercări de a crea sisteme paralele pentru volum mare de date pentru stațiile de lucru care vizează diverse aplicații, inclusiv simulări de rețele neurale.[17][18]

S-au explorat și acceleratoarele bazate pe FPGA-uri pentru prima dată în anii 1990 atât pentru inferență, cât și pentru antrenare.[19][20]

În 2014, Chen et al. a propus DianNao („creier electric” în chineză),[21] pentru a accelera mai ales rețele neurale profunde. DianNao oferă o performanță maximă de 452 Gop/s (a operațiunilor-cheie în rețelele neurale profunde) cu o amprentă de 3,02 mm2 și 485 mW. Mai târziu, același grup a propus succesorii (DaDianNao,[22] ShiDianNao,[23] PuDianNao[24]), care au format Familia DianNao.[25]

Smartphone-urile au început să încorporeze acceleratoare IA începând cu Qualcomm Snapdragon 820⁠(d) în 2015.[26][27]

Calculul eterogen

modificare

Calculul eterogen încorporează multe procesoare specializate într-un singur sistem sau pe un singur cip, fiecare optimizat pentru un anumit tip de sarcină. Arhitecturile precum microprocesorul Cell[28] au caracteristici care se suprapun semnificativ cu acceleratoarele IA, inclusiv: suport pentru aritmetică cu precizie scăzută, arhitectură dataflow și prioritizarea ratei de transfer față de latență. Microprocesorul Cell a fost utilizat în mai multe tipuri de taskuri[29][30][31] inclusiv de IA.[32][33][34]

În anii 2000, procesoarele au dobândit și unități SIMD din ce în ce mai largi, la presiunea sarcinile de lucru din domeniul procesării video și jocurilor; precum și suport pentru tipuri de date împachetate cu precizie redusă.[35] Datorită performanței în creștere a procesoarelor, acestea sunt utilizate și pentru rularea sarcinilor de lucru IA. CPU-urile sunt superioare pentru DNN-uri cu paralelism la scară mică sau medie, pentru DNN-uri rare și în scenarii cu dimensiuni reduse.

Utilizarea GPU-urilor

modificare

Unitățile de procesare grafică sau GPU-urile sunt hardware specializat pentru manipularea imaginilor și calculul proprietăților locale ale imaginilor. Baza matematică a rețelelor neurale și a manipulării imaginilor⁠(d) sunt sarcini similare, rușinos de paralele⁠(d), care implică matrici, ceea ce determină GPU-urile să devină din ce în ce mai utilizate pentru sarcinile de învățare automată.[36][37]

În 2012, Alex Krizhevsky a adoptat două GPU-uri pentru a antrena o rețea de învățare profundă, adică AlexNet,[38] care a câștigat titlul de campion al competiției ISLVRC-2012. În anii 2010, producătorii de GPU-uri, cum ar fi Nvidia, au adăugat funcții legate de învățarea profundă atât în hardware (de exemplu, operatorii INT8) cât și în software (de exemplu, cuDNN Library).

De-a lungul anilor 2010, GPU-urile au continuat să evolueze într-o direcție care să faciliteze învățarea profundă, atât pentru antrenare, cât și pentru inferență în dispozitive precum mașinile cu conducere autonomă.[39][40] Dezvoltatorii de GPU-uri, cum ar fi Nvidia NVLink⁠(d), dezvoltă o capacitate de conexiune suplimentară pentru tipul de taskuri de flux de date de care beneficiază IA. Pe măsură ce GPU-urile au fost din ce în ce mai mult aplicate la accelerarea IA, producătorii de GPU-uri au încorporat hardware specific rețelele neurale⁠(d) — hardware pentru a accelera și mai mult aceste sarcini.[41][42] Core-urile tensoriale⁠(d) sunt menite să accelereze antrenarea rețelelor neurale.[42]

GPU-urile continuă să fie utilizate în aplicații IA pe scară largă. De exemplu, Summit⁠(d), un supercomputer de la IBM pentru Oak Ridge National Laboratory⁠(d),[43] conține 27.648 de carduri Nvidia Tesla⁠(d) V100, care pot fi folosite pentru a accelera algoritmii de învățare profundă.

Utilizarea FPGA-urilor

modificare

Frameworkurile de învățare profundă continuă să evolueze, ceea ce face dificilă proiectarea de hardware personalizat. Dispozitivele reconfigurabile, cum ar fi field-programmable gate array (FPGA), facilitează dezvoltarea hardware-ului, frameworkurilor și software-ului unul alături de celălalt⁠(d).[44][19][20][45]

Microsoft a folosit cipuri FPGA pentru a accelera inferența pentru serviciile de învățare profundă în timp real.[46]

Utilizarea NPU-urilor

modificare

Din 2017, mai multe procesoare și SoC-uri au NPU-uri on-die: de exemplu, Intel Meteor Lake⁠(d), Apple A11⁠(d).

Apariția ASIC-urilor dedicate acceleratoarelor IA

modificare

Deși GPU-urile și FPGA-urile funcționează mult mai bine decât CPU-urile pentru sarcinile legate de IA, se poate relaliza o eficiență cu până la de 10 ori mai mare[47][48] printr-un design mai specific, printr-un circuit integrat specific aplicației (ASIC).[49] Aceste acceleratoare folosesc strategii precum utilizarea optimizată a memoriei și a aritmeticii cu precizie mică pentru a accelera calculul și a crește randamentul calculului.[50][51] Unele formate cu virgulă mobilă cu precizie redusă utilizate pentru accelerarea IA sunt formatul în virgulă mobilă cu semiprecizie⁠(d) și formatul în virgulă mobilă bfloat16⁠(d).[52] Cerebras Systems a construit un accelerator IA dedicat, bazat pe cel mai mare procesor din industrie, Wafer Scale Engine de a doua generație (WSE-2), pentru a sprijini aplicațiile de învățare profundă.[53][54]

  1. ^ „Intel unveils Movidius Compute Stick USB AI Accelerator”. . Arhivat din original la . Accesat în . 
  2. ^ „Inspurs unveils GX4 AI Accelerator”. . 
  3. ^ Wiggers, Kyle (), Neural Magic raises $15 million to boost AI inferencing speed on off-the-shelf processors, arhivat din original la , accesat în  
  4. ^ „Google Designing AI Processors”. .  Google using its own AI accelerators.
  5. ^ Moss, Sebastian (). „Nvidia reveals new Hopper H100 GPU, with 80 billion transistors”. Data Center Dynamics. Accesat în . 
  6. ^ „HUAWEI Reveals the Future of Mobile AI at IFA”. 
  7. ^ „Intel's Lunar Lake Processors Arriving Q3 2024”. Intel. 
  8. ^ „AMD XDNA Architecture”. 
  9. ^ „Deploying Transformers on the Apple Neural Engine”. Apple Machine Learning Research (în engleză). Accesat în . 
  10. ^ Jouppi, Norman P.; et al. (). „In-Datacenter Performance Analysis of a Tensor Processing Unit”. ACM SIGARCH Computer Architecture News (în engleză). 45 (2): 1–12. doi:10.1145/3140659.3080246. 
  11. ^ „How silicon innovation became the 'secret sauce' behind AWS's success”. Amazon Science. . Accesat în . 
  12. ^ Patel, Dylan; Nishball, Daniel; Xie, Myron (). „Nvidia's New China AI Chips Circumvent US Restrictions”. SemiAnalysis. Accesat în . 
  13. ^ Dvorak, J.C. (). „Inside Track”. PC Magazine. Accesat în . 
  14. ^ „convolutional neural network demo from 1993 featuring DSP32 accelerator”. YouTube. . 
  15. ^ Zhang, Wei (). „Shift-invariant pattern recognition neural network and its optical architecture”. Proceedings of Annual Conference of the Japan Society of Applied Physics. 
  16. ^ Zhang, Wei (). „Parallel distributed processing model with local space-invariant interconnections and its optical architecture”. Applied Optics. 29 (32): 4790–7. Bibcode:1990ApOpt..29.4790Z. doi:10.1364/AO.29.004790. PMID 20577468. 
  17. ^ Asanović, K.; Beck, J.; Feldman, J.; Morgan, N.; Wawrzynek, J. (ianuarie 1994). „Designing a connectionist network supercomputer”. International Journal of Neural Systems⁠(d). ResearchGate. 4 (4): 317–26. doi:10.1142/S0129065793000250. PMID 8049794. Accesat în . 
  18. ^ „The end of general purpose computers (not)”. YouTube. . 
  19. ^ a b Gschwind, M.; Salapura, V.; Maischberger, O. (februarie 1995). „Space Efficient Neural Net Implementation”. Accesat în . 
  20. ^ a b Gschwind, M.; Salapura, V.; Maischberger, O. (). „A Generic Building Block for Hopfield Neural Networks with On-Chip Learning”. 1996 IEEE International Symposium on Circuits and Systems. Circuits and Systems Connecting the World. ISCAS 96. pp. 49–52. doi:10.1109/ISCAS.1996.598474. ISBN 0-7803-3073-0. 
  21. ^ Chen, Tianshi; Du, Zidong; Sun, Ninghui; Wang, Jia; Wu, Chengyong; Chen, Yunji; Temam, Olivier (). „DianNao”. ACM SIGARCH Computer Architecture News. 42 (1): 269–284. doi:10.1145/2654822.2541967. ISSN 0163-5964. 
  22. ^ Chen, Yunji; Luo, Tao; Liu, Shaoli; Zhang, Shijin; He, Liqiang; Wang, Jia; Li, Ling; Chen, Tianshi; Xu, Zhiwei (decembrie 2014). „DaDianNao: A Machine-Learning Supercomputer”. 2014 47th Annual IEEE/ACM International Symposium on Microarchitecture. IEEE. pp. 609–622. doi:10.1109/micro.2014.58. ISBN 978-1-4799-6998-2. 
  23. ^ Du, Zidong; Fasthuber, Robert; Chen, Tianshi; Ienne, Paolo; Li, Ling; Luo, Tao; Feng, Xiaobing; Chen, Yunji; Temam, Olivier (). „ShiDianNao”. ACM SIGARCH Computer Architecture News. 43 (3S): 92–104. doi:10.1145/2872887.2750389. ISSN 0163-5964. 
  24. ^ Liu, Daofu; Chen, Tianshi; Liu, Shaoli; Zhou, Jinhong; Zhou, Shengyuan; Teman, Olivier; Feng, Xiaobing; Zhou, Xuehai; Chen, Yunji (). „PuDianNao”. ACM SIGARCH Computer Architecture News. 43 (1): 369–381. doi:10.1145/2786763.2694358. ISSN 0163-5964. 
  25. ^ Chen, Yunji; Chen, Tianshi; Xu, Zhiwei; Sun, Ninghui; Temam, Olivier (). „DianNao family”. Communications of the ACM. 59 (11): 105–112. doi:10.1145/2996864. ISSN 0001-0782. 
  26. ^ „Qualcomm Helps Make Your Mobile Devices Smarter With New Snapdragon Machine Learning Software Development Kit”. Qualcomm. 
  27. ^ Rubin, Ben Fox. „Qualcomm's Zeroth platform could make your smartphone much smarter”. CNET (în engleză). Accesat în . 
  28. ^ Gschwind, Michael; Hofstee, H. Peter; Flachs, Brian; Hopkins, Martin; Watanabe, Yukio; Yamazaki, Takeshi (). „Synergistic Processing in Cell's Multicore Architecture”. IEEE Micro. 26 (2): 10–24. doi:10.1109/MM.2006.41. 
  29. ^ De Fabritiis, G. (). „Performance of Cell processor for biomolecular simulations”. Computer Physics Communications. 176 (11–12): 660–664. Bibcode:2007CoPhC.176..660D. doi:10.1016/j.cpc.2007.02.107. 
  30. ^ Video Processing and Retrieval on Cell architecture. 
  31. ^ Benthin, Carsten; Wald, Ingo; Scherbaum, Michael; Friedrich, Heiko (). 2006 IEEE Symposium on Interactive Ray Tracing. pp. 15–23. doi:10.1109/RT.2006.280210. ISBN 978-1-4244-0693-7. 
  32. ^ „Development of an artificial neural network on a heterogeneous multicore architecture to predict a successful weight loss in obese individuals” (PDF). Arhivat din original (PDF) la . Accesat în . 
  33. ^ Kwon, Bomjun; Choi, Taiho; Chung, Heejin; Kim, Geonho (). 2008 5th IEEE Consumer Communications and Networking Conference. pp. 1030–1034. doi:10.1109/ccnc08.2007.235. ISBN 978-1-4244-1457-4. 
  34. ^ Duan, Rubing; Strey, Alfred (). Euro-Par 2008 – Parallel Processing. Lecture Notes in Computer Science. 5168. pp. 665–675. doi:10.1007/978-3-540-85451-7_71. ISBN 978-3-540-85450-0. 
  35. ^ „Improving the performance of video with AVX”. . 
  36. ^ Chellapilla, K.; Sidd Puri; Simard, P. (). „High Performance Convolutional Neural Networks for Document Processing”. 10th International Workshop on Frontiers in Handwriting Recognition. Accesat în . 
  37. ^ Krizhevsky, A.; Sutskever, I.; Hinton, G.E. (). „ImageNet Classification with Deep Convolutional Neural Networks”. Communications of the ACM. 60 (6): 84–90. doi:10.1145/3065386. 
  38. ^ Krizhevsky, Alex; Sutskever, Ilya; Hinton, Geoffrey E (). „ImageNet classification with deep convolutional neural networks”. Communications of the ACM (în engleză). 60 (6): 84–90. doi:10.1145/3065386. 
  39. ^ Roe, R. (). „Nvidia in the Driver's Seat for Deep Learning”. insideHPC. Accesat în . 
  40. ^ Bohn, D. (). „Nvidia announces 'supercomputer' for self-driving cars at CES 2016”. Vox Media. Accesat în . 
  41. ^ "A Survey on Optimized Implementation of Deep Learning Models on the NVIDIA Jetson Platform", 2019
  42. ^ a b Harris, Mark (). „CUDA 9 Features Revealed: Volta, Cooperative Groups and More”. Accesat în . 
  43. ^ „Summit: Oak Ridge National Laboratory's 200 petaflop supercomputer”. United States Department of Energy⁠(d). . Accesat în . 
  44. ^ Sefat, Md Syadus; Aslan, Semih; Kellington, Jeffrey W; Qasem, Apan (august 2019). „Accelerating HotSpots in Deep Neural Networks on a CAPI-Based FPGA”. 2019 IEEE 21st International Conference on High Performance Computing and Communications; IEEE 17th International Conference on Smart City; IEEE 5th International Conference on Data Science and Systems (HPCC/SmartCity/DSS). pp. 248–256. doi:10.1109/HPCC/SmartCity/DSS.2019.00048. ISBN 978-1-7281-2058-4. 
  45. ^ „FPGA Based Deep Learning Accelerators Take on ASICs”. The Next Platform. . Accesat în . 
  46. ^ „Microsoft unveils Project Brainwave for real-time AI”. Microsoft. . 
  47. ^ „Google boosts machine learning with its Tensor Processing Unit”. . Accesat în . 
  48. ^ „Chip could bring deep learning to mobile devices”. www.sciencedaily.com. . Accesat în . 
  49. ^ „Google Cloud announces the 5th generation of its custom TPUs”. . 
  50. ^ „Deep Learning with Limited Numerical Precision” (PDF). 
  51. ^ Un robot va completa această citare în curând. Clic aici pentru a trece mai în față arXiv:[1].
  52. ^ Lucian Armasu (). „Intel To Launch Spring Crest, Its First Neural Network Processor, In 2019”. Tom's Hardware. Accesat în . Intel said that the NNP-L1000 would also support bfloat16, a numerical format that's being adopted by all the ML industry players for neural networks. The company will also support bfloat16 in its FPGAs, Xeons, and other ML products. The Nervana NNP-L1000 is scheduled for release in 2019. 
  53. ^ Woodie, Alex (). „Cerebras Hits the Accelerator for Deep Learning Workloads”. Datanami. Accesat în . 
  54. ^ „Cerebras launches new AI supercomputing processor with 2.6 trillion transistors”. VentureBeat (în engleză). . Accesat în .