덧셈 연산과 비교했을 때, 곱셈 연산은 여러 번의 덧셈과 시프트 연산을 포함하기 때문에 더 복잡한 회로, 더 높은 연산 시간과 에너지 소비를 가진다.
ADDER Algorithm : Carry-Lookahead Adder, Carry-Select Adder, Carry-Skip Adder
CPU(중앙 처리 장치)는 다양한 구성 요소로 이루어져 있으며, 그 중 ALU는 산술 연산(덧셈, 뺄셈 등)과 논리 연산(AND, OR, XOR 등)을 수행하는 장치이다. ALU는 CPU에서 계산을 담당하는 중요한 요소이
salmon1113.tistory.com
Multiplier Algorithm : Array Multiplier, Booth Multiplier, Wallace Tree Multiplier
0. 개요 Adder와 마찬가지로 Multiplier를 구현하는 방법은 결과값을 어떻게 병렬로 처리하느냐에 따라 결정된다. 모든 Multiplier는 세 단계를 거쳐 값을 구하게 된다. 1. 부분 곱 생성 (Generation of partia
salmon1113.tistory.com
Winograd Convolution은 곱셈을 최대한 덜 사용하고 덧셈을 최대한 더 사용하여 같은 Convolution 연산이라도 Area와 Performance를 늘리기 위해 제안된 방법이다.
기존의 Convolution 연산은 위와 같이 연산이 되어 6번의 곱셈, 4번의 덧셈을 거치게 된다.
Winograd 알고리즘에서는 같은 결과값을 얻는데 곱셈은 4번, 덧셈은 8번만 수행되는 것을 확인할 수 있다. 다음 예시를 살펴보면, Area와 Performance 효율성이 늘어나는 것을 확인할 수 있다.
- 이미지 크기: 128 × 128
- 채널: 64
- 필터 수: 64 → 128
- 필터 크기: 3 × 3
- Case 1: 기본 Convolution
- 곱셈 = 128 × 128 × 64 × 128 × ( 3 × 3 ) = 9.42 × 10^9
- 덧셈 = 곱셈과 유사하므로 약 9.42 × 10^9
- Case 2: Winograd Convolution
- 곱셈 = Winograd 𝐹(2,3) 적용 시, 약 2/3 줄어듦. 6.28 × 10^9
- 덧셈 = Winograd는 덧셈이 기존보다 약 2배 증가. 18.84 × 10^9
- 면적 비교
- 맨위 그래프를 통해 곱셈(MUL)이 덧셈(ADD)보다 7배 더 큰 면적을 차지한다고 가정
- 속도비교
- 곱셈(MUL)은 덧셈(ADD)보다 일반적으로 연산 비용이 4배 더 큰 것을 가정
'이론 공부 > AI HARDWARE' 카테고리의 다른 글
Output Layer에서는 Sigmoid, Softmax 함수 중 어떤 걸 사용해야 하는가? (0) | 2025.02.24 |
---|---|
Model Compression for DNN (0) | 2025.02.06 |
AI에서 HBM이 주목받고 있는 이유 (0) | 2025.02.06 |
CPU, GPU, TPU, AI 가속기 (FPGA, ASIC(NPU))에 관하여 (0) | 2025.02.06 |
CNN의 발전 과정, 대표적인 모델들에 대해 알아보자 (MNIST, LeNet, AlexNet, VGGNet, GoogLeNet, ResNet, DenseNet, ConvNeXt) (1) | 2025.02.06 |