시리즈

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

작은 모델이 칩에서 느릴 때가 있다. 파라미터가 적고 곱셈 횟수도 적은데 왜 그럴까. 답은 연산이 아니라 메모리에 있다. 추론 한 번에 메모리와 연산기 사이를 오가는 바이트, 곧 메모리 트래픽이 속도를 정하는 경우가 많기 때문이다.

이 책은 그 메모리 트래픽을 처음부터 세 가지 질문을 따라 풀어 나간다.

  1. 메모리 트래픽이란 무엇이고 무엇이 그 크기를 정하나.
  2. inverted residual 블록에서는 왜 트래픽이 늘어나나.
  3. 파라미터 수와 메모리 트래픽은 왜 별개인가.

기준 예시는 모바일용 합성곱 신경망 MobileNet-v2다. 추상적인 정의로 끝내지 않고, 이 모델의 실제 레이어를 한 바이트씩 세어 가며 답을 확인한다.

읽는 순서

00장부터 06장까지 차례로 읽으면 된다. 앞 장이 뒷 장의 어휘와 수치를 깔아 두므로 건너뛰지 않기를 권한다.

00

01

02 / 02a

03

04

05

06

00 기초 어휘 → 01 한 레이어 세기 → 02 MobileNet-v2 분해 → 03 확장과 트래픽 → 04 파라미터 대 트래픽 → 05 roofline과 실무 → 06 결론.

  • 00-foundations.md — byte와 자료형, 가중치와 활성값, 메모리 트래픽, 재사용, 연산강도, roofline. 책 전체의 어휘.
  • 01-counting-traffic.md — 한 레이어의 트래픽을 세는 법. 작은 예제로 세 항을 직접 더한다.
  • 02-mobilenetv2-worked-example.md — MobileNet-v2의 두 블록을 완전 분해하고 전체 66 MB를 쌓아 본다.
  • 03-inverted-residual-why-traffic-grows.md — 확장이 트래픽을 키우는 메커니즘. 확장한 경로와 안 한 경로를 수치로 맞댄다.
  • 04-params-vs-traffic.md — 파라미터가 적은데 트래픽이 큰 사례, 그리고 batch를 키울 때 무엇이 변하나.
  • 05-roofline-and-practice.md — 모델이 roofline 위 어디에 앉는지, INT8과 depthwise가 왜 그렇게 되는지, 실무에서 트래픽이 줄어드는 경계.
  • 06-conclusion.md — 세 질문에 대한 최종 답과 실무 정리. 결론은 이 장에 모았다.
  • GLOSSARY.md — 용어 색인. 각 용어가 처음 정의된 절로 잇는다.

세 질문의 답만 빠르게 보고 싶다면 06장으로 가도 된다. 다만 그 답을 떠받치는 수치와 과정은 02~05장에 있다.

노드를 눌러 해당 챕터로 이동할 수 있습니다. 읽은 챕터는 표시됩니다.
광고 · Advertisements

챕터 한눈표