본문 바로가기

Hardware

Neural Compute Stick

728x90


몇 년전 부터 기업들에서 AI 부분에 많은 투자가 이뤄지고 있습니다


기존에 AI의 복잡한 연산을 처리하는 방안으로 GPU 자원을 사용하는 방법이 널리 사용되었고 현재에 와서도 이 방식은 유효합니다


더불어 최근에는 AI의 연산 처리에 최적화된 NPU(Neural Processing Unit) 하드웨어가 적극 도입되고 있습니다


이미 다수의 스마트폰 제조사들이 사용하는 AP에는 NPU를 포함하고 있습니다 


그 대표적인 예가 퀄컴의 스냅드래곤과 화웨이의 기린 시리즈들을 들어 볼 수 있습니다

최근에 발표된 삼성전자의 엑시노스 모델에도 NPU의 포함을 알리고 있습니다


NPU는 Deep Neural Network 수행에만 최적화된 연산을 위한 프로세서이고 보통 TOPS라는 수치로 그 성능치를 나타냅니다

(TOPS는 Trillion Operations Per Sencond로 초당 1조번의 연산을 수행하는 것을 나타냅니다)


Deep Neural Network 수행에는 대부분 Convolution과 Matrix-Vector multiplied 연산이 소모한다고 합니다 따라서 보통 이와 같은 특정 연산처리에 NPU의 포커스가 맞추어지게 됩니다


NPU를 사용하는 목적이야 다양하지만 보통 CNN (Convolutional Neural Network) 이라 불리우는 이미지를 통해 이미지에 포함된 사물을 분류하는 기능을 많이 사용하게 됩니다


이러한 CNN은 Convolutional 계층에서 입력된 이미지의 특징을 추출하고 추출된 특징으로 기존의 Neural Network를 사용하여 분류를 하는 특징을 갖게 됩니다


이러한 CNN 방식의 구현에 있어 Neural Network의 설계라던가 그밖의 여러가지가 고려될수 있으며 이러한 차이점으로 CNN방식을 사용한다 하더라도 이미지에서 정확한 인식율의 차이가 발생하게 됩니다


그래서 매년 http://image-net.org 에서 자신들이 제시하는 그림을 누가 잘 인식하는지에 대한 대회를 개최하는데 1000만장의 이미지를 학습한 뒤 그중 15만장의 이미지를 인식하였을때의 정답률로 자신들이 작성한 모델의 우수성을 알리고 있다고 합니다

(현재는 http://kaggle.com 에서 개최)


그렇게 우승을 하거나 유명해진 CNN 모델로 ResNet, VGG16, VGG19, InceptionV3 등이 있으며 NPU들도 이러한 CNN모델 연산에 대한 지원이 기본적인 사양이 되고 있습니다


최근에는 이러한 NPU가 USB포트에 연결하는 방식의 제품도 나오고 있으며


그 대표적인 예가 Intel Movidius Myriad X 가 있습니다 


이미 1세대 제품을 거쳐 2세대 제품으로 출시되었으며 Movidius의 SDK에서는 대표적인 딥러닝 프레임워크인 Caffe와 Tensorflow를 지원하며 각 프레임워크에서 유명한 CNN모델을 Movidius는 지원하고 있습니다  지원한다는 의미는 하드웨어적인 자원을 활용하여 가속할수 있다는 의미이기도 합니다

Movidius는 학습을 위한 자원보다는 추론에서 분류의 부분에 그 자원을 사용합니다.


Movidius는 동일한 조건에서 사용과 미사용간 4~5배 정도 성능 차이를 보인다고 합니다 Movidius 가 소모하는 전력이 1W정도인 것을 고려하면 꽤나 큰 차이라고 볼 수 있습니다

Movidius의 연산 성능은 1W에서 1 TOPS 라고 합니다


또 하나의 회사로 gyrfalcon technology Lightspeeur 2801S의 NPU가 있으며

현재 개발보드를 제조하는 Orange pi 업체에서 Orange Pi Ai Stick이란 제품에 해당 NPU가 적용되어 판매 되고 있습니다

이 하드웨어의 경우는 무려 0.3W에서 2.8 TOPS의 성능을 가지고 있다고 합니다


이와 같은 USB에 연결하는 타입의 NPU를 가지고 NPU가 포함되지 않는 사양의 하드웨어에서도 높은 수준의 추론을 진행할수 있는 것이 가능할수 있게 됩니다











 

728x90