LLM 사전 학습: 데이터, 컴퓨트, 스케일링 법칙과 비용
노트북 GPU 하나로 20개 모델을 학습해 scaling law를 측정하고, 6ND 컴퓨트 추정치를 실제 FLOP 카운터로 검증합니다.
이 페이지에서
9장은 학습되는 transformer 블록으로 끝났습니다. 그것들을 몇 개 쌓고, 8장의 다음-token 손실을 출력에 걸면 더 이상 발명할 것은 남지 않습니다. 남은 모든 것은 구매입니다.
이 변화는 들리는 것보다 큽니다. 지금까지의 모든 장은 *학습하는가?*라는 질문을 던졌습니다. 노트북이 10분 안에 판정해 주는 예/아니오 질문이었죠. 이번 장의 질문에는 돈이 들어 있습니다. 정해진 연산량이 있을 때, 내가 살 수 있는 최선의 모델은 무엇인가? 답은 공식이고, 2018년에는 누구에게도 명확하지 않았습니다.
다음은 그 질문을 노트북 GPU 하나에서 측정으로 답한 결과입니다. 98,624개에서 1,500만 개 parameter까지 20개 모델을, Wikipedia의 1억 7,400만 token 위에서 처음부터 학습했습니다. 7장에서 학습한 방식의 2,048-token BPE vocabulary, 9장의 transformer를 사용했습니다. 각 실행에는 세 가지 compute budget 중 정확히 하나만 주어졌고, 단 하나의 연산도 더 주어지지 않았습니다. 따라서 더 큰 모델은 필연적으로 더 적은 텍스트를 읽습니다. 각 budget에서 도달한 최선의 held-out loss는 다음과 같습니다.
budget C (FLOPs) best loss reached by a model of
1.00e13 5.3531 98,624 params
3.16e13 4.8638 98,624 params
1.00e14 4.3383 295,808 params
fitted: L = (Cc / C)^0.0913 over one decade of compute연산을 열 배 늘리면 loss가 19% 줄고, 세 점은 log-log 그래프에서 직선 위에 놓입니다. 앞선 아홉 장의 어떤 내용도 이것을 예측하지 못합니다. 그 뒤에는 정리가 없습니다. 이것은 경험적 규칙성입니다. 이 노트북과 datacentre 사이의 열 자릿수 규모에서도 다른 지수로 유지되며, 한 산업이 작은 나라의 GDP만큼을 GPU에 쓰도록 설득한 단 하나의 관찰입니다.
사전 학습이란 무엇이며, 무엇이 새로운가
섹션 링크: 사전 학습이란 무엇이며, 무엇이 새로운가목표 함수는 바뀌지 않습니다. 모델은 여전히 다음 token을 예측하고, loss는 여전히 8장의 factorisation에 4장의 cross-entropy를 적용한 것이며, optimiser는 여전히 6장의 AdamW입니다. 사전 학습은 새로운 알고리즘이 아닙니다. 실행 자체에 예산을 잡아야 할 만큼 큰 corpus에서 같은 알고리즘을 돌리는 것입니다. 이를 가능하게 하는 것은 두 가지입니다. 첫째, label은 무료입니다. 위치 의 target은 에 있는 token이고 이미 텍스트 안에 있기 때문입니다. 둘째, 6장의 마지막 절이 반론을 제거했습니다. 고전적 규칙이 허용하는 것보다 훨씬 많은 parameter를 가진 모델은 무너지지 않고, 좋아집니다. 그 결과물은 base model입니다. 답하는 것이 아니라 텍스트를 이어 쓰는 무언가입니다.
쓰기 전에 compute 세기: 6ND
섹션 링크: 쓰기 전에 compute 세기: 6ND이 모든 것에 예산을 붙이려면 먼저 세어야 합니다. 이 분야는 하나의 공식으로 그것을 셉니다.
여기서 는 parameter 수, 는 학습 token, 는 총 floating-point operation입니다. Kaplan et al.은 이를 두 단계로 유도합니다.1 Forward: parameter당 token당 2 FLOPs입니다. matrix multiply에서 모든 parameter가 token마다 한 번씩, 곱셈 한 번과 덧셈 한 번에 사용되기 때문입니다. Backward: forward의 두 배입니다. 5장의 backward pass는 각 층에서 두 gradient를 계산하기 때문입니다. 하나는 층의 입력에 대한 것이어서 신호가 계속 이동하게 하고, 다른 하나는 weight에 대한 것입니다. 둘 다 forward와 같은 크기의 matrix multiply이므로 입니다.
유도는 이것이 전부이고, 믿기보다는 확인할 가치가 있습니다. PyTorch에는 실제 FLOP 카운터인 torch.utils.flop_counter.FlopCounterMode가 포함되어 있습니다. 모델이 dispatch하는 모든 operation을 가로채 실제 작업량을 합산합니다. 네 자릿수 규모 범위에 걸쳐 실행해 봅니다. 가장 큰 것은 shape만 할당하고 메모리는 쓰지 않는 meta device에서 돌립니다.
from torch.utils.flop_counter import FlopCounterMode
counter = FlopCounterMode(display=False)
with counter:
loss = model(x, targets)[1]
loss.backward()
measured = counter.get_total_flops()
print(measured / (6 * n_params * n_tokens))| 구성 | embedding 제외 | 총 | 측정값, fwd+bwd | ÷ (총 ) | ÷ (emb. 제외) | fwd+bwd ÷ fwd |
|---|---|---|---|---|---|---|
| 128, 4 layers, 256 | 788,736 | 7,254,400 | 4.60e10 | 1.031 | 9.485 | 3.000 |
| 512, 8 layers, 256 | 25,183,232 | 51,045,888 | 3.26e11 | 1.038 | 2.104 | 3.000 |
| 768, 12 layers, 1024 | 84,973,056 | 124,356,864 | 1.75e12 | 1.145 | 1.676 | 3.000 |
| 1600, 48 layers, 1024 | 1,474,870,400 | 1,556,920,000 | 2.10e13 | 1.100 | 1.161 | 3.000 |
| 4096, 32 layers, 2048 | 6,442,983,424 | 6,582,444,032 | 8.74e13 | 1.080 | 1.104 | 3.000 |
| 8192, 80 layers, 8192 | 64,427,147,264 | 65,544,929,280 | 3.75e15 | 1.163 | 1.183 | 3.000 |
forward+backward 대 forward 비율은 모든 scale에서 정확히 3.000입니다. 우연히 잘 맞는 근사가 아니라, 위의 산술 항등식이 유도 과정을 전혀 모르는 카운터에 의해 둥근 숫자로 되돌아온 것입니다.
그다음 측정된 총량은 가 embedding matrix를 셀 때 보다 3%에서 17% 위에 놓입니다. 그리고 이 조건절은 중요합니다. 두 창립 논문이 를 다르게 세기 때문입니다. Kaplan은 "훨씬 더 깨끗한 scaling law를 만든다"는 이유로 "모든 vocabulary 및 positional embedding"을 제외합니다(§1.3). Chinchilla의 Appendix F는 "total parameter count에 embedding matrices도 포함한다"고 말합니다.2 첫 행이 보여 주듯, 넓은 vocabulary와 좁은 hidden dimension에서는 두 방식이 아홉 배 차이 납니다.
남은 격차는 가 의도적으로 생략하는 것, 즉 attention score입니다. Kaplan의 Eq. (2.2)는 forward cost를 로 쓰고, 이므로 두 번째 항을 버립니다. 2020년에는 안전했지만 지금은 덜 안전하며, 가 커질수록 비율이 위로 drift하는 이유입니다. 그래서 여기의 두 행은 가 1,024로 같고, 가 768에서 1,600으로 갈 때 비율이 1.145에서 1.100으로 떨어집니다. 이것은 9장에서 소개한 비용이며 16장에서 가격으로 바뀝니다.
메모리: 실제로 무엇이 들어가야 하는가
섹션 링크: 메모리: 실제로 무엇이 들어가야 하는가Compute는 실행이 얼마나 오래 걸리는지를 결정하고, 메모리는 실행을 시작할 수 있는지를 결정합니다. plain fp32 AdamW로 학습하면 모든 parameter는 네 개의 숫자를 가집니다. weight, 그 gradient, 그리고 Adam의 running mean 와 variance 입니다. 6장에서 손으로 만든 두 평균입니다. 네 숫자에 각각 4바이트면, activation 하나 전에도 parameter당 16바이트입니다. 8 GB 노트북 GPU에서, graph가 살아 있지 않은 step 지점의 resident allocation을 측정하면 다음과 같습니다.
| 모델 | vocabulary | batch | 예측 | 측정된 resident | step 중 peak | 차이 | |
|---|---|---|---|---|---|---|---|
| 512, 8 layers | 50,257 | 8 | 51,045,888 | 779 MB | 801 MB | 2,500 MB | 1,699 MB |
| 512, 8 layers | 4,096 | 8 | 27,411,456 | 418 MB | 426 MB | 1,043 MB | 617 MB |
| 256, 6 layers | 4,096 | 8 | 5,839,360 | 89 MB | 89 MB | 382 MB | 293 MB |
| 256, 6 layers | 4,096 | 32 | 5,839,360 | 89 MB | 89 MB | 1,259 MB | 1,170 MB |
| 256, 6 layers | 4,096 | 128 | 5,839,360 | 89 MB | 89 MB | 4,771 MB | 4,681 MB |
예측과 측정은 3% 이내로 일치합니다. 놀라운 것은 마지막 열입니다. activation이 모델을 압도합니다. persistent state가 89 MB만 필요한 같은 580만-parameter 모델이 batch 128에서는 activation에 4,681 MB를 필요로 합니다. 모델의 쉰두 배입니다. 그리고 그 상당 부분은 transformer 자체가 아닙니다. logits입니다. token마다 vocabulary 크기의 vector 하나, entry당 4바이트입니다. 마지막 행에서는 512 MB, 첫 행에서는 393 MB입니다. vocabulary 크기는 7장에서 선택되었고, 여전히 카드에 무엇이 들어갈지를 결정하고 있습니다.
어떤 항이 지배적인지는 실행의 shape에 따라 달라집니다. 그래서 Micikevicius et al.은 메모리가 "activation에 의해 지배된다"고 말하고3, ZeRO는 15억-parameter 모델이 모델 state만으로 "최소 24 GB"가 필요하다고 말합니다.4 ZeRO는 다른 경로로 같은 16바이트에 도달합니다. fp16 weights에 , fp16 gradients에 , fp32 master weights와 Adam의 두 moment 각각에 입니다. 700억 parameter라면 activation 하나 전부터 1.12 TB, 즉 80 GB GPU 열네 개 분량입니다.
Parallelism, 한 문단과 하나의 위임
섹션 링크: Parallelism, 한 문단과 하나의 위임frontier scale에서는 그 어떤 것도 device 하나에 들어가지 않으므로, 실행은 동시에 네 방식으로 쪼개집니다. Data parallelism은 모든 GPU에 모델 사본을 두고 gradient를 평균냅니다. 기본값이며, ZeRO가 optimiser state의 중복 사본을 보관하지 않음으로써 개선하는 대상입니다. Tensor parallelism은 개별 matrix를 device들에 나눕니다. Pipeline parallelism은 각 device에 연속된 layer 묶음을 줍니다. Context parallelism은 sequence 자체를 쪼개며, 가 attention 항을 지배할 만큼 길어진 뒤에만 필요합니다. Llama 3의 Table 4는 네 가지를 한꺼번에 나열합니다. 16,384개 H100 GPU에 걸쳐 tensor 8, context 최대 16, pipeline 16, data 최대 128입니다.5 이 과정이 이에 대해 말할 것은 여기까지입니다. distributed training engineering은 그 자체로 한 학기 분량이고, Stanford CS336이 바로 그 학기입니다. 강의 5~8과 코드가 있습니다.6 위임 뒤에 남는 것은 단 하나의 숫자, model FLOPs utilisation입니다. 실제 실행이 GPU peak arithmetic의 얼마를 달성하는지 나타내는 비율이고, 깔끔한 를 wall-clock time으로, 따라서 돈으로 바꾸는 값입니다.
Kaplan, 그리고 산업이 건 베팅
섹션 링크: Kaplan, 그리고 산업이 건 베팅2020년 1월, Kaplan et al.은 transformer grid를 학습하고 test loss가 세 resource 각각에 대해 여섯 자릿수 이상 범위에서 power law를 따른다는 것을 발견했습니다.1 그들의 §1.2는 세 개의 fitted law를 제시합니다.
data에 대한 와 optimally allocated compute에 대한 가 함께합니다. 상수들은 보편적이지 않으며, 논문도 그렇게 말합니다. ", , 의 정확한 수치는 vocabulary size와 tokenization에 의존하므로 근본적 의미를 갖지 않는다."
지수는 아주 작습니다. parameter를 열 배 늘리면 남은 loss에서 만큼을 사는 셈입니다. 별것 아닌 것처럼 들리고, 바로 그것이 여기서 가장 중요한 사실입니다. 수익률은 형편없고, 멈추지 않습니다. 작은 지수를 가진 power law는 다음 자릿수 증가도 도움이 될 것이며, 다만 지난번보다 덜 도움이 될 뿐이고, 그것이 영원히 계속된다고 약속합니다. compute 구매는 도박이 아니라 공개된 환율을 가진 구매가 됩니다. 바로 그 논리가 자본을 풀었습니다.
그다음 처방이 나왔고, 여기서 그 논문은 산업에 큰돈을 쓰게 만든 방식으로 틀렸습니다. Kaplan의 Table 6은 와 를 제시합니다. compute가 열 배면 모델은 5.4배 커지고 텍스트는 겨우 1.9배 더 먹이면 된다는 뜻입니다. 초록은 명시적입니다. "optimally compute-efficient training은 매우 큰 모델을 비교적 modest한 양의 data로 학습하고 convergence 훨씬 전에 멈추는 것을 포함한다." 이 분야는 정확히 그렇게 했습니다. GPT-3는 1,750억 parameter에 3,000억 token,7 Gopher는 2,800억에 3,000억, Megatron-Turing NLG는 5,300억에 2,700억이었습니다.2 전반적으로 parameter당 token은 0.5개에서 2개였습니다.
Chinchilla, 그리고 위 sweep이 측정한 것
섹션 링크: Chinchilla, 그리고 위 sweep이 측정한 것2022년 3월, Hoffmann et al.은 7,000만에서 160억 parameter까지 400개가 넘는 모델을 학습했고, 세 독립 경로로 정반대 결론에 도달했습니다.2 그들의 Table 2는 에서 지수 를 0.50, 0.49, 0.46으로 보고합니다. Kaplan의 0.73과 대비됩니다. 쉽게 말하면, 모델 크기와 학습 data는 같은 비율로 커져야 합니다.
그들의 두 번째 접근법이 이 장 맨 위의 sweep이 scale의 백만분의 일에서 재현한 것입니다. budget을 고정하고, 여러 크기를 정확히 그 budget으로 학습한 뒤, 최종 loss를 모델 크기에 대해 plot합니다.
| parameters | |||
|---|---|---|---|
| 98,624 | 5.3531 (171) | 4.8638 (542) | — |
| 150,320 | 5.4636 (74) | — | — |
| 194,208 | 5.5041 (44) | 4.8730 (140) | 4.4040 (442) |
| 295,808 | 5.5550 (19) | 4.9029 (60) | 4.3383 (190) |
| 665,280 | 5.7849 (3.8) | 5.1254 (12) | 4.4192 (38) |
| 1,280,768 | 5.8174 (1.0) | 5.1751 (3.2) | 4.5003 (10) |
| 3,101,568 | — | 5.4686 (0.5) | 4.7768 (1.7) |
| 5,315,072 | — | 5.5894 (0.2) | 4.8514 (0.6) |
| 15,053,568 | — | — | 5.3534 (0.1) |
held-out loss는 token당 nat이며, 괄호 안은 parameter당 token입니다. 굵게 표시된 것은 각 budget에서 최선의 모델입니다. 대시는 실행하지 않은 점입니다. budget이 corpus가 가진 것보다 더 많은 텍스트를 요구했거나, 해당 크기가 그 sweep 범위 밖이었기 때문입니다.
한 열을 아래로 읽어 보세요. loss는 내려가고, 바닥을 찍고, 다시 올라갑니다. 모델은 budget에 비해 너무 작은 것만큼이나 정확히 똑같이 너무 클 수도 있습니다. 에서 295,808 parameter 대신 665,280 parameter를 고른 벌점은 0.08 nat입니다. 위에서 fit한 envelope에서는 올바른 크기의 모델이 18% 적은 compute로 도달하는 loss입니다. 잘못된 shape를 고르면 budget의 5분의 1을 버립니다. 이것이 오후 동안 GPU 하나에서 네 hundred 모델 대신 재현한 Chinchilla Figure 3입니다.
이제 가로로 읽어 보세요. 에서 최선의 모델은 sweep한 것 중 가장 작습니다. 에서는 295,808 parameter이고 양쪽에 이웃점이 있습니다. budget이 커질수록 optimum은 오른쪽으로 이동합니다. 이것이 correction의 전체 내용입니다. 논문의 세 번째 접근법, 모든 실행에 대한 surface 를 fit하고 조건에서 최소화해 봅니다.
L(N, D) = 24.7 / N^0.195 + 46.8 / D^0.169 (E fits to ~0; see below)
implied N_opt ∝ C^0.464
compare Chinchilla 0.46-0.50 · Besiroglu 0.513 · Kaplan 0.73Kaplan의 0.73에 맞서는 노트북에서 나온 0.46입니다. 세 budget fit에서 세 자리까지 일치한 것은 운입니다. 첫 자리까지 일치한 것은 운이 아닙니다. 지수는 이동합니다. 상수는 그렇지 않습니다. 이 optimum에서 token-to-parameter ratio는 20이 아니라 170에서 540이기 때문입니다. 이유는 세 가지이고, 모두 교훈적입니다. 는 0으로 fit됩니다. loss가 4 nat보다 높은 곳에서는 실행이 Chinchilla fit를 지배하는 entropy floor 근처에도 없기 때문입니다. batch size와 learning rate는 각 점마다 튜닝되지 않고 고정되어 있었습니다. 이는 step을 가장 적게 받는 실행에 불리하고, 그것은 큰 모델들입니다. FLOPs에서 128만-parameter 모델은 총 159 optimiser step을 받습니다. Kaplan의 항이 어떤 모델에도 필요하다고 말하는 몇천 step보다 한참 적습니다. scaling law는 어떤 regime 안에서 fit되며, 이 실험은 Chinchilla보다 여섯 자릿수 아래에 있습니다.
그래서 논문의 초록은 이렇게 말합니다. "현재 large language model들은 상당히 undertrained되어 있다." Chinchilla가 그 시연입니다. 700억 parameter에 1.4조 token, Gopher의 2,800억 parameter에 3,000억 token과 같은 total compute로, MMLU 57개 task 중 51개에서 이기고 67.5% 대 60%를 기록했습니다.2 네 배 작고, 네 배 반 더 많은 텍스트, 같은 돈, 더 좋은 모델입니다.
그 유명한 비율에 대해 두 가지 단서가 있습니다. "parameter당 token 20개"는 논문에 있는 문장이 아닙니다. 논문은 "모델 크기가 두 배가 될 때마다 training token 수 역시 두 배가 되어야 한다"고만 말합니다. 20은 Table 3과 Chinchilla 자체의 70 B on 1.4 T에서 추론한 것입니다. 그리고 그 정밀도는 발표된 것보다 낮습니다. Besiroglu et al.은 Figure 4를 digitise한 데이터로 refit했고, 원래 parameter가 "reconstructed data에 잘 맞지 않는다"고 했으며, interval이 "data point 수를 고려하면 믿기 어려울 만큼 좁다"고 보고했습니다. 정직한 범위는 parameter당 "4에서 40" token입니다.8
Chinchilla 방법의 한 세부 사항은 1장이 learning-rate schedule에 대해 했던 약속을 갚습니다. cosine schedule은 token budget에 맞춰져야 합니다. 1,000만 token을 볼 모델은 learning rate를 1,000만 token에서 0으로 decay해야 합니다. 1억 token용 schedule을 주고 일찍 멈추면, 너무 높은 rate에서 내려가는 중간의 loss를 읽는 것입니다. Chinchilla는 정확히 이것을 통제하기 위해 각 모델을 네 가지 cycle length로 학습합니다. 위 sweep도 같은 이유로 schedule을 budget에서 정합니다.
scaling law가 약속하지 않는 것
섹션 링크: scaling law가 약속하지 않는 것그것들은 이 분야에서 가장 유용한 경험적 결과이며, 동시에 일상적으로 과장됩니다. 네 가지 한계가 있습니다.
그것들은 capability가 아니라 loss를 예측합니다. 좌변은 held-out text의 cross-entropy입니다. 이 논문들 어디에도 모델이 올바른 SQL을 쓸지, harmful request를 거절할지, tool을 사용할지에 대한 주장을 허락하는 내용은 없습니다. 이것은 5장의 교훈과 같습니다. loss의 예측은 당신이 돈을 내는 behavior의 예측이 아닙니다.
그것들은 유도된 것이 아니라 fit된 것입니다. 어떤 이론도 를 만들어 내지 않습니다. 상수는 tokenizer와 함께 움직입니다. 그래서 8장이 설명했듯 두 tokenizer 사이의 perplexity 비교는 의미가 없습니다. data mixture, architecture, optimiser와도 함께 움직입니다. 공개된 모든 law는 그것을 만든 setup의 law입니다. 그래서 Meta는 Llama 3 전에 자체 law를 다시 fit했습니다.5
그것들은 매 step마다 fresh token을 가정합니다. 이는 조용히 무한 corpus를 가정합니다. Muennighoff et al.은 그것이 고갈될 때 무슨 일이 일어나는지 측정했습니다. 반복 data를 네 epoch까지 쓰는 것은 거의 비용이 없습니다. 440억 unique token을 네 번 본 87억-parameter 모델은 1,780억 unique token을 본 같은 모델보다 validation loss가 "단지 0.5% 높게" 끝났습니다. 반면 약 16 epoch를 지나면 추가 compute는 아무것도 사지 못합니다.9
그리고 이제 아무도 compute-optimal로 학습하지 않습니다. Chinchilla는 학습 비용을 최소화합니다. 배포된 모델은 그다음 생성 token마다 대략 FLOPs를 영원히 지불합니다. LLaMA 1은 분명히 말했습니다. "목표 성능 수준이 주어졌을 때, 선호되는 모델은 학습이 가장 빠른 모델이 아니라 inference가 가장 빠른 모델이다."10 Sardana et al.은 대신 를 최소화하여 이를 formalise했고, 10억 request를 예상하는 사람은 "Chinchilla-optimal보다 더 작고 더 오래" 학습해야 한다고 발견했습니다.11 Llama 3의 §9.1도 동의합니다. 작은 모델들은 "compute optimal training 지점을 훨씬 넘어서" 학습되어, 사실상 training compute를 inference efficiency와 교환합니다.5 그 비율이 obsolete한 것은 아닙니다. 다만 더 이상 사람들이 묻는 질문이 아닌 질문에 답합니다.
Emergent abilities, 그리고 그것이 실제인지에 대한 논쟁
섹션 링크: Emergent abilities, 그리고 그것이 실제인지에 대한 논쟁Loss는 매끄럽게 떨어집니다. benchmark score는 가끔 그렇지 않습니다. Wei et al.은 task가 training compute의 여러 자릿수에 걸쳐 chance 수준에 머물다가 갑자기 뛰는 사례들을 모았습니다. GPT-3에서 약 FLOPs에 나타나는 세 자리 산술, 과 사이에서 guessing 위로 올라가는 MMLU 같은 것들입니다. 그리고 그 pattern에 이름을 붙였습니다. "ability는 작은 모델에는 존재하지 않지만 큰 모델에는 존재한다면 emergent하다."12 이것이 실제 속성이라면 값싼 실험에서 extrapolate하는 것은 위험합니다. 당신이 사려는 capability가 당신이 test할 수 있는 어떤 scale에도 존재하지 않을 수 있기 때문입니다.
Schaeffer, Miranda and Koyejo는 그 대부분이 측정의 artefact이며, mechanism은 산술이라고 주장했습니다.13 token별 loss는 매끄럽게 떨어지므로 token 하나가 맞을 확률 는 점진적으로 좋아집니다. 모델을 -token 답변에 대한 exact string match로 score하면 그 확률을 제곱합니다. 매끄러운 곡선을 큰 거듭제곱으로 올리면 절벽처럼 보입니다. 같은 출력에 대해 모두 맞아야 한다고 요구하는 대신 token을 세는 metric으로 바꾸면 "family의 performance는 scale 증가에 따라 매끄럽고, 연속적이며, 예측 가능하게 향상됩니다."
그들의 audit에서 기억해야 할 숫자는 이것입니다. "BIG-Bench의 39개 preferred metric 중 emergence를 보이는 것은 많아야 5개"이고, claimed case의 92% 이상이 두 discontinuous metric에서 나옵니다. 그리고 그들의 주의 문구도 기억해야 합니다. "이 논문의 어떤 내용도 large language model이 emergent abilities를 보일 수 없다고 주장하는 것으로 해석되어서는 안 된다." 차트의 jump는 달리 증명되기 전까지 metric에 대한 증거입니다. 29장에서 이것은 당신의 문제가 됩니다. hard-cutoff metric을 고르는 것은 당신이 눈치채지 못한 채 내리게 될 결정이기 때문입니다.
데이터는 어디에서 오는가
섹션 링크: 데이터는 어디에서 오는가corpus는 사전 학습 실행에서 equation이 붙어 있지 않은 부분이며, 가장 중요한 결정 대부분이 사는 곳입니다. 원재료는 web crawl입니다. Common Crawl의 2026년 8월 archive에는 "21.4억 web page 또는 360 TiB의 uncompressed content"가 들어 있습니다. 한 달치이며, 무료로 다운로드할 수 있습니다.14 그대로 쓸 수 있는 것은 거의 없습니다. T5 논문은 crawl이 "menus, error messages, duplicate text 같은 gibberish나 boiler-plate text로 대체로 구성된다"고 말합니다. 그리고 그 논문이 소개한 C4 pipeline은 둔탁한 heuristic 목록입니다. terminal punctuation으로 끝나는 line만 유지하고, 세 문장 미만의 page는 버리고, curly brace나 공개된 비속어 목록의 단어를 포함하는 page는 모두 버립니다. 그 결과 매월 20 TB 텍스트가 약 750 GB로 바뀝니다.15
둔탁하다는 말이 맞습니다. Dodge et al.은 그 filter들이 무엇을 제거하는지 audit했고, 비속어 blocklist가 African-American English 문서의 42%, Hispanic-aligned English의 32%를 삭제하는 반면 White-aligned English는 6.2%만 삭제하여, corpus가 마지막 category 97.8%로 남는다는 것을 발견했습니다.16 dialect에 대해 의견이 없는 rule이 실제로는 의견을 가졌습니다.
그다음은 deduplication입니다. housekeeping이 아닙니다. Lee et al.은 C4에서 61-word sentence가 61,036번 반복되는 것을 발견했고, deduplicating이 모델이 "memorized text"를 내뱉는 rate를 generated token의 1.9%에서 0.19%로 열 배 줄인다는 것을 보였습니다.17 하지만 더 많다고 더 좋은 것은 아닙니다. FineWeb 팀은 96개 crawl 전체를 global하게 deduplicate하여 4조 token을 얻었지만 측정 가능한 gain이 없었습니다. 그다음 각 crawl을 따로 deduplicate하여 20조 token을 얻었고, 기존 최고의 corpus와 맞먹었습니다.18
그다음은 contamination입니다. Llama 3는 자체 contamination을 측정하고 공개했습니다. training set과 8-gram으로 겹치는 비율이 AGIEval 98%, BIG-Bench Hard 95%, HellaSwag 85%였고, MMLU에 대해서는 overlap이 너무 높아 "good performance gain estimate를 얻는 것이 불가능하다"고 했습니다.5 GPT-3의 §4는 filtering bug 때문에 benchmark가 data에 남았고 되돌릴 방법이 없었다고 보고합니다. "cost considerations 때문에 model을 재학습하는 것은 infeasible했다."7
Provenance는 해결되지 않은 부분입니다. The Pile에는 Books3라는 100.96 GiB component가 포함되어 있었습니다. corpus의 12%였고, 논문 자체의 consent table에 따르면 private torrent tracker에서 온 책들이었습니다.19 이는 copyright complaint 뒤 2023년 8월 offline되었습니다. 2026년 9월 현재 법적 입장은 정리되지 않았고, trend로 인용되는 세 건의 미국 판결은 서로 일치하지 않습니다. Alsup은 합법적으로 취득한 책으로 training하는 것은 "exceedingly transformative"하다고 보면서도, pirated copy로 만든 library는 그렇지 않다고 판단했습니다. Anthropic은 그 절반에 대해 $1.5 billion에 settlement했고, 482,460 works, 작품당 약 $3,000을 포괄하며, 2026년 7월 20일 승인되었습니다.20 Chhabria는 Meta에 summary judgment를 주면서도, 자신의 ruling이 "Meta가 copyrighted material을 language model 학습에 사용하는 것이 lawful하다는 명제를 세우는 것은 아니다"라고 썼고, 다만 "이 plaintiffs가 wrong arguments를 했다"고 했습니다.21 Bibas는 Ross Intelligence에 불리하게 판결하면서 "오늘 내 앞에 있는 것은 non-generative AI뿐"이라고 적었습니다.22 어떤 미국 appellate court도 이 질문에 대해 판결하지 않았습니다.
사람은 loss가 할 수 없는 부분을 합니다. TIME은 2023년 1월, OpenAI를 위해 Sama를 통해 toxic text를 labeling한 노동자들이 아동 성적 학대, 고문, 자해를 묘사하는 passage를 읽으며 "시간당 약 $1.32에서 $2 사이"를 집에 가져갔다고 보도했습니다. OpenAI는 그 작업에 Sama에 시간당 $12.50을 지불했습니다. Sama는 임금 범위와 quota 모두에 이의를 제기합니다.23 이것은 사전 학습 자체라기보다 사전 학습 주변의 filtering입니다. 하지만 같은 청구서 위에 있고, 사람이 앉아 있는 곳입니다.
전기는 실제이며, 대개 잘못 인용됩니다. 가장 신중하게 공개된 수치는 BLOOM의 것입니다. 실행에 1,082,990 GPU-hour, 433 MWh, CO₂ equivalent 24.7 tonnes가 들었고, manufacturing과 idle node를 세면 50.5입니다.24 Patterson et al.은 GPT-3를 1,287 MWh와 552 tonnes로 잡았습니다.25 두 가지 주의점이 있습니다. BLOOM의 이점은 효율이 아니라 kWh당 57 g CO₂인 프랑스 nuclear grid입니다. OPT-175B보다 더 많은 energy를 사용했습니다. 그리고 이 분야에서 가장 많이 인용되는 emissions 수치, Strubell et al.의 neural architecture search에 대한 626,155 lb는 나중에 88배 과대였음이 드러났습니다. search가 proxy에서 수행되었는데 full model size로 실행되었다고 가정했기 때문입니다.26 LBNL의 framing이 방어 가능한 것입니다. 미국 data centre는 2024년에 192 TWh, national electricity의 4.7%를 사용했습니다. 이는 어떤 한 실행이 아니라 산업에 붙는 숫자입니다.27
관통하는 줄기는 Bender et al.이 documentation debt라고 이름 붙인 것입니다. "datasets가 undocumented이며 post hoc으로 document하기에는 너무 큰 상황에 우리 자신을 놓는 것"입니다.28 위의 모든 사실은 누군가가 들여다봤기 때문에 존재합니다. 대부분의 사람이 쓰는 모델 뒤의 corpora에 대해서는 아무도 그렇게 할 수 없습니다.
실제로 얼마가 드는가
섹션 링크: 실제로 얼마가 드는가이제 모두가 원하는 산술입니다. 네 개의 인용된 input에서 시작하므로, 그것들이 낡았을 때 무엇을 바꿔야 하는지 분명합니다.
Peak throughput
섹션 링크: Peak throughputNVIDIA의 H100 page는 BF16 tensor-core throughput을 1,979 teraFLOPS로 나열하며, footnote에는 "with sparsity"라고 되어 있습니다.29 어떤 사전 학습 실행도 structured sparsity를 쓰지 않으므로 dense 수치는 그 절반입니다. 989.5 TFLOP/s입니다.
Utilisation
섹션 링크: UtilisationLlama 3의 Table 4는 38–43% BF16 model FLOPs utilisation을 보고합니다. **40%**를 취하면 GPU당 유용한 arithmetic은 395.8 TFLOP/s입니다.5
Lambda의 8×H100 SXM node on-demand 가격, 2026-09-06 access 기준: GPU-hour당 $3.99, 따라서 node는 시간당 $31.92입니다.30
Shape
섹션 링크: ShapeChinchilla의 ratio, 는 를 주고 따라서 를 줍니다.
| budget | H100-hours | FLOPs | compute-optimal params | tokens | 8×H100 node 하나에서 | 90일 안에 끝내는 데 필요한 GPU |
|---|---|---|---|---|---|---|
| $100 | 25 | 3.6e19 | 546 M | 10.9 B | 3.1 h | 1 |
| $1,000 | 251 | 3.6e20 | 1.73 B | 34.5 B | 31.3 h | 1 |
| $10,000 | 2,506 | 3.6e21 | 5.46 B | 109 B | 13 days | 2 |
| $100,000 | 25,063 | 3.6e22 | 17.3 B | 345 B | 131 days | 12 |
| $1,000,000 | 250,627 | 3.6e23 | 54.6 B | 1.09 T | 4 years | 116 |
| $10,000,000 | 2,506,266 | 3.6e24 | 173 B | 3.45 T | 36 years | 1,160 |
| $100,000,000 | 25,062,657 | 3.6e25 | 546 B | 10.9 T | 358 years | 11,603 |
마지막 두 열을 함께 읽어야 합니다. $10,000이면 임대한 node 하나에서 2주 안에 50억-parameter 모델을 얻습니다. $100,000,000이면 산술은 5,460억 parameter라고 말합니다. 그리고 3개월 동안 서로 연결된 H100 1만 2천 개가 필요합니다. 신용카드로 빌릴 수 있는 것이 아닙니다. 대략 $100,000을 지나면 binding constraint는 돈이 아니라 cluster가 됩니다.
이런 표를 믿기 전에 실제 비용이 공개된 실행과 대조해야 합니다. llm.c는 GPT-2 124M을 8×A100 node에서 "~90 minutes"에 "about $20"로 재현하고, GPT-2 1.6B를 8×H100 node에서 24시간 $672로 재현합니다.31
$672, against what $672 actually bought (llm.c GPT-2 1.6B, one 8xH100 node, 24 h)
this table predicts: 168 H100-hours N = 1.41 B params D = 28.3 B tokens
what was actually run: 192 H100-hours N = 1.558 B params D = 33.6 B tokens
Llama 3 405B, against Meta's own published GPU-hours
from the paper's 3.8e25 FLOPs at 40 % MFU: 26.67 M H100-hours
published in Meta's Llama 3.1 model card: 30.84 M H100-hours ratio 0.86둘 다 약 15% 이내입니다. 이 정도 추정이 마땅히 가져야 할 정확도이고, 보통 인용되는 정확도보다는 상당히 낫습니다.
두 정의를 모두 테이블에 올려놓은 headline 비교
섹션 링크: 두 정의를 모두 테이블에 올려놓은 headline 비교이 주제에서 가장 반복되는 숫자는 2019년에 약 $43,000이 들었던 GPT-2급 모델을 오늘날 몇십 달러로 재현할 수 있다는 것입니다. 현대 쪽 절반은 잘 문서화되어 있습니다. 역사 쪽 절반은 그렇지 않습니다.
오늘. Karpathy의 nanochat README: "you can train your own GPT-2 capability LLM ... for only $48 (~2 hours of 8XH100 GPU node) ... On a spot instance, the total cost can be closer to ~$15."32 여기서 "GPT-2 capability"는 정확하고 공개되어 있습니다. GPT-2의 CORE score 0.256525를 이기는 것이며, 2026년 3월 14일 기준 best entry가 1.65 hours인 leaderboard 위에 있습니다. $48은 GPU-hour당 $3를 가정하며, Lambda의 list $3.99보다 낮습니다. list price라면 $64에 가깝습니다.
2019년. primary source는 없습니다. OpenAI는 duration이나 cost를 공개한 적이 없습니다. chain은 2019년 2월 The Register에서 시작합니다. "256 Google TPU3 cores"라고 보도했지만 가격과 기간은 없습니다. 그다음 2019년 6월 Synced가 hardware cost가 Google Cloud에서 시간당 $256이라고 적고, "OpenAI didn't specify the training duration"이라고 명시합니다. $43,008은 $256/hour에 아무도 출처를 댄 적 없는 168 hours 가정을 곱한 것입니다.
따라서 정직한 headline은 이렇습니다. GPT-2의 공개 benchmark score와 맞먹는 모델은 오늘날 rented hardware에서 $100 훨씬 아래로 학습할 수 있습니다. 반면 2019년 비용은 공개된 적이 없고, 유명한 추정치는 duration에 대한 출처 없는 추측에 의존합니다. 붕괴는 실제이고, 현대 쪽 절반은 신용카드만 있으면 누구나 재현할 수 있습니다. 하지만 비율은 존재하지 않는 숫자 위의 산술입니다. 공개된 training cost 전반의 상태가 이렇습니다. GPT-3 논문에는 dollar amount가 전혀 없고, Table D.1의 FLOPs만 있습니다.7 Llama 3 논문에도 없습니다.5 당신이 읽은 모든 training cost는 FLOP count, hardware assumption, price assumption에서 나온 추정입니다. 항상 누구의 가정인지 물어볼 가치가 있습니다.
base model은 무엇을 알며, 언제부터 그것을 알지 못하게 되었는가
섹션 링크: base model은 무엇을 알며, 언제부터 그것을 알지 못하게 되었는가결과물은 고정된 순간에 조립된 고정 corpus를 보았고, 그로부터 두 속성이 따라옵니다.
첫째는 knowledge cutoff입니다. collection date 이후 모델은 아무것도 모릅니다. "불확실하다"가 아니라 아무것도 모릅니다. 그리고 그렇게 말하지 않고 유창하게 꾸며냅니다. 그렇게 말하는 behavior로 학습된 적이 없기 때문입니다. Llama 3.1의 model card는 2023년 12월을 제시합니다.33 모든 모델에는 하나씩 있으며, 이것은 deployment가 아니라 training data의 속성입니다. 이를 우회하는 것은 retrieval 문제이고, 그것은 19장입니다.
둘째는 base model이 답하기보다 완성한다는 것입니다. "프랑스의 수도는 무엇인가?"를 주면 그럴듯한 continuation은 또 다른 질문일 수 있습니다. corpus에서 그 문자열은 연습문제 목록에 가장 자주 등장하기 때문입니다.
다음은 어디로 가는가
섹션 링크: 다음은 어디로 가는가text completer는 assistant가 아닙니다. instruction을 따르지 않습니다. corpus 어디에도 request는 이어 쓰는 것이 아니라 obey해야 한다고 알려 준 것이 없기 때문입니다. 두 participant가 있는 conversation이라는 개념도 없습니다. harmful prompt의 가장 probable한 continuation을 기꺼이 생성합니다. probable이 그것이 최적화된 유일한 것이기 때문입니다.
그것을 답하는 무언가로 바꾸려면 두 번째 단계가 필요합니다. 비용은 첫 단계의 1%의 극히 일부이고, 거의 전부가 원하는 behavior의 example을 보여 준 뒤 자체 output의 pair를 비교하는 일로 구성됩니다. instruction following, chat template, refusal, 그리고 — 사람들이 놀라지만 — tool을 call하는 능력이 모두 그 단계에서 나옵니다. 11장이 그 단계입니다. supervised fine-tuning, RLHF, DPO와 GRPO, 그리고 "aligned"가 무엇을 의미하며 누가 결정하는지에 대한 질문입니다.
출처와 방법
섹션 링크: 출처와 방법이 장과 함께 읽을 만한 것: Karpathy의 build-nanogpt와 그 accompanying video는 이 장이 감당할 수 없는 속도로 전체 GPT-2 reproduction을 end to end로 안내합니다. 그리고 Stanford CS324, Large Language Models는 data와 environmental impact에 대한 강의에서 이 과정이 한 번 다루고 위임하는 material을 더 깊이 파고듭니다.
-
Kaplan, J., McCandlish, S., Henighan, T., Brown, T. B., Chess, B., Child, R., Gray, S., Radford, A., Wu, J. and Amodei, D. Scaling Laws for Neural Language Models. arXiv:2001.08361 (2020). 세 power law는 §1.2의 Eqs. (1.1)–(1.3)에 있고, 전체 상수는 Appendix A, Table 5에 있습니다. 유도는 §2.1입니다. compute-allocation 지수는 Table 6입니다. compute law가 두 개 있다는 점에 유의하세요. fixed batch size의 와 optimal batch size의 입니다. 논문은 후자가 "prediction을 만드는 데 사용되어야 한다"고 말합니다. ↩ ↩2
-
Hoffmann, J., Borgeaud, S., Mensch, A., Buchatskaya, E., Cai, T., Rutherford, E. et al. Training Compute-Optimal Large Language Models. arXiv:2203.15556 (2022). 지수는 Table 2, projected budget은 Table 3, Gopher 비교는 §4, parameter-counting convention은 Appendix F에 있습니다. Table 3 아래의 prose는 175 B와 280 B 행에 대해 Table 3 자체와 불일치합니다. 인용해야 할 version은 table입니다. ↩ ↩2 ↩3 ↩4
-
Micikevicius, P., Narang, S., Alben, J., Diamos, G., Elsen, E., Garcia, D. et al. Mixed Precision Training. arXiv:1710.03740 (2017), ICLR 2018. FP32 master weights는 §3.1, loss scaling은 §3.2입니다. ↩ ↩2
-
Rajbhandari, S., Rajbhandari, S., Ruwase, O. and He, Y. ZeRO: Memory Optimizations Toward Training Trillion Parameter Models. arXiv:1910.02054 (2019), SC20. 회계는 §3.1에 있고, activation에 대한 residual-state 수치는 §3.2에 있습니다. ↩
-
Grattafiori, A. et al. (Llama Team, AI @ Meta). The Llama 3 Herd of Models. arXiv:2407.21783 (2024). compute budget과 token count는 §1, refitted scaling law는 §3.2.1, parallelism configuration과 MFU는 Table 4, contamination analysis는 §5.1.4, over-training statement는 §9.1에 있습니다. 이 논문에는 dollar figure도 emissions table도 없습니다. ↩ ↩2 ↩3 ↩4 ↩5 ↩6
-
Stanford CS336, Language Modeling from Scratch. Lecture 2는 resource accounting을 다루고, lectures 5–8은 GPU, kernel, parallelism을, lectures 9와 11은 scaling을, lectures 13–14는 data를 다룹니다. 이 장이 engineering을 위임하는 과정이며, 공개되어 있습니다. ↩
-
Brown, T. B. et al. Language Models are Few-Shot Learners. arXiv:2005.14165 (2020). compute는 Appendix D, Table D.1에 있습니다. 해당 table에는 문자 그대로 "flops per param per token"라는 heading의 column이 있고, 모든 GPT-3 행의 값은 6입니다. contamination analysis는 §4입니다. ↩ ↩2 ↩3
-
Besiroglu, T., Erdil, E., Barnett, M. and You, J. Chinchilla Scaling: A replication attempt. arXiv:2404.10102 (2024). Chinchilla의 Figure 4를 digitising하여 data를 재구성하고, refit한 뒤, corrected exponent와 훨씬 넓은 interval을 보고합니다. ↩
-
Muennighoff, N., Rush, A. M., Barak, B., Le Scao, T., Piktus, A., Tazi, N., Pyysalo, S., Wolf, T. and Raffel, C. Scaling Data-Constrained Language Models. arXiv:2305.16264 (2023), NeurIPS 2023. 네 epoch 결과는 §6에 있고, 16-epoch half-life는 fitted 입니다. ↩
-
Touvron, H., Lavril, T., Izacard, G., Martinet, X., Lachaux, M.-A., Lacroix, T. et al. LLaMA: Open and Efficient Foundation Language Models. arXiv:2302.13971 (2023). §1은 Chinchilla-optimal training에 반대하는 inference-cost 논증을 제시합니다. ↩
-
Sardana, N., Portes, J., Doubov, S. and Frankle, J. Beyond Chinchilla-Optimal: Accounting for Inference in Language Model Scaling Laws. arXiv:2401.00448 (2023), ICML 2024. 그들의 §5에는 counterweight도 포함되어 있습니다. extreme token ratio로 학습한 모델은 계속 향상되지만 "scaling law가 예측하는 것보다 더 느리게" 향상됩니다. ↩
-
Wei, J., Tay, Y., Bommasani, R., Raffel, C., Zoph, B., Borgeaud, S. et al. Emergent Abilities of Large Language Models. arXiv:2206.07682 (2022), TMLR. 정의는 §2, example과 compute threshold는 §3–4 및 Table 1에 있습니다. ↩
-
Schaeffer, R., Miranda, B. and Koyejo, S. Are Emergent Abilities of Large Language Models a Mirage? arXiv:2304.15004 (2023), NeurIPS 2023 outstanding paper. metric 논증은 §2, BIG-Bench meta-analysis는 §4, constructed vision example은 §5입니다. ↩
-
Common Crawl, August 2026 Crawl Archive Now Available (CC-MAIN-2026-34), published 24 August 2026, accessed 2026-09-06. 자체 front page는 "15년에 걸친 3,000억 page 이상", "10 petabytes 이상"이라고 주장합니다. 이는 여기서 가격을 매긴 monthly crawl이 아니라 전체 archive에 대한 figure입니다. ↩
-
Raffel, C., Shazeeer, N., Roberts, A., Lee, K., Narang, S., Matena, M., Zhou, Y., Li, W. and Liu, P. J. Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer. arXiv:1910.10683 (2019), JMLR 21(140). C4 filter는 §2.2입니다. 논문은 크기를 token이 아니라 byte로 제공합니다. 널리 이 논문에 귀속되는 1,560억-token figure는 아래 Dodge et al.에서 온 것입니다. ↩
-
Dodge, J., Sap, M., Marasović, A., Agnew, W., Ilharco, G., Groeneveld, D., Mitchell, M. and Gardner, M. Documenting Large Webtext Corpora: A Case Study on the Colossal Clean Crawled Corpus. arXiv:2104.08758 (2021), EMNLP 2021. dialect removal rate는 §5.3, C4의 benchmark contamination은 §4.2입니다. ↩
-
Lee, K., Ippolito, D., Nystrom, A., Zhang, C., Eck, D., Callison-Burch, C. and Carlini, N. Deduplicating Training Data Makes Language Models Better. arXiv:2107.06499 (2021), ACL 2022. 61,036회 반복은 footnote 1입니다. memorisation figure는 §6.2, Table 4에 있으며 50-token exact-match criterion 아래 generated tokens의 percentage입니다. ↩
-
Penedo, G., Kydlíček, H., Ben Allal, L., Lozhkov, A., Mitchell, M., Raffel, C., Von Werra, L. and Wolf, T. The FineWeb Datasets: Decanting the Web for the Finest Text Data at Scale. arXiv:2406.17557 (2024), NeurIPS 2024 Datasets and Benchmarks. deduplication result는 §3.4입니다. released dataset은 이후 논문의 15조 token을 넘어 더 커졌습니다. ↩
-
Gao, L., Biderman, S., Black, S. et al. The Pile: An 800GB Dataset of Diverse Text for Language Modeling. arXiv:2101.00027 (2020). Books3는 §2.3과 Table 1에 있고, consent table은 Table 5입니다. corpus는 825.18 GiB이므로 title조차 round-down입니다. ↩
-
Bartz v. Anthropic, No. 4:24-cv-05417 (N.D. Cal.). Fair-use order 23 June 2025 (Dkt. 231); class certification 17 July 2025; final approval and judgment 20 July 2026 (Dkt. 680). settlement는 past input만 release하며, output도 future conduct도 아닙니다. ↩
-
Kadrey v. Meta, No. 3:23-cv-03417-VC (N.D. Cal.), summary judgment 25 June 2025 (Dkt. 598). torrenting에 대한 distribution claim은 결정되지 않았고 여전히 live 상태라는 점에 유의하세요. ↩
-
Thomson Reuters v. ROSS Intelligence, No. 1:20-cv-00613-SB (D. Del.), revised opinion 11 February 2025 (Dkt. 770), Bibas J. Third Circuit에 interlocutory appeal 중입니다(No. 25-2153). 2026년 6월 11일 변론되었고, 작성 시점에는 undecided입니다. ↩
-
Perrigo, B. Exclusive: OpenAI Used Kenyan Workers on Less Than $2 Per Hour to Make ChatGPT Less Toxic. TIME, 18 January 2023. $2는 모든 target을 충족한 senior reviewer의 ceiling입니다. 다수인 junior labeller는 $1.32를 집에 가져갔습니다. 같은 기사에 인용된 Sama의 반박은 $1.46–$3.74와 더 낮은 quota를 제시합니다. ↩
-
Luccioni, A. S., Viguier, S. and Ligozat, A.-L. Estimating the Carbon Footprint of BLOOM, a 176B Parameter Language Model. arXiv:2211.02001 (2022), JMLR 24(253). Tables 1 and 3. ↩
-
Patterson, D., Gonzalez, J., Le, Q., Liang, C., Munguia, L.-M., Rothchild, D., So, D., Texier, M. and Dean, J. Carbon Emissions and Large Neural Network Training. arXiv:2104.10350 (2021). GPT-3 figure는 Table 4에 있고, NAS estimate correction은 §4.1입니다. ↩
-
Strubell, E., Ganesh, A. and McCallum, A. Energy and Policy Considerations for Deep Learning in NLP. arXiv:1906.02243 (2019), ACL 2019. 가장 많이 인용된 숫자에 일어난 일 때문에 정확히 읽을 가치가 있습니다. 논문은 신중하고, extrapolation을 명시했으며, 그래도 모두가 반복한 한 줄에서 두 자릿수 규모로 틀렸습니다. ↩
-
Smith, S. J., Hubbard, A., Newkirk, A., Ganeshalingam, M., Holecek, B., Sartor, D., Mills, M. and Shehabi, A. United States Data Center Energy Usage Report: 2025 Update. LBNL-2001758 (18 June 2026). 이는 historical series에 대해 널리 인용된 2024 report를 downward로 revise합니다. 2023년에 대해 176 TWh figure를 인용한다면, superseded edition을 인용하는 것입니다. ↩
-
Bender, E. M., Gebru, T., McMillan-Major, A. and Shmitchell, S. On the Dangers of Stochastic Parrots: Can Language Models Be Too Big? FAccT '21, pp. 610–623. DOI 10.1145/3442188.3445922. "Documentation debt"는 §4.4입니다. 논문 자체의 carbon figure는 Strubell et al.에서 인용되어 위 correction을 상속한다는 점에 유의하세요. 이는 그 논증의 반박이 아니라 오히려 illustration입니다. ↩
-
NVIDIA. NVIDIA H100 Tensor Core GPU product page,
nvidia.com/en-us/data-center/h100/(accessed 2026-09-06). 해당 page의 모든 tensor-core 행은 FP64를 제외하고 "with sparsity" footnote를 달고 있습니다. 여기서 사용한 dense BF16 수치는 공개된 1,979 TFLOPS의 절반입니다. ↩ -
Lambda. GPU Cloud pricing,
lambda.ai/pricing(accessed 2026-09-06). on-demand, GPU당 시간당, tax 전입니다. 이 절의 가격은 이 과정의 그 어떤 것보다 빨리 낡을 것입니다. 그 주변의 산술은 그렇지 않습니다. ↩ -
Karpathy, A.
karpathy/llm.c, discussion #481, Reproducing GPT-2 (124M) in llm.c in 90 minutes for $20 (28 May 2024), and discussion #677, Let's reproduce GPT-2 (1.6B): one 8XH100 node, 24 hours, $672, in llm.c (11 July 2024). ↩ -
Karpathy, A.
karpathy/nanochat, README and "time to GPT-2" leaderboard (accessed 2026-09-06). $48 figure와 "GPT-2 capability"의 CORE-score definition은 모두 README에 있습니다. repository 자체의speedrun.sh는 "approximately 1.5 hours"라고 하므로, 두 시간 figure는 반올림된 것으로 보세요. ↩ -
Meta. Llama 3.1 model card,
models/llama3_1/MODEL_CARD.mdinmeta-llama/llama-models(accessed 2026-09-06). 405 B 모델에 대한 30.84 M H100-hours, total 39.3 M, location-based figure 11,390 tCO2eq, 그리고 2023년 12월 data cutoff의 출처입니다. ↩