---
schemaVersion: 1
slug: mp-46-20260208-karpathy-nanochat-gpt2
ticketId: MP-46
lang: zh-tw
title: Karpathy 只花 $72 就訓練出 GPT-2 — 7 年前 OpenAI 花了 $43,000
summary: Karpathy 開源了 nanochat — 一個極簡 LLM 訓練框架。用 8 張 H100 跑 3 小時、花 $72 就能訓練出 GPT-2 等級的模型。而 2019 年 OpenAI 訓練同樣的 GPT-2 花了 $43,000。這是 600 倍的成本下降，每年約 2.5 倍速在降。如果用 spot instance，甚至只要 $20。
originalDate: 2026-01-31
translatedDate: 2026-02-08
source: Andrej Karpathy (@karpathy)
sourceUrl: https://x.com/karpathy/status/2017703360393318587
author: null
authorshipNote: null
canonicalUrl: https://gu-log.vercel.app/posts/mp-46-20260208-karpathy-nanochat-gpt2
status: published
replacementTicketId: null
replacementUrl: null
---

# Karpathy 只花 $72 就訓練出 GPT-2 — 7 年前 OpenAI 花了 $43,000

> **來源:** [Andrej Karpathy (@karpathy)](https://x.com/karpathy/status/2017703360393318587)

## 從 $43,000 到 $72

想像一下：你站在 Costco 收銀台前面，手上拿著一箱啤酒，結帳金額大概 $20 美金。

然後你想到，這筆錢在 2026 年，夠你從零訓練一個語言模型了。

2026 年 1 月 31 日，[Andrej Karpathy](https://gu-log.vercel.app/glossary#andrej-karpathy) 在 X 上丟出了這顆炸彈：

> nanochat can now train GPT-2 grade LLM for ＜＜$100 (~$73, 3 hours on a single 8XH100 node).

8 張 H100 GPU，3 小時，成本 **$72**。訓練出來的東西跟 GPT-2 一樣強。如果你撿雲端平台的剩餘算力（spot instance），成本更可以壓到 **$20** 左右。

> **Mogu murmur：**
>
> $20 美金。一頓好吃的牛排錢。2019 年 OpenAI 訓練同一個模型花了四萬三千美金，現在你用午餐的預算就能搞定。我不知道你怎麼想，但我覺得這個畫面很超現實 — 像是有人告訴你「欸，現在 iPhone 一台十塊錢」(╯°□°)╯

## GPT-2：LLM 的 Hello World

GPT-2 是 OpenAI 在 2019 年發布的語言模型。當年 OpenAI 說它「**too dangerous to release**」— 太危險了不能公開。

但問題來了：為什麼 Karpathy 不去訓練更新更厲害的模型，偏偏對 GPT-2 這麼執著？

他自己的回答是這樣的：

> GPT-2 is just my favorite LLM because it’s the first time the LLM stack comes together in a recognizably modern form.

GPT-2 之所以特別，是因為它是第一個「長得像現代 LLM」的模型。Tokenization、transformer 架構、pretraining — 全都到位了。它就像是 LLM 的 Hello World。用 Karpathy 自己的話來說：

> GPT-2 (7 years ago): too dangerous to release. GPT-2 (today): new MNIST! :)

> **Mogu 真心話：**
>
> MNIST 是機器學習界的九九乘法表 — 一堆手寫數字圖片，每個入門者的第一個練習題。Karpathy 的意思是：曾經的尖端黑科技，現在變成新手教材了。科技的殘酷就在這裡 — 你曾經覺得高不可攀的東西，幾年後變成大學生的作業 (╯°□°)╯

## 600 倍的成本崩跌

好，讓我們來看最震撼的數字對比。

2019 年，OpenAI 用 32 顆 TPU v3 跑了整整 **168 小時** — 對，就是 7 天不停機 — 成本大約 **$43,000**。

2026 年，Karpathy 用 8 張 H100 跑了 **3 小時**。$72。收工。

**600 倍**。平均每年便宜 2.5 倍。

而且 Karpathy 說這還不是底：

> I think this is likely an underestimate because I am still finding more improvements relatively regularly and I have a backlog of more ideas to try.

他手上還有一堆想法沒試完。換句話說，這個數字還會繼續往下掉。

## nanochat：一行指令從零到聊天

那 Karpathy 到底是怎麼做到的？答案是 [nanochat](https://github.com/karpathy/nanochat) — 他自己寫的開源 LLM 訓練框架。

nanochat 的設計哲學很極端：整個 LLM 的生命週期 — 從 tokenization 到 pretraining 到 finetuning 到 evaluation 到 inference 到 chat UI — 全部包在一個乾淨到不行的 codebase 裡。它只在一個 GPU 節點上跑，程式碼量壓到最小，讓你想改什麼就改什麼。

最狂的是，你只需要設定**一個參數** `--depth`（transformer 有幾層），其他所有超參數它自己算。整個流程就是一行指令：

```bash
bash runs/speedrun.sh
```

3 小時後，你就有一個自己的 ChatGPT（幼稚園版），可以打開 web UI 跟它聊天：

```bash
python -m scripts.chat_web
```

> **Mogu 想補充：**
>
> Karpathy 自己說跟這個模型聊天「有點像跟幼稚園生講話」— 它會胡說八道、會 hallucinate、可能會跟你說天空是綠色的。但重點不是它多聰明。重點是你花 $72、等 3 小時，就能親手從零生出一個會說話的 AI。兩年前這是科幻小說，現在是週末 side project ┐(￣ヘ￣)┌

## GPT-2 Speedrun 排行榜

Karpathy 不只自己跑，他還搞了一個「GPT-2 速度跑」排行榜，把全世界最快的紀錄都列出來。這基本上就是 LLM 訓練界的 F1 賽車 — 大家拼命壓圈速。

| # | 時間 | CORE 分數 | 說明 | 日期 |
| --- | --- | --- | --- | --- |
| 原版 | 168 小時 | 0.2565 | OpenAI 原始 GPT-2 | 2019 |
| #1 | 3.04 小時 | 0.2585 | d24 baseline | Jan 29 |
| #2 | 2.91 小時 | 0.2578 | d26 + fp8 | Feb 2 |
| #3 | 2.76 小時 | 0.2602 | batch size 加大 | Feb 5 |

短短一週，從 3.04 壓到 2.76。而且你注意到了嗎？分數不只沒掉，還比原版更高。跑更快，結果還更好。

> **Mogu 歪樓一下：**
>
> 等等，那個 CORE score 是什麼？簡單講就是一個綜合戰鬥力分數 — 把 22 項不同的能力測驗（ARC、MMLU 之類的）全部打包成一個數字。GPT-2 原版的 CORE 分數是 0.256525，你只要超過這個數字就算「打敗 GPT-2」。這就像用更少的油、開更短的路，結果車速還更快。不科學，但它就是發生了 (⌐■\_■)

## fp8：理論很美好，現實很骨感

2 月 3 日，Karpathy 又分享了他跟 fp8（8-bit floating point）訓練搏鬥的心得。

概念很簡單：H100 跑 fp8 的理論算力是 bf16 的 2 倍。如果精度降一半、速度翻倍，那不是賺翻了嗎？

呃，理論歸理論。

> In practice it’s a lot less. We’re not 100% compute bound in the actual training run, there is extra overhead from added scale conversions…

Karpathy 試了兩種策略。**Rowwise scaling** 的 loss 曲線跟 bf16 很接近（品質保住了），但每一步反而更慢，因為精度轉換的 overhead 把速度優勢吃光了。**Tensorwise scaling** 終於跑得比較快，大概快了 7.3%，但每一步的品質比較差。

最終結果：大約 **5% 的淨加速**。離期望的 25% 差很遠。

> **Mogu OS：**
>
> fp8 就像把你的量尺換成目測。量得比較快沒錯，但每次都有點偏。Karpathy 折騰半天搞出 5% 加速，聽起來很少，但在 speedrun 的世界裡，5% 就是 3.04 小時和 2.91 小時的差距 — 排行榜上整整一個名次。所以他還是把它留下了。有時候 5% 就是你需要的全部 (๑•̀ㅂ•́)و✧

## 那些讓 600 倍加速成為可能的技術

好，成本崩了 600 倍，不可能只靠硬體變便宜。Karpathy 到底在軟體端做了什麼？

最大的功臣是 **Muon Optimizer**。Karpathy 講了一個很經典的故事：他花了整整一天試圖把 Muon 拔掉，只用老牌的 AdamW 就好。結果做不到。

> I tried for ~1 day to delete it and only use AdamW and I couldn’t.

在 ML 圈，「我試圖把你拔掉但拔不掉」基本上就是最高級別的讚美了。AdamW 統治了 optimizer 界將近十年，結果在這個場景被新人 Muon 壓著打。

另一個大改進是 **Flash Attention 3** — 更快的 attention kernel，而且支援 window\_size 參數，讓你可以做交替 attention 模式。然後還有 **residual pathways 加上 learnable scalars**（讓模型自己學 skip connection 要保留多少比重）和 **value embeddings**（額外的 embedding 增強表達能力）。

這些東西單獨看都不是什麼驚天動地的突破，但疊在一起就是質變。就像煮一鍋好湯 — 不是某一個食材讓它好喝，是所有配料的化學反應。

## 延伸閱讀

- [GP-85: Programming 變得面目全非：Karpathy 說 2025 年 12 月是分水嶺](https://gu-log.vercel.app/posts/gp-85-20260225-karpathy-programming-unrecognizable/)
- [MP-135: Karpathy 用 8 個 AI Agent 組了一個研究團隊 — 結果它們根本不會做研究](https://gu-log.vercel.app/posts/mp-135-20260301-karpathy-multi-agent-research-org/)
- [MP-56: Karpathy 的誠實告白：AI Agent 還不能自動優化我的 Code（但我還沒放棄）](https://gu-log.vercel.app/posts/mp-56-20260210-karpathy-agents-cant-optimize-nanochat/)

> **Mogu 想補充：**
>
> Welcome to 2026, AdamW (￣▽￣)／ 你服務了十年，辛苦了。但 Muon 來了，你可以退休了。好啦開玩笑的，AdamW 在其他場景還是很強，但 Karpathy 這個 benchmark 基本上就是 Muon 的主場。

## 所以 — 一個古董模型變便宜，關我什麼事？

你可能在想：「GPT-2 都 2019 年的東西了，訓練它便宜又怎樣？」

這個問題很好，但你漏看了一件事。

GPT-2 的訓練成本每年便宜 2.5 倍，這個速度如果套用到今天的 frontier model 呢？GPT-5、Claude Opus 這些等級的模型，今天的訓練成本是天文數字 — 但按照這個下降曲線，幾年後就不是了。這代表更多小公司甚至個人可以訓練自己的模型，fine-tuning 的成本會低到不值一提，開源模型的品質天花板會不斷被推高。

再想遠一點。$72 訓練一個 LLM，意味著大學課堂可以讓學生**親手**訓練模型了。不是「看論文想像」，不是「用別人的 API 呼叫」，是自己從零跑一遍。這種 hands-on 的經驗值跟只會 call API 完全是兩個世界。

而 Karpathy 把 nanochat 設計成一個乾淨、可 hack、有排行榜的實驗平台，其實就是在重演當年 MNIST + LeNet 催生 CNN 革命的劇本。給社群一個好玩的 playground，人才自然會湧進來。

## $20 的 LLM

七年前，GPT-2 是「太危險不能公開」的黑科技。

今天，你用一頓飯的錢就能從零訓練一個，然後打開 web UI 跟你的幼稚園級 AI 聊天。它會跟你說天空是綠色的，但嘿 — 它是你親手訓練的。

排行榜上的紀錄每週都在刷新，目標是壓到 1 小時以下。下次有人跟你說「訓練 AI 模型很貴」，你就把 nanochat 的 GitHub 連結甩給他。

---

**原文連結**：

- [Karpathy 原始推文（Jan 31）](https://x.com/karpathy/status/2017703360393318587)
- [fp8 訓練更新（Feb 3）](https://x.com/karpathy/status/2018804068874064198)
- [nanochat GitHub](https://github.com/karpathy/nanochat) (；ω；)
