AI 가속기
1. 개요
AI 가속기는 CPU를 보완하여 특정 작업을 가속화하는 특수 하드웨어 장치로, 딥 러닝 및 인공지능(AI) 워크로드의 증가와 함께 중요성이 커졌다. 초기에는 아날로그 회로 또는 디지털 신호 처리 장치(DSP)를 사용한 시도가 있었으며, 이기종 컴퓨팅, GPU, FPGA, ASIC 등 다양한 형태로 발전해 왔다. GPU는 딥 러닝 작업에 널리 사용되며, FPGA는 유연성을 바탕으로 AI 가속에 활용된다. ASIC은 보다 구체적인 설계를 통해 효율성을 높이며, 구글, 퀄컴, 아마존 등 다양한 기업에서 자체 AI ASIC을 개발하고 있다. 현재 메모리 내 컴퓨팅, 원자 수준의 반도체, 통합 광학 텐서 코어 등 AI 가속기 관련 연구가 활발히 진행 중이며, MLPerf와 같은 벤치마크를 통해 성능을 평가한다. AI 가속기는 산업용 로봇, 기계 번역, 자율 주행 자동차, 의료 분야 등 다양한 분야에 응용될 수 있다.
-
컴퓨터 최적화 -
하드웨어 가속
하드웨어 가속은 성능 향상을 위해 특정 연산을 전용 하드웨어로 처리하는 기술이며, 병렬 처리를 통해 연산 속도를 높이지만 유연성이 감소하고 비용이 증가하는 특징을 갖는다. -
컴퓨터 최적화 -
프로그램 최적화
프로그램 최적화는 컴퓨터 프로그램의 효율성을 높이는 과정으로, 더 효율적인 구현 방식을 선택하거나 불필요한 기능을 제거하여 문제 해결에 집중하며, 다양한 수준에서 플랫폼 의존적이거나 독립적인 기술을 활용하여 수행되지만, 특정한 품질 지표를 개선하기 위해 다른 측면을 희생하는 트레이드오프가 발생할 수 있다. -
AI 가속기 -
텐서 처리 장치
텐서 처리 장치(TPU)는 구글이 머신 러닝 가속화를 위해 개발한 특수 목적 집적 회로로, 여러 세대를 거쳐 클라우드, 엣지 컴퓨팅 등 다양한 환경에 응용되고 있으며, 특허 침해 소송이 제기되었으나 합의로 종결되었다. -
AI 가속기 -
뉴로모픽 엔지니어링
뉴로모픽 엔지니어링은 인간 뇌를 모방한 컴퓨터 시스템을 개발하는 기술이며, 다양한 연구 사례와 응용 분야를 가지고 있지만 윤리적, 법적 문제와 군사적 용도에 대한 논쟁도 존재한다. -
ASIC -
그래픽 처리 장치
그래픽 처리 장치(GPU)는 컴퓨터 그래픽 렌더링 및 표시를 가속화하는 전용 프로세서로, 아케이드 게임기에서 시작하여 개인용 컴퓨터의 초기 그래픽 디스플레이 프로세서, 하드웨어 가속 3D 그래픽을 거쳐 인공지능 및 딥러닝 분야에서도 활용되며 다양한 형태로 컴퓨터, 게임 콘솔, 모바일 기기 등 광범위한 분야에서 사용된다. -
ASIC -
하드웨어 가속
하드웨어 가속은 성능 향상을 위해 특정 연산을 전용 하드웨어로 처리하는 기술이며, 병렬 처리를 통해 연산 속도를 높이지만 유연성이 감소하고 비용이 증가하는 특징을 갖는다.
2. 역사
컴퓨터 시스템은 특수 작업을 위한 코프로세서를 통해 CPU를 보완해 왔다. 주목할 만한 ASIC 확장 카드 하드웨어 장치로는 비디오 카드, 사운드 카드, GPU, DSP 등이 있다. 2010년대에 딥 러닝과 인공 지능 작업 부하가 증가하면서, 이러한 작업을 하드웨어 가속하기 위해 특수 하드웨어 장치가 개발되거나 기존 제품에서 개조되었다.
2.1. 초기 시도
인텔의 ETANN 80170NX와 같은 초기 시도는 신경 기능을 계산하기 위해 아날로그 회로를 통합했다. 이후 네스터/인텔 Ni1000과 같은 완전 디지털 칩이 뒤따랐다. 1993년 초 디지털 신호 처리기가 광학 문자 인식 소프트웨어를 가속화하기 위한 신경망 가속기로 사용되었다. 1988년 웨이장(Wei Zhang) 등은 알파벳 인식을 위한 컨볼루션 신경망의 빠른 광학 구현에 대해 논의했다. 1990년대에는 신경망 시뮬레이션을 비롯한 다양한 애플리케이션을 목표로 워크스테이션용 병렬 고처리량 시스템을 만들려는 시도도 있었다. 1990년대 FPGA 기반 가속기가 추론과 훈련을 위해 처음 연구되었다. 2015년 퀄컴 스냅드래곤 820부터 스마트폰에 AI 가속기가 탑재되기 시작했다.
2.2. 이기종 컴퓨팅
이기종 컴퓨팅은 단일 시스템 또는 단일 칩에 여러 개의 특수 프로세서를 통합하여 각 프로세서를 특정 유형의 작업에 최적화하는 방식이다. 셀 마이크로프로세서와 같은 아키텍처는 압축된 저정밀도 연산 지원, 데이터 흐름 아키텍처, 대기 시간보다 처리량 우선 순위 지정 등 AI 가속기와 크게 겹치는 기능을 갖추고 있다. 셀 마이크로프로세서는 AI를 비롯한 다양한 작업에 적용되었다.
2000년대에는 비디오 및 게임 작업 부하로 인해 CPU의 SIMD 장치가 점점 더 넓어졌으며, 압축된 낮은 정밀도 데이터 유형도 지원한다. CPU 성능이 향상됨에 따라 AI 워크로드를 실행하는 데에도 사용된다. CPU는 중소 규모 병렬 처리를 갖춘 DNN, 희소 DNN 및 낮은 배치 크기 시나리오에 적합하다.
2020년대는 AI 엔진의 CPU 칩 탑재 흐름이 일어나고 있다. 애플사의 A 시리즈 및 M 시리즈에 탑재된 Neural Engine, AMD의 Ryzen AI, 인텔의 Meteor Lake 이후 통합된 Neural Processing Unit (NPU) 등이 있다.
2.3. GPU 사용
그래픽 처리 장치(GPU)는 원래 이미지 조작 및 처리를 위해 특화된 하드웨어이다. 그러나 신경망과 이미지 조작의 수학적 기반이 유사하고, 행렬 연산과 관련된 병렬 처리에 강점을 가지기 때문에, GPU는 기계 학습, 특히 딥 러닝 분야에서 널리 사용되게 되었다.
2012년, 알렉스 크리제프스키는 딥 러닝 네트워크인 AlexNet을 훈련하기 위해 두 개의 GPU를 사용하여 ISLVRC-2012 대회에서 우승했다. 2010년대 동안, 엔비디아(Nvidia)와 같은 GPU 제조업체는 딥 러닝 관련 기능(예: INT8 연산자)과 소프트웨어(예: cuDNN 라이브러리)를 추가하여 GPU의 AI 가속 능력을 향상시켰다.
GPU는 자율 주행 자동차와 같은 장치에서 훈련 및 추론 모두에 딥 러닝을 지원하며, 엔비디아 NVLink와 같은 기술은 AI 워크로드에 대한 추가 연결 기능을 제공한다. GPU 제조업체들은 AI 가속을 더욱 향상시키기 위해 신경망에 특화된 하드웨어(예: 텐서 코어)를 통합하고 있다. 텐서 코어는 신경망 훈련 속도를 높이는 데 목적이 있다.
GPU는 대규모 AI 애플리케이션에도 지속적으로 사용되고 있다. 예를 들어, 오크리지 국립 연구소의 IBM 슈퍼컴퓨터 서밋은 27,648개의 엔비디아 테슬라 V100 카드를 탑재하여 딥 러닝 알고리즘을 가속화한다.
2.4. FPGA 사용
FPGA는 프로그래밍이 가능하여 유연성이 높다는 장점 때문에 AI 가속기 개발에 활용되고 있다. 재구성 가능한 FPGA는 하드웨어, 프레임워크, 소프트웨어를 상호 간에 발전시키기 더 쉽게 만들어준다.
마이크로소프트는 딥 러닝 추론을 가속화하기 위해 FPGA 칩을 사용했다. 인텔은 알테라를 인수하여 서버 CPU에 FPGA를 통합, 범용적인 작업뿐만 아니라 AI도 가속할 수 있도록 하는 것을 목표로 하고 있다.
대한민국에서도 FPGA 기반 AI 가속기 연구가 활발히 이루어지고 있으며, 특히 통신, 국방 등 특수 목적의 AI 시스템 개발에 활용되고 있다.
2.5. 전용 AI 가속기 ASIC의 등장
GPU 및 FPGA는 AI 관련 작업에서 CPU보다 훨씬 뛰어난 성능을 발휘하지만, 주문형 반도체(ASIC)를 통해 더 구체적인 설계를 하면 최대 10배의 효율성을 얻을 수 있다. 이러한 가속기는 계산을 가속화하고 계산 처리량을 높이기 위해 최적화된 메모리 사용 및 낮은 정밀도의 산술 사용과 같은 전략을 사용한다. AI 가속에 사용되는 일부 저정밀도 부동 소수점 형식에는 반정밀도 부동 소수점 형식 및 bfloat16 부동 소수점 형식이 있다. 구글, 퀄컴, 아마존, 애플, 페이스북, AMD, 삼성과 같은 기업들은 모두 자체 AI ASIC을 설계하고 있다. 세레브라스 시스템즈는 딥 러닝 워크로드를 지원하기 위해 업계 최대 프로세서인 2세대 Wafer Scale Engine(WSE-2)을 기반으로 전용 AI 가속기를 구축했다.
3. 진행 중인 연구
IBM 연구자들은 2017년 6월, 폰 노이만 구조와 대조되는 인 메모리 컴퓨팅 기반의 아키텍처를 발표했다. 이 아키텍처는 시간적 상관 관계 감지에 적용되는 상변화 메모리 어레이를 활용하며, 이종 컴퓨팅과 대규모 병렬 처리 시스템에 일반화하는 것을 목표로 했다. 2018년 10월에는 인 메모리 처리를 기반으로 인간 뇌의 시냅스 네트워크를 모델로 한 뉴로모픽 엔지니어링 아키텍처를 발표하여 딥 러닝을 가속화했다. 이 시스템은 상변화 메모리 어레이를 기반으로 한다.
3.1. 메모리 내 컴퓨팅 아키텍처
IBM 연구진은 2017년 6월, 폰 노이만 구조와 대조되는 인 메모리 컴퓨팅 기반의 인 메모리 프로세싱과 시간적 상관 관계 감지에 적용된 상변화 메모리 어레이를 발표하여, 해당 접근 방식을 이종 컴퓨팅 및 대규모 병렬 처리 시스템으로 일반화하려 했다. 2018년 10월에는 신경 모방 공학을 기반으로 하고 딥 뉴럴 네트워크를 가속화하기 위해 인간 뇌의 시냅스 네트워크를 모델로 한 인 메모리 프로세싱 아키텍처를 발표했다. 이 시스템은 상변화 메모리 어레이를 기반으로 한다.
3.2. 아날로그 저항 메모리를 사용한 메모리 내 컴퓨팅
2019년, 밀라노 공과대학 연구진은 단일 연산을 통해 수십 나노초 만에 선형 방정식 시스템을 해결하는 방법을 발견했다. 이들의 알고리즘은 옴의 법칙과 키르히호프의 법칙을 사용하여 한 단계로 행렬-벡터 곱셈을 수행하여 시간과 에너지 효율성이 높은 아날로그 저항 변화형 메모리를 사용한 인 메모리 컴퓨팅을 기반으로 한다. 연구진은 크로스포인트 저항 메모리를 갖춘 피드백 회로가 선형 방정식 시스템, 행렬 고유 벡터 및 미분 방정식을 단 한 단계로 해결할 수 있음을 보여주었다. 이러한 접근 방식은 디지털 알고리즘에 비해 계산 시간을 획기적으로 개선한다.
3.3. 원자 수준으로 얇은 반도체
2020년, 마레가 등은 플로팅 게이트 전계 효과 트랜지스터(FGFET)를 기반으로 하는 메모리 내 로직 장치 및 회로 개발을 위한 대면적 활성 채널 재료에 대한 실험 결과를 발표했다. 이들은 원자 수준으로 얇은 반도체가 에너지 효율적인 머신 러닝 응용 분야에 유망하며, 동일한 기본 장치 구조가 로직 연산과 데이터 저장 모두에 사용될 수 있다고 보았다. 연구진은 반도성 이황화 몰리브덴과 같은 2차원 재료를 사용하여 FGFET를 정밀하게 조정, 메모리 소자로 로직 연산을 수행할 수 있는 빌딩 블록을 개발했다.
3.4. 통합 광학 텐서 코어
2021년, J. 펠드만(J. Feldmann) 등은 병렬 합성곱 처리를 위한 집적 광자 하드웨어 가속기를 제안했다. 저자들은 집적 광자가 전자 방식에 비해 가지는 두 가지 주요 장점으로 (1) 파장 분할 다중화와 주파수 빗살을 통한 대규모 병렬 데이터 전송, (2) 매우 빠른 데이터 변조 속도를 설명했다. 이 시스템은 초당 수조 번의 곱셈-누산 연산을 수행할 수 있으며, 이는 데이터 집약적인 AI 애플리케이션에서 광자 집적 회로의 잠재력을 보여준다. 인공 신경망의 역전파를 수행할 수 있는 광학 프로세서도 실험적으로 개발되었다.
4. 명명법
AI 가속기 분야는 2016년 기준으로 아직 발전 초기 단계에 있어, 명확한 용어 정의가 확립되지 않았다. 여러 업체들은 자사의 설계 및 API가 지배적인 설계가 되기를 바라며, "AI 가속기"에 해당하는 자체 마케팅 용어를 사용하고 있다. 이러한 장치들 사이의 경계나 정확한 형태에 대한 합의는 없지만, 여러 사례에서 이 새로운 영역을 채우는 것을 목표로 하고 있으며, 기능에 상당한 중복이 있다.
과거 소비자용 그래픽 가속기가 등장했을 때, 업계는 Direct3D가 제시한 모델을 구현하는 전반적인 그래픽 파이프라인에 정착하기 전까지 다양한 형태를 취했다. 결국 업계는 Nvidia가 자체적으로 지정한 용어인 "GPU"를 "그래픽 가속기"의 집합 명사로 채택했다.
5. 딥 러닝 프로세서 (DLP)
DianNao Family의 선구적인 연구에서 영감을 받아, 딥 러닝 프로세서(DLP)는 딥 뉴럴 네트워크의 특징을 활용하여 효율성을 극대화하도록 설계되어 학계와 산업계에서 많이 제안되었다. 2016년 ISCA에서 발표된 논문의 15%가 딥 러닝에 대한 아키텍처 설계에 중점을 두었을 정도이다.
DLP 개발 노력은 학계와 산업계 양쪽에서 활발하게 이루어졌다. 학계에서는 MIT의 Eyeriss, 스탠포드 대학교의 EIE, 하버드 대학교의 Minerva, 토론토 대학교의 Stripes 등이 대표적이다. 산업계에서는 구글의 TPU, 캠브리콘의 MLU 등이 DLP 개발을 주도했다.
다음 표는 대표적인 DLP 연구들을 정리한 것이다.
이종 컴퓨팅은 하나의 시스템 또는 칩에 특정 작업에 최적화된 여러 프로세서를 통합하는 것을 의미한다. Cell B.E. 마이크로프로세서는 팩된 저정밀 산술 연산 지원, 데이터 흐름 아키텍처, 레이턴시보다 처리량을 우선시하는 등 AI 가속기와 많은 특징을 공유한다. Cell 프로세서는 이후 AI를 포함한 다양한 작업에 응용되었다.
2000년대에는 CPU가 동영상 및 게임 워크로드가 증가함에 따라 SIMD 유닛의 데이터 폭을 점차 확장하고, 팩된 저정밀 데이터형을 지원하게 되었다.
2020년대에는 AI 엔진을 CPU 칩에 탑재하는 흐름이 나타나고 있다. 애플(Apple Inc.)의 A 시리즈 및 M 시리즈에 탑재된 Neural Engine, AMD의 Ryzen AI, 인텔(Intel)의 Meteor Lake 이후 통합된 Neural Processing Unit (NPU) 등이 그 예이다.
5.1. 디지털 DLP
DLPs 아키텍처의 주요 구성 요소는 계산 구성 요소, 온칩 메모리 계층 구조, 그리고 데이터 통신 및 컴퓨팅 흐름을 관리하는 제어 로직을 포함한다.
딥 러닝의 대부분 연산은 벡터 연산으로 집계될 수 있으므로, 디지털 DLP에서 계산 구성 요소를 구축하는 가장 일반적인 방법은 MAC 기반 구성으로, 벡터 MAC 또는 스칼라 MAC을 사용한다. 이러한 MAC 기반 구성에서 딥 러닝 도메인별 병렬 처리가 더 잘 탐구된다. DLP는 일반적으로 상대적으로 큰 크기의 온칩 버퍼를 사용하지만, 메모리 대역폭 부담을 줄이기 위해 전용 온칩 데이터 재사용 및 데이터 교환 전략을 사용한다. 예를 들어, DianNao는 16개의 16-in 벡터 MAC을 사용하여 계산 구성 요소와 버퍼 간에 거의 1024GB/s의 대역폭 요구 사항을 갖는데, 온칩 재사용을 통해 이러한 대역폭 요구 사항이 크게 감소한다. DLP는 캐시 대신 스크래치패드 메모리를 사용하여 더 높은 데이터 재사용 기회를 제공한다.
DLP는 딥 러닝 도메인을 유연하게 지원하기 위해 전용 ISA(명령어 집합 아키텍처)를 활용한다. DianNao는 VLIW 스타일의 명령어 집합을 사용했고, Cambricon은 10개 이상의 서로 다른 딥 러닝 알고리즘을 지원할 수 있는 최초의 딥 러닝 도메인별 ISA를 도입했다. TPU 또한 CISC 스타일의 ISA에서 5개의 주요 명령어를 공개했다.
5.2. 하이브리드 DLP
하이브리드 DLP는 DNN 추론 및 훈련 가속을 위해 높은 효율성을 제공한다. 메모리 내 처리(PIM) 아키텍처는 하이브리드 DLP의 가장 중요한 유형 중 하나이다. PIM의 핵심 설계 개념은 컴퓨팅 구성 요소를 메모리 셀, 컨트롤러 또는 메모리 칩으로 이동시켜 컴퓨팅과 메모리 간의 격차를 해소하는 것이다. 이러한 아키텍처는 데이터 경로를 단축하고 더 높은 내부 대역폭을 활용하여 성능을 향상시킨다. 또한, 계산 장치를 채택하여 고효율 DNN 엔진을 구축한다. 2013년, HP 랩은 ReRAM 크로스바 구조를 컴퓨팅에 채택하는 기능을 시연했다. 이 연구를 바탕으로 ReRAM, 상변화 메모리, 등을 기반으로 새로운 아키텍처 및 시스템 설계를 탐구하는 연구가 활발히 진행되고 있다.
2017년 6월, IBM의 연구자들은 이종 컴퓨팅과 대규모 병렬 처리 시스템에 일반화하기 위한 접근 방식을 목표로, 시간적 상관 관계 감지에 적용되는 인 메모리 컴퓨팅과 상변화 메모리 어레이를 기반으로 하는 폰노이만 구조와는 대조적인 아키텍처를 발표했다。2018년 10월, IBM의 연구자들은 인 메모리 처리를 기반으로, 인간 뇌의 시냅스 네트워크를 모델로 한 뉴로모픽 엔지니어링 아키텍처를 발표하여 심층 신경망을 가속화했다。이 시스템은 상변화 메모리 어레이를 기반으로 한다。
6. 벤치마크
AI 가속기의 성능을 평가하기 위해 MLPerf와 같은 벤치마크를 사용할 수 있다.
| 연도 | NN 벤치마크 | 소속 | 마이크로 벤치마크 수 | 구성 요소 벤치마크 수 | 애플리케이션 벤치마크 수 |
|---|---|---|---|---|---|
| 2012 | BenchNN | 중국과학원 (ICT, CAS) | N/A | 12 | N/A |
| 2016 | Fathom | 하버드 대학교 | N/A | 8 | N/A |
| 2017 | BenchIP | 중국과학원 (ICT, CAS) | 12 | 11 | N/A |
| 2017 | DAWNBench | 스탠퍼드 대학교 | 8 | N/A | N/A |
| 2017 | DeepBench | 바이두 | 4 | N/A | N/A |
| 2018 | AI Benchmark | 취리히 연방 공과대학교 | N/A | 26 | N/A |
| 2018 | MLPerf | 하버드 대학교, 인텔, 구글 등 | N/A | 7 | N/A |
| 2019 | AIBench | 중국과학원 (ICT, CAS) 및 알리바바 등 | 12 | 16 | 2 |
| 2019 | NNBench-X | 캘리포니아 대학교 샌타바버라 | N/A | 10 | N/A |
7. 잠재적 응용 분야
AI 가속기는 다음과 같은 다양한 분야에 응용될 수 있다.
* 산업용 로봇: 가변적인 상황에 대한 적응성을 높여 자동화할 수 있는 작업의 범위를 확장한다.
* 기계 번역
* 군사용 로봇
* 자연어 처리
* 검색 엔진: 데이터 센터의 에너지 효율을 높이고, 더욱 발전된 정보 검색 기능을 사용할 수 있게 한다.
* 무인 항공기: (예: 내비게이션 시스템), 모비디우스 마이리아드 2는 자율 드론 안내에 성공적으로 사용되었다.
* 음성 사용자 인터페이스: (예: 휴대폰), 퀄컴 제로스의 목표.
* 농업 로봇: 예를 들어 제초제를 사용하지 않고 잡초를 방제할 수 있다.
* 자율 주행 자동차: 엔비디아는 이 응용 분야를 위해 드라이브 PX 시리즈 보드를 목표로 하고 있다.
* 컴퓨터 보조 진단