AI-네이티브 시리즈 · 러닝 엔지니어링
2004년 가장 중요한 AI 논문, 그런데 AI라는 말은 한 번도 나오지 않는다
1분 요약 — 이 글에서 얻어갈 것
2004년, GPU는 이미 CPU를 힘으로 압도하고 있었다. 하지만 그걸 프로그래밍한다는 건 삼각형의 언어를 말한다는 뜻이었다. Brook for GPUs는 세 가지 추상화 — 스트림, 커널, 리덕션 — 으로 그 자물쇠를 땄고, 풀려난 창고는 CUDA(2006)가 되었으며, 이어서 게이밍 카드 두 장으로 돌린 AlexNet(2012), 그리고 AI 시대가 되었다. 이 이야기의 심상 모델은 이렇다: 잠자는 컴퓨팅 자원은 잠긴 문 뒤에 있고, 추상화가 곧 그 열쇠다. Sara Hooker의 "하드웨어 로터리"는 바로 이 규칙에 이름을 붙인 것이다. 당신의 도구들에도 잠긴 창고가 있다.

2004년, 스탠퍼드의 연구자 일곱 명이 그래픽카드에 관한 논문을 발표했다. 내가 대신 검색해봤다: 이 논문에는 "neural(신경망)", "artificial intelligence(인공지능)", "machine learning(머신러닝)", "deep learning(딥러닝)"이라는 단어가 정확히 단 한 번도 나오지 않는다. 그럼에도 이 논문은 내 프런티어 AI 읽기 목록에서 №2다 — AI를 실제로 언급하는 거의 모든 논문보다 앞자리에 있다 — 그리고 이 페이지를 다 읽고 나면, 이 논문이 그 자리를 차지할 자격이 있다는 데 당신도 동의하리라 생각한다.
마력은 가득한데, 문이 없는 창고
2004년 상황은 이랬다: 게이머의 PC에 꽂힌 그래픽 카드는 이미 옆자리 CPU보다 더 많은 순수 연산력을 뿜어내고 있었다. 그런데 그 힘은 전부 셰이더 어셈블리와 그래픽 API 뒤에 갇혀 있었다 — 이걸 쓰려면 자신의 수학 연산을 렌더링 작업으로 위장해야 했다. Brook 저자들은 이를 담백하게 밝혔다[1]:
아무도 시동을 걸 수 없는 엔진 창고를 상상해보라. 점화 장치가 삼각형 모양 열쇠만 받아들이기 때문이다. 이건 내가 색을 입히려고 지어낸 비유가 아니다 — 바로 이 논문이 존재하는 이유 그 자체다:
실리콘 자체가 아니다
① 잠긴 창고 — 더 높은 막대는 원래부터 거기 있었다; 가둔 문이 열리면 무슨 일이 벌어지는지 지켜보라
자물쇠를 딴 세 단어
Brook의 승부수는 더 빠른 하드웨어가 아니었다. 그것은 하나의 어휘였다. 초록에서 그대로 인용하면[1]:
그리고 기여 부분에서는[1]: "Through the use of streams, kernels and reduction operators, Brook abstracts the GPU as a streaming processor." (번역: 스트림, 커널, 리덕션 연산자의 사용을 통해 Brook은 GPU를 스트리밍 프로세서로 추상화한다.) A 스트림은 병렬 차선을 따라 흐르는 데이터이고, 커널은 흘러가는 모든 것에 적용되는 하나의 함수이며, 리덕션은 그 흐름을 접어 하나의 답으로 만든다. 이 세 단어로 표현할 수 있는 문제라면 — 행렬 곱셈은 이 언어를 유창하게 구사한다 — 삼각형이라는 단어를 한 번도 속삭이지 않고도 창고의 엔진 위에서 돌아간다. 같은 논문에 실린 증거: Brook 프로그램은"up to seven times faster than their CPU counterparts." (번역: CPU 대응 버전보다 최대 7배 빠르다.)[1] 이 그림은 진짜 잉크다 — 나는 이 논문 전체의 아이디어를 펜 캔버스에 직접 손으로 그렸고, 그 자체의 렌더러가 이를 출력했다:
② 같은 그림을 동적으로 — 파란 스트림 셋이 주황 스트림 하나로 합쳐진다; 커널은 움직이지 않는다, 움직이는 건 데이터다
이 논문이 당긴 도화선
실제 인물들을 따라가보자. Brook의 제1저자는 Ian Buck이다. 논문 발표 후 그는 NVIDIA로 갔다 — 거기서 CUDA를 만들었고, 오늘날 그 회사의 하이퍼스케일 및 HPC 컴퓨팅 사업을 이끌고 있다[2]. CUDA(2006)는 Brook의 어휘가 산업 규모로 자란 것이다. 6년 뒤, 대학원생 두 명이 게이밍 하드웨어로 신경망을 학습시켜 ImageNet에서 업계 전체를 무색하게 만든 격차로 우승했고, 논문을 AI 역사상 가장 의미심장한 어깨 으쓱임으로 끝맺었다 — 원문 그대로[3]:
다시 읽어보라: 딥러닝 시대를 연 이 논문은 하드웨어 업그레이드 요청으로 끝난다. 새로운 이론이 아니다. 더 영리한 사전 확률도 아니다. 더 빠른 GPU를 기다리는 것 — Brook이 8년 전, AI라는 말은 한 번도 꺼내지 않은 논문에서 열어젖힌 그 창고 속 엔진들 말이다.
Brook: 열쇠 2006
CUDA: 업계로 가는 문 2012
AlexNet: 게이밍 카드 두 장 오늘날
AI 시대의 임대료 청구서
③ 도화선 — "이제 그만 삼각형 좀 그리게 해줘"에서 조 단위 파라미터 학습 실행까지, 22년
그 밑바탕의 규칙, 내부자가 이름 붙이다
Sara Hooker(Google Brain, 이후 Cohere For AI 수장)는 2020년 이 패턴에 영구적인 이름을 붙였다. 그녀의 초록에서 원문 그대로[4]:
그녀의 논지는 양날의 검이며, 바로 그 점이 이를 슬로건이 아닌 내부자의 통찰로 만든다: 신경망 자체가 수십 년간 이 복권에서 졌던낡은 아이디어였다 — 필요한 하드웨어가 존재하지 않는 동안 실패작으로 낙인찍혔던 것이다. Brook과 CUDA는 단지 컴퓨팅을 빠르게 만든 게 아니라, 어떤 아이디어가 참이 될 수 있는지를 바꿔놓았다. 내 쓰라린 교훈(The Bitter Lesson) 관련 글을 읽었다면, 여기서 연결고리가 보일 것이다: Sutton은 연산을 타고 가는 일반적 방법이 결국 승리한다고 말한다 — Hooker는 그 세부 조항을 덧붙인다: 다만 누군가 일부러 풀어낸 그 연산에 한해서다. 쓰라린 교훈 (The Bitter Lesson)이 시대의 흐름에 이름을 붙였다면, Brook은 그 흐름이 들어올 항구를 만들었다.
④ 추상화의 사다리 — 각 단이 그 아래 단을 보이지 않게 만든다; 그 보이지 않음이야말로 성취다
패턴: 하드웨어·소프트웨어 공동 설계 — 능력이 사용성을 앞지를 때 가장 레버리지가 큰 작업은 다음 벤치마크가 아니라 추상화다. Brook의 저자들은 GPU를 더 빠르게 만들지 않았다; 그들은 그것을 말할 수 있게.
안티패턴: 자신의 문제를 하드웨어의 모국어로 표현하는 것 — 2004년에는 삼각형이었고, 오늘날에는 현재의 가속기가 보상하는 것에 맞춰 연구 아이디어를 억지로 뒤트는 일이다. 그것이 하드웨어 로터리의 어두운 면이다: 무엇을 생각해도 되는지를 창고가 결정한다.
메커니즘: 가상화. 스트림/커널/리덕션은 데이터 병렬성을 위한 최소 완전 언어를 이루고 있어서, 조건만 맞으면 어떤 문제든 — 2004년의 이미지 분할이든, 영원한 행렬 곱셈이든 — 실리콘 자체는 전혀 바뀌지 않은 채로 그래픽 실리콘 위에 사상된다.
이번 주에 당신의 잠긴 창고를 찾아보라 (SMART 파트)
구체성(Specific): 가지고 있지만 실제로는 다루지 못하는 연산 자원과 도구들을 목록화하라 — 데스크탑에서 놀고 있는 GPU, 돈은 내면서 한 달에 두 번밖에 호출하지 않는 API, 만든 사람 말고는 아무도 감히 손대지 못하는 에이전트 스택.실행 가능성(Actionable): 가장 큰 항목 하나를 골라 Brook식 문장을 써보라: "확장하라, [내가 이미 말할 줄 아는 것]을(를). 그래서 [잠겨 있던 능력]이 하나의 [내가 사고할 수 있는 명사]가 되도록." 그 문장이 곧 스펙이다. 측정 가능성: 승리의 기준은, 지난주엔 그것을 쓸 줄 몰랐던 누군가가 이번 주엔 그것으로 무언가를 출시하는 것이다 — Brook 자신의 기준은 그래픽 개발자가 아닌 사람이 코드를 7배 빠르게 돌리는 것이었다[1]. 기한 설정: 재고 조사는 저녁 한나절, 문장을 쓰는 데는 10분, 그리고 추상화 자체엔 한 분기가 걸린다. 관련성: Hooker의 로터리는 지금도 계속 돌아가고 있다 — 다음 AlexNet은 바로 지금, 누군가의 삼각형 모양 점화 장치 뒤에 갇혀 있다.
이 페이지는 이렇게 만들어졌다 (제작 근거, 간략히)
내 allin-anything 라우터에 보낸 한 문장: "learn the Brook for GPUs paper deeply, with an animation for each key idea, and sketch its stream-through-kernel pipeline by hand." 세 기관이 응답했고, 각각 신뢰를 얻기 전에 자체 테스트 스위트를 모두 통과했다 — 티치백 루프, 애니메이션 제작 린터, 그리고 위의 잉크 그림을 만들어낸 자체 익스포터를 갖춘 penecho 캔버스(핀 고정된 커밋 기준 200개 테스트)가 그것이다. 여기 실린 모든 인용문은 원출처에서 가져와 한 글자씩 대조해 확인했다. 이 체인이 멈춘 곳은 기계의 소관이 아닌 단 하나의 단계였다: 발행 버튼을 누른 것, 그건 나였다. 증빙 자료 — 종료 코드, 핀 고정된 커밋, 실행 저널 — 는 레포에 있다[5].
참고 문헌 (각 링크는 발행 시점에 검증됨)
- Buck, I., Foley, T., Horn, D., Sugerman, J., Fatahalian, K., Houston, M. & Hanrahan, P. (2004). Brook for GPUs: Stream Computing on Graphics Hardware. SIGGRAPH 2004 — 모든 인용문은 발행 시점에 가져와 대조한 PDF 원문 그대로임; 프로젝트 페이지: graphics.stanford.edu/projects/brookgpu.
- NVIDIA 뉴스룸. Ian Buck — 약력 — Brook의 제1저자; CUDA의 창시자; VP, Hyperscale and HPC Computing 담당.
- Krizhevsky, A., Sutskever, I. & Hinton, G. (2012). ImageNet Classification with Deep Convolutional Neural Networks. NeurIPS — "two GTX 580 3GB GPUs" 및 "waiting for faster GPUs" 문구는 PDF 원문 그대로임.
- Hooker, S. (2020). The Hardware Lottery. arXiv:2009.06489 — 정의는 초록에서 원문 그대로 인용.
- 이 실행의 영수증 — 라우터 판정, 각 기관의 테스트 통과 수, 종료 코드, AutoRunner 저널 —
github.com/wjlgatech/allin-anything
에 있음 (안내 문서: article-to-animated-understanding); 라이브 데모:
allin-anything-demo.vercel.app. 리드 문단의 '언급 0회' 주장에 대한 단어 수 영수증:
grep -ciBrook PDF 본문에서 "neural", "artificial intelligence", "machine learning", "deep learning" → 각각 0, 0, 0, 0회.
Paul Jialiang Wu · agentic-portfolio-lovat.vercel.app · FM-os 프론티어 AI 독서 목록 중 논문 №2, all-in으로 학습함 · 다음 목록: AlexNet — 도화선이 화약에 닿다