티스토리 뷰

Study/AI

[ETC] Inference를 위한 Single Board Computer

생각많은 소심남 2019. 3. 7. 16:26

 일하다 보니까, 딥러닝이나 강화학습으로 학습된 모델을 현장같은 데에서도 사용해야 할 경우가 생긴다. 물론 현장에다 고성능 서버를 갖다놓을 수는 없으니, 그래도 경량화된 Single Board Computer(SBC)가 필요할텐데, 요새는 이런 SBC의 성능도 많이 좋아져서 예전보다는 선택의 여지가 넓어진거 같다. 아무튼 몇가지 survey한 결과를 공유해보고자 한다.
(참고 : 시중에서는 Tensor 연산을 가속화하는 장치를 Neural Processing Unit(NPU), Tensor Processing Unit(TPU) 라고 표현되는 것 같은데, 여기서는 TPU라고 통칭하고자 한다. 이에 대한 또다른 표현은 여기를 참고하면 좋을거 같다.)

형태

 - TPU-alone

  : 사실 이건 SBC라고 보긴 어려운 부분이 있지만, 나름 학습을 가속화하기 위한 SoC이기에 범주에 넣었다.
   ex) Movidius Myriad, Google Edge TPU, Firefly NCC S1, etc.

 - SBC-alone (integrated GPU or integrated TPU)

   : 독립적인 컴퓨터로 기타 I/O만 있으면 작업 가능. raspberry pi와 같은 ARM 계열이 많았지만, 최근엔 x86계열 보드도 많이 나온다. 특히 PCI-E 버스를 지원하는 SBC의 경우 External GPU도 설치하여 연산에 활용할 수 있다.
   ex) Raspberry PI, Nvidia Jetson series, Udoo Bolt V8, Up AI Edge, Firefly RK3399, 

  - SBC에서 TPU의 type을 지원한다면 같이 결합해서 사용할 수 있다. 예를 들어 Movidius Neural Computing Stick은 USB type으로 되어 있기 때문에 Raspberry PI에 꽂아서 학습 및 inference에 사용하는 케이스도 있으며, 최근 나오고 있는 Movidius Myriad X는 M.2 형태로 되어 있기 때문에 해당 슬롯을 지원하는 노트북이나 desktop에서도 Tensor 연산 가속기능을 지원받을 수 있다. 이 밖에도 Google Edge TPU 자체 개발 보드(coral dev board)로도 나와있지만, USB형태로도 나온 것이 있어 해당 슬롯을 지원하는 디바이스는 사용 가능하다.

제품 특성

 Movidius Myriad X

 Google Edge TPU

 Firefly NCC S1

 Raspberry PI 3B+

 Nvidia Jetson AGX Xavier

 Lattepanda alpha

 Udoo Bolt V8

 Up AI Edge


(작성중)

  

댓글