비슷해 보이지만 다른 두 axis
Width (layer 당 hidden unit 더) 는 각 abstraction level 에서 network 가 병렬로 계산할 수 있는 feature 수를 늘려. Depth (더 많은 layer) 는 단순 feature 에서 복잡한 feature 를 만드는 compositional step 수를 늘려.
Universal approximation theorem 은 충분한 width 의 single hidden layer 로 모든 continuous function 을 근사할 수 있다고 말해. 실전에서 hierarchical structure 있는 문제 (vision, text, code) 에는 depth 가 width 보다 exponentially parameter-efficient. 같은 parameter count 의 deep net 이 wide-and-shallow net 을 자주 이겨.
Gotcha: Deep net 은 자기 train 안 해
Modern toolbox 도착 전엔 50 layer 를 naively 쌓으면 network 가 나빠지고, 안 좋아져. Vanishing gradient, dead neuron, unstable activation 이 다 training 죽여. ResNet, batch normalization, careful initialization, skip connection 이 다 있는 이유 — depth 가 보답하게 만들기 위해서.
Width 도 자기 gotcha 가 있어 — VRAM 이 attention 의 hidden dimension 제곱으로, MLP layer 의 hidden dimension 선형으로 자라. 4096-wide layer 는 feasible, 16384-wide 는 single H100 에서도 자주 안 됨.
실전에서 어디가 중요한가
연구와 진지한 production 에는 scaling law (더 많은 parameter, 더 많은 token) 가 알려진 곡선 따라 reliably loss 줄여. 학습자에게 올바른 수: published architecture 와 parameter count 골라서 다루기 쉬운 문제에 train, 그 다음 width 와 depth 를 한 knob 씩 실험.