纯C语言编写的microGPT在Apple M5 Pro上达到1000万tps

Hacker News 热门(buzzing.cc 中文翻译)·2026-08-20 04:38·15天前·dhorthy
AI 导读

一个名为microGPT-C的纯C语言字符级Transformer项目,在Apple M5 Pro上通过NEON加速实现每秒1016万token的推理速度。该模型仅4192个参数,在32033个名字中的20000个上训练后,对未见过的12033个名字的预测表现优于参数多近5倍的插值三元模型。项目无依赖、单文件,支持macOS、Linux和Windows。

Hacker News 热门(buzzing.cc 中文翻译)
36AI 编辑部评分,满分 100

纯C语言编写的microGPT在Apple M5 Pro上达到1000万tps

2026-08-20 04:38· 15天前· dhorthy
AI 导读

一个名为microGPT-C的纯C语言字符级Transformer项目,在Apple M5 Pro上通过NEON加速实现每秒1016万token的推理速度。该模型仅4192个参数,在32033个名字中的20000个上训练后,对未见过的12033个名字的预测表现优于参数多近5倍的插值三元模型。项目无依赖、单文件,支持macOS、Linux和Windows。

microGPT-C

The most atomic way to train and inference a GPT in pure, dependency-free C.

A character-level transformer with forward pass, backprop, Adam and sampling, in one C file with nothing beyond libc. It trains on ~32k names in a couple of seconds and generates new ones.

Build and run

make run

Or run it directly, on any corpus with one item per line:

./microgpt data/names.txt

Builds on macOS, Linux and Windows (MSYS2), on ARM64 with NEON and x86-64 with AVX2. The Makefile picks the flags for the host.

step 5000 / 20000 | loss 2.6036  (avg 2.2940)
step 10000 / 20000 | loss 1.9639  (avg 2.2564)
step 15000 / 20000 | loss 2.7007  (avg 2.2151)
step 20000 / 20000 | loss 2.3463  (avg 2.2201)

inference
sample  1: kayley
sample  2: maria
sample  3: arana
sample  4: shayan
sample  5: jayden
sample  6: saria
sample  7: kaylen
sample  8: amari
sample  9: alina
sample 10: mailyn
  c fp32+NEON       10168430 tok/sec

Notes

The model has 4192 parameters and generalises rather than memorises. Trained on 20000 of the 32033 names, it scores 2.2054 nats per character on those and 2.2039 on the 12033 it never saw, beating an interpolated trigram that has nearly five times as many parameters.

Training and inference use separate forward passes. gpt_forward stores activations for backprop; gpt_forward_infer is a specialised single-token path whose logits match it to within fp32 rounding. docs/PERFORMANCE.md covers how that path works and what limits it.

machine backend tok/sec
Apple M5 Pro NEON 10,168,430
AMD Ryzen 5 5600H AVX2 6,927,775

来源:Hacker News 热门(buzzing.cc 中文翻译)· github.com