TL;DR — 이 챕터의 조각들은 신경망 한 층의 식 안에서 모두 만납니다 — 데이터를 배치로 쌓아 곱하고, 편향은 broadcasting으로 얹고, rank로 가볍게 만들고, 수치 안정성으로 지켜 냅니다. 그리고 그 곱셈의 칸들이 서로 독립이기 때문에 수천 갈래로 나눠 계산할 수 있습니다.
왜 배우나요? — 이 챕터에서 배운 행렬곱·전치·broadcasting·수치 안정성이 관념이 아니라 실제 학습 코드의 부품이었음을 확인하는 마무리입니다.
AI 어디에 쓰이나요? — 챗봇이 다음 단어를 고르는 것도, 모델이 고양이를 알아보는 것도 딥러닝 모델의 알맹이는 '행렬곱 → 비선형 → 행렬곱'의 반복입니다. 그 곱셈을 수천 갈래로 처리하는 하드웨어가 GPU입니다.
딥러닝은 행렬곱 기계
이제 이 챕터의 조각들을 한 그림으로 모을 차례입니다. 결론부터 말하면 — 딥러닝은 행렬곱 기계입니다. 챗봇이 다음 단어를 고르는 것도, 모델이 사진 속 고양이를 알아보는 것도, 계산의 알맹이를 열어 보면 '행렬곱 → 간단한 비선형 함수 → 다시 행렬곱'의 반복입니다. 우리가 이 챕터에서 배운 행렬곱·전치·broadcasting·수치 안정성이 관념이 아니라 실제 학습 코드의 부품이었다는 뜻입니다.
규모의 감각을 잡아 봅시다. 흔히 말하는 '파라미터 70억 개짜리 모델'에서 파라미터란 대부분 가중치 행렬들의 칸을 채운 숫자입니다. 수천 수천짜리 행렬 하나에 수백만개~수천만개의 숫자가 들어가고, 그런 행렬이 층마다 여러 개씩, 수십 개 층에 쌓입니다. 문장 하나를 처리한다는 건 이 행렬들과의 곱셈을 처음부터 끝까지 통과시킨다는 것 — 수십억 번의 곱하고-더하기가 순식간에 일어납니다.
: 입력 배치 (샘플 특성)
: 각 층의 가중치 행렬
: 비선형 함수(예: ReLU)
한 층 = 행렬곱 하나 + 비선형 함수 하나, 층을 쌓으면 곱셈의 연쇄
곱하고-누르고-곱하고의 반복
왜 GPU인가 — 곱셈은 서로를 기다리지 않는다
그럼 이 어마어마한 곱셈을 어떻게 감당할까요? 결과 행렬의 여러 칸은 서로 다른 행·열 쌍에서 시작하므로 많은 부분을 병렬로 나눌 수 있습니다. 다만 각 칸 안에는 곱한 값을 더하는 reduction이 있고, 실제 실행은 타일·메모리 이동·동기화를 거칩니다.
CPU도 멀티코어와 SIMD로 병렬 처리합니다. GPU의 장점은 CPU가 완전히 순차라서가 아니라, 큰 동일 연산을 더 많은 실행 유닛에 나눠 높은 처리량을 내도록 설계되었다는 데 있습니다. 작업이 작거나 데이터 이동이 크면 GPU가 항상 빠른 것도 아닙니다.
CPU와 GPU — 같은 행렬곱을 서로 다른 병렬 폭으로 처리
두 버튼은 같은 한 차례 동안 같은 픽셀 그림을 칠하는 개념 모형입니다. 물감총의 총구는 실행 유닛, 픽셀 묶음은 행렬곱 타일에 대응합니다. 실제 성능비를 나타내는 숫자 그림은 아닙니다.
[CPU 실행] 소수의 강한 총구가 그림의 좁은 구역을 함께 칠합니다. CPU도 멀티코어·SIMD로 여러 픽셀을 병렬 처리하므로 '한 칸씩만 계산한다'고 보면 안 됩니다.
[GPU 실행] 더 많은 총구가 같은 그림의 타일을 넓게 나눠 맡아 같은 시간 조각에 더 많은 부분을 진행합니다. 그러나 각 타일 안에는 곱셈과 reduction이 있고 여러 차례가 필요하므로, 물리적 한 발에 전체 계산이 끝나는 마법은 아닙니다. 충분히 큰 동일 연산에서 이 넓은 병렬 폭이 높은 처리량으로 이어집니다.
한 줄 정리 — 행렬곱의 칸들은 서로 독립이라 수천 갈래로 나눠 동시에 계산할 수 있고, 그것이 GPU가 가장 잘하는 일입니다.
챕터의 조각들이 제자리를 찾는다
이제 이 챕터에서 배운 조각들이 실제 딥러닝 계산 안에서 어떻게 만나는지 보겠습니다. 신경망의 한 층은 보통 이렇게 계산됩니다.
신경망 한 층의 계산 — 입력 배치 × 가중치 + 편향
출력 = 입력 × 가중치 + 편향
여기서 는 여러 데이터를 행으로 쌓은 입력 배치이고, 는 가중치 행렬이며, 는 편향입니다. 겉으로는 짧은 식 하나지만, 이 안에 우리가 배운 개념들이 거의 다 들어 있습니다.
먼저 배치 처리입니다. 데이터를 하나씩 넣으면 GPU의 수많은 연산 유닛 대부분이 놀게 됩니다. 그래서 입력 여러 개를 행으로 쌓아 라는 큰 행렬로 만들고, 를 한 번에 계산합니다. 이렇게 하면 수십~수백 개 데이터가 반복문 없이 동시에 지나가고, GPU의 병렬성이 제대로 살아납니다.
다음은 broadcasting입니다. 의 결과는 배치 크기만큼 여러 행을 갖습니다. 그런데 편향 는 보통 한 줄짜리 벡터입니다. 이때 를 각 행마다 직접 복사하지 않아도, NumPy나 PyTorch가 배치 전체에 자동으로 맞춰 더해 줍니다. 이것이 broadcasting입니다. 즉 실제 층에서는 뒤에 가 배치 전체에 자연스럽게 퍼져 더해집니다.
rank도 여기서 이어집니다. 거대한 가중치 행렬 를 그대로 쓰는 대신, 더 날씬한 두 행렬의 곱으로 나누어 표현하면 계산량과 저장 공간을 줄일 수 있습니다. LoRA 같은 경량화 기법이 바로 이 관점을 사용합니다. 큰 행렬 전체를 다시 학습하지 않고, 낮은 rank의 작은 변화만 학습하는 식입니다.
마지막으로 수치 안정성입니다. 딥러닝은 이런 행렬곱을 한두 번 하는 것이 아니라 수많은 층과 수많은 배치에 대해 반복합니다. 게다가 GPU에서는 속도와 메모리를 위해 fp16이나 bf16 같은 낮은 정밀도를 자주 씁니다. 계산은 빨라지고 메모리는 줄지만, 숫자를 표현하는 칸이 좁아지는 만큼 오차와 overflow에 더 민감해집니다.
그래서 softmax에서는 log-sum-exp 트릭으로 exp가 터지지 않게 만들고, mixed precision 학습에서는 loss scaling처럼 작은 gradient가 사라지지 않도록 돕는 장치를 함께 씁니다. 앞에서 배운 부동소수점 오차, condition number, 수치 안정성은 이론적인 주제가 아니라, 실제 GPU 위에서 모델을 안정적으로 학습시키기 위한 실무 언어입니다.
이 챕터를 한 문장으로
그러니 이 챕터를 이렇게 기억합시다. 행렬곱은 딥러닝의 엔진, broadcasting은 그 엔진에 데이터를 먹이는 문법, 수치 안정성과 condition number는 엔진이 폭발하지 않게 하는 안전장치입니다. 그리고 이 모든 곱셈-덧셈을 수천 갈래로 동시에 처리하는 하드웨어가 GPU죠.
지금까지는 '이미 학습된 모델이 계산을 어떻게 하는가'를 봤습니다. 다음 챕터에서 미분이 더해지면 '이 가중치 숫자들을 어떻게 좋은 값으로 맞춰 가는가', 즉 모델을 학습시키는 방법이 완성됩니다. 행렬곱 기계에 시동을 거는 열쇠가 미분인 셈입니다.
참고하기
요즘 AI 연산은 GPU만으로 끝나지 않습니다. 핵심은 모두 같습니다. 딥러닝은 결국 거대한 행렬곱, 벡터 연산, 메모리 이동을 엄청나게 반복하는 일이기 때문에, 하드웨어도 이 계산을 더 빠르고 덜 뜨겁게 처리하도록 점점 특화되고 있습니다.
GPU : 원래 그래픽 처리를 위해 만들어졌지만, 수천 개의 작은 코어로 행렬곱을 병렬 처리하기 좋아 딥러닝 학습과 추론의 표준 장비가 되었습니다. NVIDIA Blackwell 같은 최신 GPU는 대규모 LLM 학습과 추론을 위한 대표적인 AI 가속기입니다.
TPU : Google이 만든 Tensor Processing Unit입니다. 이름 그대로 텐서 연산, 특히 대규모 행렬곱과 딥러닝 학습/추론에 특화된 칩입니다. Google Cloud 기준으로 Trillium, Ironwood 같은 세대가 있고, PyTorch/JAX 기반 워크로드도 지원합니다.
NPU : Neural Processing Unit입니다. 스마트폰, 노트북, 엣지 기기에서 AI 모델을 전력 적게 돌리기 위한 칩입니다. Apple Neural Engine, Qualcomm Hexagon NPU, Intel/AMD의 AI PC용 NPU가 여기에 들어갑니다. 대형 모델 학습보다는 온디바이스 추론에 가깝습니다.
LPU : Groq이 쓰는 Language Processing Unit이라는 이름입니다. 범용 표준 용어라기보다는 Groq의 AI 추론 칩 브랜드에 가깝습니다. LLM 응답을 낮은 지연시간으로 빠르게 생성하는 데 초점을 둡니다.
IPU : Graphcore의 Intelligence Processing Unit입니다. 많은 작은 코어와 큰 온칩 메모리를 사용해 AI 계산 그래프를 세밀하게 병렬 처리하려는 구조입니다. GPU와 다른 방식의 AI 전용 가속기라고 보면 됩니다.
DPU : Data Processing Unit입니다. 직접 행렬곱을 많이 하는 칩이라기보다는, 데이터센터에서 네트워크, 저장장치, 보안, 데이터 이동을 CPU 대신 처리해 GPU가 계산에 더 집중하게 도와주는 칩입니다. AI 서버에서는 “계산 칩”보다 “데이터 흐름을 관리하는 칩”에 가깝습니다.
QPU : Quantum Processing Unit입니다. 양자컴퓨터의 연산 장치입니다. 현재 일반적인 딥러닝 학습을 GPU처럼 대체하는 장비라기보다는, 최적화, 양자 시뮬레이션, 특정 알고리즘 연구 쪽에 가깝습니다.