AI 가속기

위키백과, 우리 모두의 백과사전.

AI 가속기(AI accelerator)는 인공 신경망 및 머신 비전을 포함한 인공지능기계 학습 애플리케이션을 가속화하도록 설계된 특수 하드웨어 가속기[1] 또는 컴퓨터 시스템 클래스이다.[2][3] 일반적인 응용 분야에는 로봇 공학, 사물 인터넷 및 기타 데이터 집약적이거나 센서 기반 작업을 위한 알고리즘이 포함된다. 이는 많은 코어 설계인 경우가 많으며 일반적으로 정밀도가 낮은 산술, 새로운 데이터 흐름 아키텍처 또는 메모리 내 컴퓨팅 기능에 중점을 둔다.[4] 2018년 기준으로 일반적인 AI 집적 회로 칩에는 수십억 개의 MOSFET 트랜지스터가 포함되어 있다. 이 범주의 장치에 대해 여러 공급업체별 용어가 존재하며 이는 지배적인 설계가 없는 새로운 기술이다.[5]

역사[편집]

컴퓨터 시스템은 특수 작업을 위한 특수 목적 가속기(코프로세서)로 CPU를 보완하는 경우가 많다. 주목할만한 애플리케이션별 하드웨어 장치에는 그래픽용 비디오 카드, 사운드 카드, 그래픽 처리 장치 및 디지털 신호 프로세서가 포함된다. 2010년대에 딥 러닝 및 인공 지능 워크로드가 부각되면서 이러한 작업을 가속화하기 위해 특수 하드웨어 장치가 기존 제품에서 개발되거나 채택되었다. MLPerf와 같은 벤치마크를 사용하여 AI 가속기의 성능을 평가할 수 있다.

초기 시도[편집]

인텔의 ETANN 80170NX와 같은 첫 번째 시도는 신경 기능을 계산하기 위해 아날로그 회로를 통합했다.[6] 나중에 Nestor/Intel Ni1000과 같은 완전 디지털 칩이 뒤따랐다. 1993년 초에 디지털 신호 프로세서는 광학 문자 인식 소프트웨어를 가속화하기 위한 신경망 가속기로 사용되었다.[7] 이미 1988년에 웨이장(Wei Zhang) 등은 알파벳 인식을 위한 컨벌루션 신경망의 빠른 광학 구현에 대해 논의했다.[8][9] 1990년대에는 신경망 시뮬레이션을 비롯한 다양한 애플리케이션을 목표로 하는 워크스테이션용 병렬 고처리량 시스템을 만들려는 시도도 있었다.[10][11] FPGA 기반 가속기는 추론과 훈련을 위해 1990년대에 처음으로 연구되었다.[12][13] 스마트폰에는 2015년 퀄컴 스냅드래곤 820부터 AI 가속기가 탑재되기 시작했다.[14][15]

이기종 컴퓨팅[편집]

이기종 컴퓨팅은 각각 특정 유형의 작업에 최적화된 단일 시스템 또는 단일 칩에 많은 특수 프로세서를 통합한다. 셀 마이크로프로세서[16]와 같은 아키텍처는 압축된 저정밀도 연산 지원, 데이터 흐름 아키텍처, 대기 시간보다 처리량 우선 순위 지정 등 AI 가속기와 크게 겹치는 기능을 갖추고 있다. 셀 (마이크로프로세서) 마이크로프로세서는 AI[17][18][19]를 비롯한 다양한 작업에 적용되었다.[20][21][22]

2000년대에는 비디오 및 게임 작업 부하로 인해 CPU의 SIMD 장치가 점점 더 넓어졌다. 압축된 낮은 정밀도 데이터 유형도 지원한다.[23] CPU 성능이 향상됨에 따라 AI 워크로드를 실행하는 데에도 사용된다. CPU는 중소 규모 병렬 처리를 갖춘 DNN, 희소 DNN 및 낮은 배치 크기 시나리오에 적합하다.

GPU 사용[편집]

그래픽 처리 장치 또는 GPU는 이미지 조작 및 로컬 이미지 속성 계산을 위한 특수 하드웨어이다. 신경망과 이미지 조작의 수학적 기반은 유사하고 당황스러울 정도로 행렬과 관련된 병렬 작업이므로 GPU가 기계 학습 작업에 점점 더 많이 사용되고 있다.[24][25] 2016년 기준으로 GPU는 AI 작업에 널리 사용되고 있으며, 자율주행차와 같은 장치의 훈련과 추론 모두에서 딥러닝을 촉진하는 방향으로 계속 진화하고 있다. 엔비디아 NVLink와 같은 GPU 개발자는 AI가 활용하는 데이터 흐름 워크로드 종류에 대한 추가 연결 기능을 개발하고 있다. GPU가 AI 가속에 점점 더 많이 적용됨에 따라 GPU 제조업체는 이러한 작업을 더욱 가속화하기 위해 신경망 전용 하드웨어를 통합했다. 텐서 코어는 신경망 훈련 속도를 높이기 위해 고안되었다.

FPGA 사용[편집]

딥 러닝 프레임워크는 계속 발전하고 있기 때문에 맞춤형 하드웨어를 설계하기가 어렵다. FPGA(Field-Programmable Gate Array)와 같은 재구성 가능한 장치를 사용하면 하드웨어, 프레임워크, 소프트웨어를 함께 발전시키는 것이 더 쉬워진다.[26][12][13][27]

마이크로소프트는 추론을 가속화하기 위해 FPGA 칩을 사용했다.[28]

전용 AI 가속기 ASIC의 등장[편집]

GPU 및 FPGA는 AI 관련 작업에서 CPU보다 훨씬 뛰어난 성능을 발휘하지만 ASIC(Application-Specific Integrated Circuit)[29]을 통해 보다 구체적인 설계를 통해 최대 10배의 효율성을 얻을 수 있다.[30][31] 이러한 가속기는 계산을 가속화하고 계산 처리량을 높이기 위해 최적화된 메모리 사용 및 낮은 정밀도의 산술 사용과 같은 전략을 사용한다.[32][33] AI 가속에 사용되는 일부 저정밀도 부동 소수점 형식은 반정밀도 및 bfloat16 부동 소수점 형식이다.[34][35][36][37][38][39][40] 구글, 퀄컴, 아마존, 애플, 페이스북, AMD 및 삼성과 같은 회사는 모두 자체 AI ASIC을 설계하고 있다.[41][42][43][44][45][46] Cerebras Systems는 딥 러닝 워크로드를 지원하기 위해 업계 최대 프로세서인 2세대 Wafer Scale Engine(WSE-2)을 기반으로 전용 AI 가속기를 구축했다.[47][48]

잠재적 응용 분야[편집]

같이 보기[편집]

각주[편집]

  1. “Intel unveils Movidius Compute Stick USB AI Accelerator”. 2017년 7월 21일. 2017년 8월 11일에 원본 문서에서 보존된 문서. 2017년 8월 11일에 확인함. 
  2. “Inspurs unveils GX4 AI Accelerator”. 2017년 6월 21일. 
  3. Wiggers, Kyle (2019년 11월 6일), 《Neural Magic raises $15 million to boost AI inferencing speed on off-the-shelf processors》, 2020년 3월 6일에 원본 문서에서 보존된 문서, 2020년 3월 14일에 확인함 
  4. “Google Designing AI Processors”.  Google using its own AI accelerators.
  5. Moss, Sebastian (2022년 3월 23일). “Nvidia reveals new Hopper H100 GPU, with 80 billion transistors”. 《Data Center Dynamics》. 2024년 1월 30일에 확인함. 
  6. Dvorak, J.C. (1990년 5월 29일). “Inside Track”. PC Magazine. 2023년 12월 26일에 확인함. 
  7. “convolutional neural network demo from 1993 featuring DSP32 accelerator”. 《YouTube》. 
  8. Zhang, Wei (1988). “Shift-invariant pattern recognition neural network and its optical architecture”. 《Proceedings of Annual Conference of the Japan Society of Applied Physics》. 
  9. Zhang, Wei (1990). “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. 
  10. Asanović, K.; Beck, J.; Feldman, J.; Morgan, N.; Wawrzynek, J. (January 1994). “Designing a connectionist network supercomputer”. 《International Journal of Neural Systems》 (ResearchGate) 4 (4): 317–26. doi:10.1142/S0129065793000250. PMID 8049794. 2023년 12월 26일에 확인함. 
  11. “The end of general purpose computers (not)”. 《YouTube》. 
  12. Gschwind, M.; Salapura, V.; Maischberger, O. (February 1995). “Space Efficient Neural Net Implementation”. 2023년 12월 26일에 확인함. 
  13. Gschwind, M.; Salapura, V.; Maischberger, O. (1996). 〈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》. 49–52쪽. doi:10.1109/ISCAS.1996.598474. ISBN 0-7803-3073-0. S2CID 17630664. 
  14. “Qualcomm Helps Make Your Mobile Devices Smarter With New Snapdragon Machine Learning Software Development Kit”. 《Qualcomm》. 
  15. Rubin, Ben Fox. “Qualcomm's Zeroth platform could make your smartphone much smarter”. 《CNET》 (영어). 2021년 9월 28일에 확인함. 
  16. Gschwind, Michael; Hofstee, H. Peter; Flachs, Brian; Hopkins, Martin; Watanabe, Yukio; Yamazaki, Takeshi (2006). “Synergistic Processing in Cell's Multicore Architecture”. 《IEEE Micro》 26 (2): 10–24. doi:10.1109/MM.2006.41. S2CID 17834015. 
  17. De Fabritiis, G. (2007). “Performance of Cell processor for biomolecular simulations”. 《Computer Physics Communications》 176 (11–12): 660–664. arXiv:physics/0611201. Bibcode:2007CoPhC.176..660D. doi:10.1016/j.cpc.2007.02.107. S2CID 13871063. 
  18. 《Video Processing and Retrieval on Cell architecture》. CiteSeerX 10.1.1.138.5133. 
  19. Benthin, Carsten; Wald, Ingo; Scherbaum, Michael; Friedrich, Heiko (2006). 《2006 IEEE Symposium on Interactive Ray Tracing》. 15–23쪽. CiteSeerX 10.1.1.67.8982. doi:10.1109/RT.2006.280210. ISBN 978-1-4244-0693-7. S2CID 1198101. 
  20. “Development of an artificial neural network on a heterogeneous multicore architecture to predict a successful weight loss in obese individuals” (PDF). 2017년 8월 30일에 원본 문서 (PDF)에서 보존된 문서. 2017년 11월 14일에 확인함. 
  21. Kwon, Bomjun; Choi, Taiho; Chung, Heejin; Kim, Geonho (2008). 《2008 5th IEEE Consumer Communications and Networking Conference》. 1030–1034쪽. doi:10.1109/ccnc08.2007.235. ISBN 978-1-4244-1457-4. S2CID 14429828. 
  22. Duan, Rubing; Strey, Alfred (2008). 《Euro-Par 2008 – Parallel Processing》. Lecture Notes in Computer Science 5168. 665–675쪽. doi:10.1007/978-3-540-85451-7_71. ISBN 978-3-540-85450-0. 
  23. “Improving the performance of video with AVX”. 2012년 2월 8일. 
  24. Chellapilla, K.; Sidd Puri; Simard, P. (2006년 10월 23일). “High Performance Convolutional Neural Networks for Document Processing”. 10th International Workshop on Frontiers in Handwriting Recognition. 2023년 12월 23일에 확인함. 
  25. Krizhevsky, A.; Sutskever, I.; Hinton, G.E. (2017년 5월 24일). “ImageNet Classification with Deep Convolutional Neural Networks”. 《Communications of the ACM》 60 (6): 84–90. doi:10.1145/3065386. 
  26. 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)》. 248–256쪽. doi:10.1109/HPCC/SmartCity/DSS.2019.00048. ISBN 978-1-7281-2058-4. S2CID 203656070. 
  27. “FPGA Based Deep Learning Accelerators Take on ASICs”. 《The Next Platform》. 2016년 8월 23일. 2016년 9월 7일에 확인함. 
  28. “Microsoft unveils Project Brainwave for real-time AI”. 《Microsoft》. 2017년 8월 22일. 
  29. “Google Cloud announces the 5th generation of its custom TPUs”. 2023년 8월 29일. 
  30. “Google boosts machine learning with its Tensor Processing Unit”. 2016년 5월 19일. 2016년 9월 13일에 확인함. 
  31. “Chip could bring deep learning to mobile devices”. 《www.sciencedaily.com》. 2016년 2월 3일. 2016년 9월 13일에 확인함. 
  32. “Deep Learning with Limited Numerical Precision” (PDF). 
  33. Rastegari, Mohammad; Ordonez, Vicente; Redmon, Joseph; Farhadi, Ali (2016). “XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks”. arXiv:1603.05279 [cs.CV]. 
  34. Khari Johnson (2018년 5월 23일). “Intel unveils Nervana Neural Net L-1000 for accelerated AI training”. 《VentureBeat》. 2018년 5월 23일에 확인함. ...Intel will be extending bfloat16 support across our AI product lines, including Intel Xeon processors and Intel FPGAs. 
  35. Michael Feldman (2018년 5월 23일). “Intel Lays Out New Roadmap for AI Portfolio”. 《TOP500 Supercomputer Sites》. 2018년 5월 23일에 확인함. Intel plans to support this format across all their AI products, including the Xeon and FPGA lines 
  36. Lucian Armasu (2018년 5월 23일). “Intel To Launch Spring Crest, Its First Neural Network Processor, In 2019”. 《Tom's Hardware》. 2018년 5월 23일에 확인함. 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. 
  37. “Available TensorFlow Ops | Cloud TPU | Google Cloud”. 《Google Cloud》. 2018년 5월 23일에 확인함. This page lists the TensorFlow Python APIs and graph operators available on Cloud TPU. 
  38. Elmar Haußmann (2018년 4월 26일). “Comparing Google's TPUv2 against Nvidia's V100 on ResNet-50”. 《RiseML Blog》. 2018년 4월 26일에 원본 문서에서 보존된 문서. 2018년 5월 23일에 확인함. For the Cloud TPU, Google recommended we use the bfloat16 implementation from the official TPU repository with TensorFlow 1.7.0. Both the TPU and GPU implementations make use of mixed-precision computation on the respective architecture and store most tensors with half-precision. 
  39. Tensorflow Authors (2018년 2월 28일). “ResNet-50 using BFloat16 on TPU”. 《Google》. 2023년 12월 18일에 원본 문서에서 보존된 문서. 2018년 5월 23일에 확인함. 
  40. Joshua V. Dillon; Ian Langmore; Dustin Tran; Eugene Brevdo; Srinivas Vasudevan; Dave Moore; Brian Patton; Alex Alemi; Matt Hoffman; Rif A. Saurous (2017년 11월 28일). TensorFlow Distributions (보고서). arXiv:1711.10604. Bibcode:2017arXiv171110604D. Accessed May 23, 2018. All operations in TensorFlow Distributions are numerically stable across half, single, and double floating-point precisions (as TensorFlow dtypes: tf.bfloat16 (truncated floating point), tf.float16, tf.float32, tf.float64). Class constructors have a validate_args flag for numerical asserts 
  41. “Google Reveals a Powerful New AI Chip and Supercomputer”. 《MIT Technology Review》 (영어). 2021년 7월 27일에 확인함. 
  42. “What to Expect From Apple's Neural Engine in the A11 Bionic SoC – ExtremeTech”. 《www.extremetech.com》. 2021년 7월 27일에 확인함. 
  43. “Facebook has a new job posting calling for chip designers”. 2018년 4월 19일. [깨진 링크]
  44. “Facebook joins Amazon and Google in AI chip race”. 《Financial Times》. 2019년 2월 18일. 
  45. Amadeo, Ron (2021년 5월 11일). “Samsung and AMD will reportedly take on Apple's M1 SoC later this year”. 《Ars Technica》 (미국 영어). 2021년 7월 28일에 확인함. 
  46. Smith, Ryan. “The AI Race Expands: Qualcomm Reveals "Cloud AI 100" Family of Datacenter AI Inference Accelerators for 2020”. 《www.anandtech.com》. 2021년 9월 28일에 확인함. 
  47. Woodie, Alex (2021년 11월 1일). “Cerebras Hits the Accelerator for Deep Learning Workloads”. 《Datanami》. 2022년 8월 3일에 확인함. 
  48. “Cerebras launches new AI supercomputing processor with 2.6 trillion transistors”. 《VentureBeat》 (미국 영어). 2021년 4월 20일. 2022년 8월 3일에 확인함. 

외부 링크[편집]