Paul Jialiang Wu agentic-portfolio English 中文 Español 日本語✉️ 무료 리스트
← 포트폴리오로 돌아가기

AI-네이티브 시리즈 · 러닝 엔지니어링

2004년 가장 중요한 AI 논문, 그런데 AI라는 말은 한 번도 나오지 않는다

By Paul Jialiang Wu · agentic-portfolio-lovat.vercel.app · 2026-08-01

1분 요약 — 이 글에서 얻어갈 것

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

The most important AI paper of 2004 never mentions AI — streams flowing through a kernel

2004년, 스탠퍼드의 연구자 일곱 명이 그래픽카드에 관한 논문을 발표했다. 내가 대신 검색해봤다: 이 논문에는 "neural(신경망)", "artificial intelligence(인공지능)", "machine learning(머신러닝)", "deep learning(딥러닝)"이라는 단어가 정확히 단 한 번도 나오지 않는다. 그럼에도 이 논문은 내 프런티어 AI 읽기 목록에서 №2다 — AI를 실제로 언급하는 거의 모든 논문보다 앞자리에 있다 — 그리고 이 페이지를 다 읽고 나면, 이 논문이 그 자리를 차지할 자격이 있다는 데 당신도 동의하리라 생각한다.

마력은 가득한데, 문이 없는 창고

2004년 상황은 이랬다: 게이머의 PC에 꽂힌 그래픽 카드는 이미 옆자리 CPU보다 더 많은 순수 연산력을 뿜어내고 있었다. 그런데 그 힘은 전부 셰이더 어셈블리와 그래픽 API 뒤에 갇혀 있었다 — 이걸 쓰려면 자신의 수학 연산을 렌더링 작업으로 위장해야 했다. Brook 저자들은 이를 담백하게 밝혔다[1]:

"…the user is forced to express their algorithm in terms of graphics primitives, such as textures and triangles. As a result, general-purpose GPU computing is limited to only the most advanced graphics developers." (번역: …사용자는 텍스처와 삼각형 같은 그래픽 기본 요소로 자신의 알고리즘을 표현할 수밖에 없다. 그 결과 범용 GPU 컴퓨팅은 가장 숙련된 그래픽 개발자들만의 영역으로 제한된다.)

아무도 시동을 걸 수 없는 엔진 창고를 상상해보라. 점화 장치가 삼각형 모양 열쇠만 받아들이기 때문이다. 이건 내가 색을 입히려고 지어낸 비유가 아니다 — 바로 이 논문이 존재하는 이유 그 자체다:

CPU — 프로그래밍 가능
GPU — 더 강력하지만 잠김
가두는 건 프로그래밍 모델이지
실리콘 자체가 아니다

① 잠긴 창고 — 더 높은 막대는 원래부터 거기 있었다; 가둔 문이 열리면 무슨 일이 벌어지는지 지켜보라

자물쇠를 딴 세 단어

Brook의 승부수는 더 빠른 하드웨어가 아니었다. 그것은 하나의 어휘였다. 초록에서 그대로 인용하면[1]:

"Brook extends C to include simple data-parallel constructs, enabling the use of the GPU as a streaming coprocessor." (번역: Brook은 단순한 데이터 병렬 구문을 포함하도록 C를 확장하여, GPU를 스트리밍 보조 프로세서로 사용할 수 있게 한다.)

그리고 기여 부분에서는[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] 이 그림은 진짜 잉크다 — 나는 이 논문 전체의 아이디어를 펜 캔버스에 직접 손으로 그렸고, 그 자체의 렌더러가 이를 출력했다:

Hand-drawn on penecho: three parallel streams enter a kernel box and exit as one transformed stream
스트림이 들어가고, 커널이 계산하고, 스트림이 나온다 — 세 단어짜리 열쇠를, penecho 위에 손으로 그렸다 (내가 신뢰하기 전에 그 자체의 200개 테스트가 모두 통과했다)
커널

② 같은 그림을 동적으로 — 파란 스트림 셋이 주황 스트림 하나로 합쳐진다; 커널은 움직이지 않는다, 움직이는 건 데이터다

이 논문이 당긴 도화선

실제 인물들을 따라가보자. Brook의 제1저자는 Ian Buck이다. 논문 발표 후 그는 NVIDIA로 갔다 — 거기서 CUDA를 만들었고, 오늘날 그 회사의 하이퍼스케일 및 HPC 컴퓨팅 사업을 이끌고 있다[2]. CUDA(2006)는 Brook의 어휘가 산업 규모로 자란 것이다. 6년 뒤, 대학원생 두 명이 게이밍 하드웨어로 신경망을 학습시켜 ImageNet에서 업계 전체를 무색하게 만든 격차로 우승했고, 논문을 AI 역사상 가장 의미심장한 어깨 으쓱임으로 끝맺었다 — 원문 그대로[3]:

"…trained on two GTX 580 3GB GPUs. All of our experiments suggest that our results can be improved simply by waiting for faster GPUs and bigger datasets to become available." (번역: …두 대의 GTX 580 3GB GPU로 학습했다. 우리의 모든 실험은 더 빠른 GPU와 더 큰 데이터셋을 기다리는 것만으로도 결과가 개선될 수 있음을 시사한다.)

다시 읽어보라: 딥러닝 시대를 연 이 논문은 하드웨어 업그레이드 요청으로 끝난다. 새로운 이론이 아니다. 더 영리한 사전 확률도 아니다. 더 빠른 GPU를 기다리는 것 — Brook이 8년 전, AI라는 말은 한 번도 꺼내지 않은 논문에서 열어젖힌 그 창고 속 엔진들 말이다.

2004
Brook: 열쇠
2006
CUDA: 업계로 가는 문
2012
AlexNet: 게이밍 카드 두 장
오늘날
AI 시대의 임대료 청구서

③ 도화선 — "이제 그만 삼각형 좀 그리게 해줘"에서 조 단위 파라미터 학습 실행까지, 22년

그 밑바탕의 규칙, 내부자가 이름 붙이다

Sara Hooker(Google Brain, 이후 Cohere For AI 수장)는 2020년 이 패턴에 영구적인 이름을 붙였다. 그녀의 초록에서 원문 그대로[4]:

"This essay introduces the term hardware lottery to describe when a research idea wins because it is suited to the available software and hardware and not because the idea is superior to alternative research directions." (번역: 이 에세이는 어떤 연구 아이디어가 다른 연구 방향보다 우월해서가 아니라 그저 사용 가능한 소프트웨어와 하드웨어에 잘 들어맞아서 승리하는 경우를 가리키는 용어로 '하드웨어 로터리'를 소개한다.)

그녀의 논지는 양날의 검이며, 바로 그 점이 이를 슬로건이 아닌 내부자의 통찰로 만든다: 신경망 자체가 수십 년간 이 복권에서 졌던낡은 아이디어였다 — 필요한 하드웨어가 존재하지 않는 동안 실패작으로 낙인찍혔던 것이다. Brook과 CUDA는 단지 컴퓨팅을 빠르게 만든 게 아니라, 어떤 아이디어가 참이 될 수 있는지를 바꿔놓았다. 내 쓰라린 교훈(The Bitter Lesson) 관련 글을 읽었다면, 여기서 연결고리가 보일 것이다: Sutton은 연산을 타고 가는 일반적 방법이 결국 승리한다고 말한다 — Hooker는 그 세부 조항을 덧붙인다: 다만 누군가 일부러 풀어낸 그 연산에 한해서다. 쓰라린 교훈 (The Bitter Lesson)이 시대의 흐름에 이름을 붙였다면, Brook은 그 흐름이 들어올 항구를 만들었다.

셰이더 어셈블리 — 삼각형으로 말하거나, 떠나거나 (2003)
Brook — 스트림 · 커널 · 리덕션 (2004)
CUDA — 같은 발상, 산업 규모로 (2006)
PyTorch 등 — 자물쇠가 있었다는 사실조차 아무도 기억 못 함 (지금)

④ 추상화의 사다리 — 각 단이 그 아래 단을 보이지 않게 만든다; 그 보이지 않음이야말로 성취다

패턴: 하드웨어·소프트웨어 공동 설계 — 능력이 사용성을 앞지를 때 가장 레버리지가 큰 작업은 다음 벤치마크가 아니라 추상화다. Brook의 저자들은 GPU를 더 빠르게 만들지 않았다; 그들은 그것을 말할 수 있게.

안티패턴: 자신의 문제를 하드웨어의 모국어로 표현하는 것 — 2004년에는 삼각형이었고, 오늘날에는 현재의 가속기가 보상하는 것에 맞춰 연구 아이디어를 억지로 뒤트는 일이다. 그것이 하드웨어 로터리의 어두운 면이다: 무엇을 생각해도 되는지를 창고가 결정한다.

메커니즘: 가상화. 스트림/커널/리덕션은 데이터 병렬성을 위한 최소 완전 언어를 이루고 있어서, 조건만 맞으면 어떤 문제든 — 2004년의 이미지 분할이든, 영원한 행렬 곱셈이든 — 실리콘 자체는 전혀 바뀌지 않은 채로 그래픽 실리콘 위에 사상된다.

제1원리 — 하드웨어 추세에 부합하는 알고리즘이 승리한다; 추상화 계층이 잠들어 있던 연산력을 풀어놓는다. 그 결과: 당신이 가진 가장 빠른 컴퓨터는 아직 프로그래밍할 줄 모르는 바로 그 컴퓨터다.

이번 주에 당신의 잠긴 창고를 찾아보라 (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].

참고 문헌 (각 링크는 발행 시점에 검증됨)

  1. 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.
  2. NVIDIA 뉴스룸. Ian Buck — 약력 — Brook의 제1저자; CUDA의 창시자; VP, Hyperscale and HPC Computing 담당.
  3. 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 원문 그대로임.
  4. Hooker, S. (2020). The Hardware Lottery. arXiv:2009.06489 — 정의는 초록에서 원문 그대로 인용.
  5. 이 실행의 영수증 — 라우터 판정, 각 기관의 테스트 통과 수, 종료 코드, AutoRunner 저널 — github.com/wjlgatech/allin-anything 에 있음 (안내 문서: article-to-animated-understanding); 라이브 데모: allin-anything-demo.vercel.app. 리드 문단의 '언급 0회' 주장에 대한 단어 수 영수증: grep -ci Brook 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 — 도화선이 화약에 닿다