설계독학맛비 YouTube/00 쉬어가기

[설계독학] [쉬어가기 2장] AI Inference Accelerator 의 승자는 누구일까? GPU, NPU, FPGA 의 현주소를 알아보자.

반응형

설계독학에서 진행 중인 쉬어가기의 내용입니다.

모든 글의 저작권은 맛있는비빔밥에게 있습니다. ^^

설계독학 유튜브

youtu.be/x8MO19CSGTU

 

Intro

안녕하세요. 설계독학의 맛비입니다.

제목처럼 현재 어느수준까지 올라왔고, 그리고 앞으로 이 AI Inference Accelerator 시장에서 승자는 누가될 것인가? 아주 조심스럽게 순위도 정해 보도록 하겠습니다.

글을 보시고 구독자님들이 생각하시는 앞으로의 미래? 에 대해서 공유해주시면 저 또한 많은 공부가 될 것 같습니다.

 

먼저 AI Inference Accelerator 라는 단어가 갖는 의미에 대해서 설명드리려고 합니다.

AI 는 인공지능이란 뜻을 가지고 있어요. 사람도 그렇고 기계또한 배워야, 써먹을 수 있죠.

여기서 배운다의 뜻은 Training 이고, 써먹는다의 뜻은 Inference 추론 이라고 표현하면 될 것 같아요.

Accelerator 는 가속기로 써먹기 위한 Inference 연산의 속도를 빠르게 하는 장치입니다.

즉, AI Inference Accelerator 는 Training 이 완료된 AI 모델을 빠르게 Inference 해주는 장치입니다.

현재 Accelerator 는 GPU, NPU, FPGA 가 대표적으로 존재하고 있죠.

 

GPU

GPU 부터 살펴볼께요.

2016년 3월에 알파고의 덕도 컷고 이전부터 AI 가 사람보다 뛰어난 결과를 내고있다가 검증되었어요,

많은 연구자들이 AI 를 Training 하고 싶어했고, 이 Training 을 하려면 무수히 많은 단순 연산들이 필요한데, GPU 가 필수였죠, Training 시장은 사실상 GPU 가 다 먹었다고 생각 하시면 될 것 같아요.

당연히 GPU 시장은 기하급수적으로 커졌구요. GPU의 대표격인 Nvidia 의 주식 가격을 보면 알 수 있죠. 

 

이번에 내온 RTX 30 시리즈를 살펴볼께요. Architecture 를 보면 3세대 Tensor Core 가 들어가 있습니다.

Tensor 는 Vector 의 개념을 확장한 용어에요. AI 연산자체가 무수히 많은 Vector 들의 연산으로 구성되어 있어요. 즉 AI 의 연산을 Tensor 라고 표현합니다. 

NVIDIA GPU 는 Game 용 뿐만아니라 Tensor Core 를 지원함으로써 AI 가속기 시장에서도 활약을 하고 있습니다. 

그럼 Training 처럼 Inference 시장도 GPU 가 다 차지를 했느냐? 이것에 대한 답은 No 입니다.

GPU 의 가격이 몇십만원에서 몇 백만원 대이기 때문이죠. 일상생활에서 NVIDIA GPU 가 장착된 컴퓨터를 들고다니는 사람은 본적이 없을꺼에요. 아마도.

GPU는 Embedded 에 어울리지 않죠. 이 Embedded 와 반대되는 시장인 Server 를 볼께요. AWS Cloud 는 NVIDIA GPU 를 제공합니다.

많은 업체들이 있겠지만 Cloud 상에서 GPU를 이용하여 AI 관련 서비스를 하는 업체들도 있습니다.

예를들어 pixop 이란 업체에요. Super Resolution 이라는 저화질 영상을 고화질로 바꿔줘는 기술을 서비스 하는 업체입니다.

https://www.pixop.com/

이 회사가 AWS Cloud 의 NVIDIA GPU 에 AI 모델을 올려서 서비스를 하고 있어요.

그럼 GPU 는 Embedded Target 이 아닌, Server 용 시장에서 활약할 수 있겠죠.

 

NPU

그 다음은 NPU 입니다. Neural Network Processing Unit, 의 약어로 AI Model 을 가속화 하기위해서 민들어 졌어요.

이 NPU 란 용어가 나온지 10년 채 안되었을 꺼에요. AI 시장이 커졌죠. 성능을 올리기 위해서는 AI 모델이 커져야 되고 이 커진 모델을 CPU, GPU 는 감당할 수 없었죠.

그렇게 해서 NPU 가 탄생했습니다. 제가 생각하는 NPU 는 AI Model 을 가속화하는데 많은 전력과 돈을 사용하면 안됩니다. 즉, AI Model 가속화 하려고 태어났으면 가장 효율적으로 AI Model 가속화를 해줘야하죠. 

많은 대기업들 인텔, Nvidia, 삼성, 테슬라, 애플, 아마존 등등.. 이 NPU 를 만들기 위해서 노력하고 있어요. 나온지 얼마 안되서 국내에도 NPU 를 만들기위한 스타트업들이 많습니다.

제가 알고있는 국내 기업들로는 AMD 출신 대표가 이끄는 퓨리오사AI 와 Apple 출신 대표가 이끄는 딥엑스 가 대표적이죠.

아직은 매출로써 가시적인 성과는 없다고 알고있는데, 기술은 굉장하신 것 같아요..? 

Embedded 시장은 NPU 가 많이 적용이 되었어요.

앞서 설명드린 NVIDIA의 Tensor Core 뿐만 아니라, 요즘 핫한 미국 회사인 테슬라도 자율주행을 위한 Processor 안에 NPU 가 들어가 있습니다.

NPU 가 전체 Chip 에서 굉장히 많은 영역을 차지하고 있죠.

 

물론 Apple 의 Core 에도 NPU 들어가있어요.

Server 시장은 어떨까요? 

Server 시장의 대표적인 아마존도 NPU 를 서비스 합니다. 바로 Inferentia npu chip 입니다.

 

 

저 또한 놀랐지만, 이제는 비메모리 설계가 인텔, ARM, NVIDIA 같은 전통적인 업체들만 하는게 아니라 제조업, 서비스업 등등 많은 업체들이 HW 설계를 하고 있어요.

몇년전만 해도 AWS 가 ASIC 을 한다..? 상상을 못했습니다. 근데 합니다.

NPU 는 Inference 시장에서 Embedded, Server 둘다 커버 가능한 장치입니다.

하지만 업체마다 독자적인 NPU 를 가지고 설계를 하고 있기 때문에, 국내 스타트업들이 당장은 판매처가 없겠다 생각이 드는데, 그래도 유망하다 생각이 드는 이유가.

소설을 써보자면, 현대기아차에 NPU를 넣지말란법 없고 (이미들어갔나..?), 삼성에서 NPU 를 못만들겠다 해서 인수 합병을 할 수 있고, Naver, 카카오 서버에 NPU Chip 을 넣겠다 할 수 있지 않을까요?

그런 이유로 앞으로도 유망한 직종이 아닌가 조심스럽게 생각을 해봅니다.

 

FPGA

마지막으로 FPGA 입니다. 인텔이 FPGA 양대산맥 중 하나인 Altera 를 인수했어요. 그리고 남은 회사는 Xilinx 죠.

급 생뚱맞게 여러분 덕분에 유튜브 Domain 을 받았습니다. 

Domain 은 aifpga 입니다.

https://www.youtube.com/c/aifpga 

맞습니다. 저는 FPGA 도 AI 관련 제품에서 승산이 있을꺼라 보고 있습니다.

FPGA 는 앞서 설명한 GPU 가 될 수도 있고, NPU 도 될 수도 있어요. 하지만 단지 GPU, NPU 처럼 쓰게 되면 가성비 + 성능 효율이 떨어지죠.

AI Inference Accelerator 에서 FPGA 는 아직까진 Embedded 시장에 어울지 않는 것 같아요. FPGA 들고다닐 사람이 없자나요.. 아직은요. 하지만 고급형인 군사, 의료 이런 분야의 Embedded 는 쓰고 있습니다.

그럼 서버시장이 남았는데, FPGA 가 가격이 GPU 5배 수준으로 계산이 되는 것 같아요.

근거는 Xilinx 에서 서버 용 FPGA 제품 중 Alveo Card 라는게 있는데, 최저 모델 가격이 GPU 30 시리즈 최저 모델 가격에서 한 5배 되는 것 같아요.

AI Inference 시장에서 FPGA 가 망하겠네... 라는 생각이 드네요. 다행인건 모든 분야가 그렇지만, 유독 FPGA 가 도화지에 그림을 그리는 녀석인지라 특별한 HW 가 될 수 있습니다.

GPU, NPU 는 General 하게 AI 모델을 돌릴 수 있도록 제공을 해야합니다. General 하게 AI 모델을 제공해야하는게 장점이기도 한데, 반대로 생각하면 성능 + 가성비 면에서 단점이 될 수 있습니다.

왜냐하면, 인식용 AI 모델과 Super resolution 용 AI 모델이 동일하게 생겼을까요? 다 다르겠죠. CNN 이라고 하는 Network 를 사용하는건 공통이지만, General 하게 모든 AI 모델의 Inference 를 돌려야하는 GPU, NPU 가 최적의 선택이 되겠는가 생각이 들어요.

그런면에서 테슬라의 NPU 는 자율주행의 인식용 AI 모델만을 위한 최적화 된 NPU 가 들어가 있을 것으로 예상됩니다. General 한 건 분명히 한계가 있습니다.

HW 는 한번 fix 가 되면, HW architecture 변경이 불가능 합니다.

여기서 FPGA 에게 기회가 있습니다. FPGA 는 다양한 HW 를 설계할 수 있는 가속기 입니다.

인식용 AI 모델 만을 위한 HW Architecture 를 올릴 수 있고, Super Resolution 모델만을 위한 HW Architecture 를 구현할 수 있죠.

단지 구현이 HW 이기 때문에 숙련도가 중요시 되지만, 숙련도가 충분하다는 가정이면 FPGA 가 GPU, NPU 에 비해서 이런 메리트가 있다 생각이 듭니다.

GPU, NPU 는 tensorflow 와 같은 Framework 에 돌 수있기 때문에, 모델을 구현하는 측면에서는 FPGA 보다 상대적으로 쉽다 라고 말씀드리고 싶어요. 개발 시간도 그만큼 짧겠죠,

동일 전력을 사용한다 했을때, 성능은 보통 NPU > FPGA > GPU 순으로 예상하고 있습니다.

이는 보통의 결과이고, 특정 모델에서는 FPGA 가 NPU, GPU 대비 더 높은 성능을 낼 수 있다 생각합니다.

 

마무리

정리하고 마무리 하겠습니다. 점수를 제 생각대로 기입했고, 높을 수록 좋습니다. 꼭 정답은 아니에요.

먼저 전력 대비 연산량 입니다. NPU 에 가장 큰 점수를 주고 싶습니다.

개발난이도, 개발시간은 (쉬운순서) GPU, NPU, FPGA 순으로 주고 싶습니다.

AI 모델 최적화 가능성은 FPGA 에 높은 점수를 주었습니다. 시장 측면에서 Embedded 는 NPU 가 가장 적절해보이구요. Server 는 3가지 가속기 전부 동일한 기회가 주어질 것이라 생각이 듭니다.

  GPU NPU FPGA
전력 대비 연산량 1 3 2
개발 난이도 or 시간 3 2 1
AI 모델 최적화 2 1 3
Embedded Target 1 3 2
Server Target 3 3 3

결론은 뭐냐, 제 생각에는 이 3가지 전부 좋은 솔루션이 될 것 같다 입니다.

당연히 AI Inference 만을 위해 만들어진 NPU 를 이기긴 힘들겠죠.

하지만, FPGA 가 빠르게 발전하는 AI 모델 시장에 적합하지 않을까 생각이 듭니다.

지금도 최신의 모델들이 계속 나오고 있으니까요.  

GPU 는 여전히 Training 시장을 꽉잡고 있을꺼고, HW 개발 능력이 부족하지만, SW 최적화가 뛰어난 기업에서는 GPU 를 사용해서 Inference 제품을 내놓겠죠. 

결국 이 3가지의 Accelerator 는 일단은 5년 뒤에도 계속 존재할 것 같습니다.

굳이 AI Inference 시장의 점유율 순위를 예상하자면, NPU > GPU > FPGA 가 되지 않을까 생각이 듭니다. 

여러분들의 생각은 어떠신가요? 오늘 준비한 내용은 끝났습니다.

그럼 다음시간에 뵈요~

반응형