NPU, GPU, CPU 비교. 각 프로세서의 역할은?
머신러닝, 인공지능이 대중화되고 있습니다. 이를 반영햐듯 최신의 컴퓨터용 칩에는 NPU(신경망 처리장치)가 시스템 온 칩 기술로 통합되어 있습니다. 이번 포스팅에서는 신경망 처리장치에 대해 자세히 알아보겠습니다. NPU가 개발된 배경, NPU가 GPU나 CPU와 어떤 점이 다른지 확인해 보시기 바랍니다.
글의 순서
NPU (Neural Processing Unit) 개발 배경
CPU vs. GPU
GPU의 발전, 머신러닝, 인공지능의 필수 자산
신경망처리장치가 필요한 이유
신경망 처리장치 예) FuriosaAI Warboy
NPU가 GPU 대비 갖는 차별점
NPU (Neural Processing Unit) 개발 배경
인공지능(AI) 기술이 발전하면서 더 빠르고, 더 효율적인 데이터 처리가 필요해졌습니다. 기존의 CPU와 GPU로는 머신러닝과 머신러닝으로 만든 신경망의 복잡한 연산을 처리하기에 한계가 발생했습니다. 이를 해결하기 위해 개발된 것이 바로 신경망 처리장치(Neural Processing Unit)입니다.
복잡한 연산 자체로만 봤을 때는 CPU와 GPU가 충분히 제 역할을 해줍니다. 그런데, 머신러닝, AI 작동의 효율성 측면에서는 부족한 점이 많았습니다. NPU는 효율성에 더 큰 비중을 둔 프로세서입니다. 다시말하면, 신경망처리장치는 AI 연산에 최적화된 프로세서로, 머신러닝과 딥러닝 작업을 더욱 효율적으로 수행할 수 있습니다.
CPU vs. GPU
컴퓨터에서 복잡한 연산을 담당하는 프로세서가 중앙처리장치입니다. 중앙처리장치를 CPU(Central Processing Unit)라고 부릅니다. 2000년대 중반까지는 CPU가 컴퓨터가 처리해야할 대부분의 연산을 담당했었습니다. 과학, 의학 등의 분야는 물론, 서버나 미디어 등 대규모 데이터 처리와 인공지능 개발을 위한 기계학습, 심화 학습(딥 러닝) 분야 등에서 연산상치는 CPU였습니다.
그러던 중, 2006년 처음으로 CPU가 담당하던 응용 프로그램 계산에 GPU(Graphics Processing Unit)을 사용하기 시작했습니다. GPU는 연산을 처리하는 수천 개의 코어로 구성된 반도체로 병렬계산에 강점이 있습니다. 계산에 GPU를 사용하는 개념을 GPGPU(General-Purpose computing on Graphics Processing Units)라고 불렀습니다. GPU를 연산장치로 사용한다는 뜻입니다. 그때부터 GPU가 널리 쓰이기 시작했습니다.
GPU의 발전, 머신러닝, 인공지능의 필수 자산
그럼 그 GPGPU라는 개념 이전에는 GPU의 주 용도가 무엇이었을까요? GPU는 컴퓨터 그래픽 처리를 위한 용도로만 쓰였습니다. GPGPU라는 개념이 등장한 이후인 2010년 초까지만 해도 GPU의 주요 용도는 그래픽 처리였습니다.
비트코인이 등장했고, 암호화폐의 채굴에 GPU를 활용했습니다. 점차 직접 채굴하는 방식이 줄어들면서 GPU를 활용한 채굴 수요도 감소했고, GPU의 인기도 떨어졌습니다. 엔비디아의 주가에 이런 상황들이 반영되어 있습니다. 암호화폐 채굴이 한창이던 2021년 1월에 최고가를 경신했고, 2022년 1월에는 1/3 토막 가격이었습니다.
2022년 말 OpenAI가 ChatGPT를 발표하면서 GPU는 인공지능 개발의 핵심 연산장치로 자리매김했습니다. 오픈AI가 시장 선점에 나서자 인공지능에 투자해 온 기업들 역시 경쟁적으로 인공지능 기술을 공개하기 시작했습니다. 머신러닝에는 복잡도가 낮지만 수많은 연산이 필요합니다. 병렬연산에 특화된 GPU는 이후 전략 자산으로 떠올랐습니다. 미국 정부가 엔비디아와 AMD에 중국, 러시아에 대한 GPU 수출을 제한하는 명령을 내렸고, 그만큼 GPU가 향후 미래산업에 미치는 영향력이 큰 상황입니다. 그 이후로 엔비디아 주가는 계속 오르고 있습니다.
NPU가 필요한 이유
어떤 연산이든 이젠 GPU로 가능하며, 기본적으로 병렬처리에 특화되어 있어 대용량 연산과 데이터 처리에 좋은 성능을 보여줍니다. 생산성도 검증된 상태입니다. 그런데, 효율적이진 않습니다. 머신러닝, 인공지능 분야는 많은 연산이 필요한데, GPU를 사용하면 전력 소모량과 비용이 높다는 게 단점입니다. 한마디로 범용성과 성능은 좋지만, 투자 대비 효율이 떨어집니다. 그래서 머신러닝, 인공지능 처리에 특화된 반도체인 신경망 처리 장치(Neural Processing Unit, NPU)가 개발되었습니다.
NPU는 GPU와 마찬가지로 병렬 처리에 최적화된 구조이지만, 제어 및 산술 논리 구성 요소를 갖춰 인공 신경망을 다루는 데 최적화되어 있습니다. 덕분에 GPU와 동일한 인공지능 작업이 주어질 때, GPU 대비 전력 소모는 적고 더 많은 결과물을 만들어 냅니다.
데이터 처리 자체가 시간이자 자본인 머신러닝 분야에서 NPU는 효율적으로 작동합니다. 엔비디아 A100이 1와트당 2.1매, 엔비디아 A2가 5.8매의 이미지를 처리할 때, NPU인 워보이는 1와트당 8.5매의 이미지를 처리할 수 있습니다.
신경망 처리장치 예) FuriosaAI Warboy
갑자기 워보이가 나왔는데요. Warboy는 FuriosaAI의 첫 번째 세대 NPU로, 딥러닝 추론을 위해 최적화된 칩입니다. 이 칩은 특히 소규모의 추론 요청에서 높은 성능을 발휘하도록 설계되었으며, 대부분의 주요 CNN 모델을 온칩 메모리에 저장할 수 있어 메모리 병목 현상을 최소화하고 에너지 효율성을 극대화합니다. 여기서, CNN(Convolutional Neural Network)은 이미지와 같은 격자 구조 데이터를 처리하기 위해 설계된 딥러닝 모델입니다.
Warboy는 64 TOPS의 성능을 제공하며, 32MB의 SRAM을 갖추고 있습니다. 또한, 2개의 처리 요소(processing elements, PE)를 포함하고 있습니다. 각 PE는 32 TOPS의 성능을 내는데, 2개를 통합해서 활용할 수도 있습니다. 여기서 TOPS는 Trillion per second의 줄임말로 초당 1조번 연산을 의미합니다.
NPU가 GPU 대비 갖는 차별점
신경망 처리장치는 특정한 연산 작업, 특히 AI와 머신러닝 작업을 효율적으로 처리하도록 설계되었습니다.
신경 처리장치는 다음과 같은 특징들로 GPU와 차별화됩니다.
▶정수 연산 최적화: NPU는 주로 정수 연산에 최적화되어 있어, 양자화된(quantized) 신경망 모델의 연산을 빠르게 처리할 수 있습니다.
▶AI 및 머신러닝 작업 특화: NPU는 AI 연산, 특히 신경망 학습과 추론을 빠르고 효율적으로 수행합니다. 이는 대규모 행렬 연산과 정수 기반 연산을 효율적으로 처리하는 데 큰 장점을 제공합니다.
▶전력 효율성: NPU는 전력 소비가 적도록 설계되어 있어, 에너지 효율적인 AI 연산을 수행할 수 있습니다.
반면에 GPU는 부동소수점 연산에 강점을 가지며, 그래픽 렌더링과 일반적인 병렬 연산 작업에서도 높은 성능을 발휘합니다. 머신러닝 작업에서도 널리 사용되지만, 신경망 처리장치는 AI 연산에 더욱 특화된 성능을 제공합니다.
마치며 …
머신러닝, 인공지능이 대중화되고 있습니다. 이를 반영하듯 컴퓨터 칩의 한 부분을 신경망처리장치가 차지하고 있습니다. 이번 포스팅에서는 시스템 온 칩 기술로 통합되어 있는 NPU에 대해 알아보았습니다.
신경망처리장치는 특히 AI와 머신러닝에 필요한 연산 작업을 효율적으로 처리하도록 설계된 장치입니다. GPU로도 이런 작업을 할 수 있지만 비용대 효과 측면에서는 NPU가 강점을 가집니다. 다음 포스팅에서는 SoC 기술로 만들어진 컴퓨터용 칩의 신경망처리장치 성능을 비교해보겠습니다.
함께 참고하면 좋은 글
▶ 컴퓨터 구성요소의 핵심, CPU (중앙처리장치)
▶ CPU 코어, 쓰레드, 클럭, 캐시메모리의 의미
▶ 애플 M1 칩, 그리고 컴퓨터 기본 구조
▶ GPU와 인공지능. 엔비디아 2023년 주가 폭등의 이유
▶ 알아두면 좋을 컴퓨터 작동원리. 폰 노이만 아키텍처
▶ 컴퓨텍스 2024. 퀄컴, 인텔, AMD 칩들도 이젠 SoC(시스템 온 칩)
▶ 애플 M4 칩과 경쟁하는 퀄컴, 인텔, AMD 칩의 벤치마크 테스트 결과 비교
▶ 머신러닝 수학 : 데이터 벡터화
참고자료
▶남시현(2023), GPU 넘어 NPU가 주목받는 이유 ··· ‘관건은 와트당 성능, 그리고 효율성, 동아닷컴
▶FuriosaAI Warboy