컴퓨터/Etc

Neural Processor (NPU)

xeskin 2020. 7. 30. 14:01
반응형

뉴럴 프로세서는 머신러닝 알고리즘을 실행하는데 필요한 control이나 arithmetic logic을 갖고 있는 특화된 프로세서다. 종종 tpu, nnp, ipu와 같은 이름으로도 불린다.

 

cnn같은 dnn을 실행하는건 보통 수십회의 iteration을 돌려야한다. 근데 특징은 반복되는 연산을 한다는 거. 가령 cnn의 연산량의 대부분을 차지하는 것은 convolution인데, 이는 규칙성을 갖고 있으니 이 점을 이용해 전용 뉴럴 프로세서를 개발한다.

 

대개 systolic array를 사용한다. 이는 convolution의 연산결과가 어차피 다음 레이어에서도 쓰일 것이니 이걸 메모리에 저장하지 않고 systolic array라는 임시 저장 장치에 넣어두고 계산할 때마다 바로바로 쓰면 메모리 접근 횟수를 줄일 수도 있고 시간/에너지 절약할 수 있을 것이다.

 

훈련/추론 용도에 따라 설계가 달라진다.

 

많은 회사들이 npu 개발에 뛰어들고 있다. 국내에서는 퓨리오사AI라는 펩리스 스타트업이 이를 개발하고 있다. 작년 이맘때부터 보고 있던 회사다.

반응형