PIM vs NPU

"PIM vs NPU"

딥러닝/신경망 연산 : 선형 연산(MAC) + 비선형 함수
수많은 데이터를 입력 받아 가중치를 곱하고 더하는 과정을 반복하여 최적의 결과 값을 도출
선형 함수만 쓸 경우 어떻게 계산해도 선형 = 복잡한 표현 능력이 제한
∴ 비선형 함수를 사용하여 복잡한 곡선 형태의 경계선을 만들고 이를 통해 복잡한 데이터 패턴을 학습한다.
→ Sigmoid : 출력을 0~1 사이로 제한 (S자 곡선)
→ Tanh : 출력을 -1~1 사이로 제한 (원점 중심 S자 곡선)
→ ReLU : 0보다 작으면 0, 크면 그대로 출력 (0에서 꺾이는 직선)
→ Softmax : 여러 출력값의 합을 1로 만들어 확률로 해석
DNN, CNN 등이 이러한 연산을 수행하는 대표적인 모델 구조

DNN(Deep Neural Network) : Y = WX + b
→ FC(Fully Connected) 위주
→ 모든 입력 Node가 모든 출력 Node와 연결
→ 대규모 행렬-벡터 / 행렬-행렬 곱
→ 메모리 접근량↑
→ MLP, Transformer의 FFN

CNN(Convolutional Neural Network) : Y(h, w) = ∑ W(c, i, j) · X(c, h+i, w+j)
→ 이미지 처리에 특화
→ 합성곱(Convolution) 기반
→ 지역적 연결 + 가중치 공유
→ Sliding Window 형태의 MAC 반복
→ 데이터 재사용률이 높음
→ ResNet, VGG, MobileNet

PIM(Processing-In-Memory)
폰 노이만 구조는 연산 위치와 데이터 저장 위치가 달라 데이터를 이동해야 하는데 이때 큰 전력 소모
∴ 데이터가 위치하는 메모리에서 연산을 수행하여 전력 효율을 높임
→ 주로 단순 연산에 적합 & 병렬성↑
→ 잘하는 일 : 벡터/행렬 연산, 누적합, MAC 연산, 대규모 AI 추론

NPU(Neural Processing Unit)
AI 연산 전용으로 설계된 독립 가속기로 CPU/GPU처럼 독립적인 Processor
→ 고성능·고효율 & 신경망 연산에 최적화
→ 잘하는 일 : CNN, Transformer, 이미지/음성 인식, 생성 AI 추론

댓글

이 블로그의 인기 게시물

[Mini-NPU RTL] NN Reference Model

[Mini-NPU RTL] TPU (Study Paper)