컴파일된 AI 그래프 보면 op 두 개가 보여
Triton 커널, XLA HLO dump, PyTorch torch.compile 출력 열어서 ops 훑어. Convolution, attention, MLP, RNN, GNN — 학습 layer 전부 결국 두 primitive 조합으로 분해돼:
| Primitive | 수학 | 실제로 보이는 곳 |
|---|---|---|
| Dot Product | y = Σ xᵢ · wᵢ | Attention score, vector search의 cosine similarity, neuron 하나의 출력 |
| Matrix Multiply (GEMM) | C = α·A·B + β·C | Dense / Linear layer, Q-K-V projection, MLP block, batched embedding lookup |
Convolution은 im2col이나 implicit-gemm 거쳐서 GEMM이 돼. Softmax는 element-wise 수학 + reduction. LayerNorm은 reduction 둘 + element-wise scale. '진짜' compute, FLOP 90% 들어가는 부분은 GEMM이야.
그래서 하드웨어 vendor랑 라이브러리 저자들이 모양 하나에 수십 년을 쏟아부어 — 빠른 GEMM. NVIDIA Tensor Core, Apple matrix coprocessor, M1+ AMX, AMD Matrix Core. 다 GPU에 박힌 더 큰, 더 빠른 GEMM 가속기야.
이거 내재화하면 모델 디자인이 달라져. '헤드 더 추가할까?' 가 'GEMM 모양이 어떻게 바뀌지?' 가 돼. Padding, batching, hidden-size 선택 — 다 GEMM 라이브러리가 깔끔하게 vectorize할 수 있는 모양 먹이고 있느냐로 무너져.