위 화면의 fibers 숫자는 장식이 아니라 층 크기의 곱을 더한 값입니다. 층과 층 사이는 모든 쌍이 이어지기 때문입니다.
이 제곱이 신경망 이야기의 전부입니다. 파라미터 수가 노드 수가 아니라 연결 수이고, 학습이란 그 연결마다 붙은 숫자를 조금씩 고치는 일입니다. 층 하나를 두 배 넓히면 계산도 메모리도 네 배가 되는 것 — 그래서 아래 사진의 판 한 장에 칩을 넷씩 붙이고, 그 판을 다시 수천 장 잇습니다.
위 식은 추상적으로 보이지만, 지난 10년의 신경망 크기는 정확히 저 곱셈이 쌓인 결과입니다. 아래는 공표된 파라미터 수 — 즉 연결마다 붙은 숫자의 개수입니다.
| 망 | 해 | 파라미터 | 알아 둘 것 |
|---|---|---|---|
| AlexNet | 2012 | 약 6,000만 | GPU로 학습해 이미지 대회를 뒤집은 망. 여기서 시대가 갈린다 |
| VGG-16 | 2014 | 약 1억 3,800만 | 층을 깊게만 쌓았더니 연결이 폭발했다 |
| ResNet-50 | 2015 | 약 2,500만 | ★더 깊은데 파라미터는 1/5 — 층을 건너뛰는 연결과 좁은 병목을 넣어 “모든 쌍을 다 잇지 않는” 쪽으로 설계를 바꿨다 |
| GPT-2 | 2019 | 15억 | 그림에서 글로 옮겨 오며 자릿수가 바뀐다 |
| GPT-3 | 2020 | 1,750억 | AlexNet의 약 2,900배 — 8년 만에 |
가운데 줄이 이 표에서 가장 중요합니다. ResNet-50은 VGG-16보다 깊은데 파라미터가 1/5입니다. 위 화면처럼 모든 쌍을 다 잇는 층을 그대로 키우면 연결이 제곱으로 늘지만, 실제 설계는 그 제곱을 피하는 방향으로 갔습니다 — 건너뛰는 연결, 좁은 병목, 그리고 나중에는 필요한 곳만 보는 주의(attention) 구조로.
그러니 “망이 커졌다”는 말은 층을 무작정 넓혔다는 뜻이 아닙니다. 제곱을 피하는 법을 찾은 만큼 더 크게 키울 수 있었다는 뜻입니다. 위 화면의 fibers 숫자가 층을 조금만 키워도 튀어 오르는 것을 보면, 왜 설계자들이 그 제곱을 피하려 애썼는지가 눈으로 보입니다.
파라미터 수는 구현과 버전에 따라 조금씩 다르게 셉니다 — 여기 값은 각 논문과 표준 구현에서 널리 인용되는 수치입니다. LeNet 처럼 구성에 따라 크게 갈리는 것은 넣지 않았습니다.
기준일을 100으로 놓고 그린 선입니다. 통화가 서로 달라 지수로 겹쳤습니다.
위 화면은 층과 연결을 실시간으로 계산해 그린 것입니다. 그 계산이 실제로 어디서 벌어지는지, 라이선스가 확인되는 사진으로 짚습니다.
구글 TPU v4 보드입니다. 은색 방열판이 덮인 큰 덩어리 네 개가 가속기이고, 각 덩어리는 연산 칩 하나에 메모리 더미(HBM)가 붙어 있는 묶음입니다. 위 화면에서 층과 층을 잇는 그 곱셈들이 여기서 실행됩니다.
사진에서 눈에 먼저 들어오는 건 계산 장치가 아니라 색색의 호스입니다 — 액체 냉각이고, 넷을 지나 오른쪽 금속 배관으로 모입니다. 판의 상당 부분이 식히는 데 쓰입니다. 이 판을 키우는 걸 막는 건 수학이 아니라 열입니다.
★위 그림이 이 칩의 내부를 그린 건 아닙니다. 화면의 격자는 신경망의 구조를 보여주는 것이고, 이 사진은 그 구조가 돌아가는 물건입니다. 둘은 다른 층위입니다.