용어집 · 신경망 추론의 메모리 트래픽 — 학습서

B

bottleneck 블록 / inverted residual
MobileNet-v2의 기본 블록. 좁은 채널을 넓혔다가 다시 좁히는 expand·depthwise·project 세 단계.
byte / 자료형(dtype)
숫자 하나가 메모리에서 차지하는 바이트. FP32는 4 byte, FP16은 2 byte, INT8은 1 byte.

C

compute-bound(연산 한계)
연산강도가 ridge보다 높아 연산이 병목인 영역.

D

depthwise(채널별 합성곱)
채널마다 독립 커널 하나를 적용하는 합성곱. 채널을 못 줄이고 재사용이 없어 연산강도가 바닥. , 05.2

E

expand(확장)
1×1 합성곱으로 채널을 t배 부풀리는 단계. 트래픽 증가의 원인. , 03.1

I

INT8 양자화
숫자를 8비트로 저장해 트래픽을 4분의 1로 줄이는 방법. 연산강도가 4배가 된다.

M

MAC(multiply-accumulate)
곱셈 하나와 덧셈 하나를 묶은 단위. 신경망 연산량을 세는 기본 단위.
memory-bound(대역폭 한계)
연산강도가 ridge보다 낮아 대역폭이 병목인 영역. MobileNet-v2가 여기 속한다.

O

operator fusion(연산 융합)
여러 단계를 한 커널로 묶어 중간 텐서를 외부 메모리에 안 내리는 최적화.

P

project / linear bottleneck
채널을 다시 좁히는 1×1 합성곱. 활성함수를 붙이지 않는다. 트래픽 회계에는 영향 없다. , 03.2

R

roofline(대역폭-연산 한계선)
P = min(π, β·I)로 달성 성능을 보는 모델. 연산 천장 π와 대역폭 천장 β가 있다.

S

skip add(지름길 덧셈)
stride 1이고 입출력 채널이 같을 때 입력을 출력에 더하는 연결.

가중치(weight)
학습으로 정해진 파라미터. 크기는 채널 수와 커널 크기가 정하고, 입력·batch와 무관하다.

메모리 트래픽(memory traffic)
추론 한 번에 메모리와 연산기 사이를 오가는 바이트 총합. 한 레이어 기준으로 가중치 읽기 + 입력 활성값 읽기 + 출력 활성값 쓰기.

변곡점(ridge)
두 천장이 만나는 점의 연산강도 I = π/β. compute-bound와 memory-bound를 가르는 경계.

연산강도(arithmetic intensity)
일 W를 트래픽 Q로 나눈 값 I = W/Q [MAC/byte]. 바이트당 연산 횟수.

재사용(reuse)
메모리에서 한 번 읽은 숫자로 연산을 몇 번 하나. 표준 합성곱은 높고, depthwise는 낮다.

확장계수(expansion factor) t
expand가 채널을 몇 배로 키우나. MobileNet-v2 주 실험은 t=6.

활성값(activation, feature map)
레이어 사이를 흐르는 중간 텐서. 크기는 모델 구조에 더해 입력 해상도와 batch가 정한다.