microGPT纯C实现在Apple M5上达到10M tps

Hacker News Top 工具

摘要

microGPT-C项目是一个基于纯C语言的最小化、无依赖的字符级Transformer实现,在Apple M5硬件上可达到超过10M tps的推理速度。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/08/19 16:10

vixhal-baraiya/microgpt-c

来源:https://github.com/vixhal-baraiya/microgpt-c

microGPT-C

在纯C、无依赖环境中训练和推理GPT的最原子化方式。

这是一个字符级Transformer,包含前向传播、反向传播、Adam优化器和采样功能,全部集成在单个C文件中,仅依赖libc。它能在几秒内基于约3.2万个名字进行训练并生成新名字。

构建与运行

make run

或直接运行,支持每行一个项目的任意语料库:

./microgpt data/names.txt

可在macOS、Linux、Windows(MSYS2)上构建,支持ARM64架构(NEON指令集)和x86-64架构(AVX2指令集)。Makefile会自动选择适配主机的编译标志。

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)

推理生成
样本  1: kayley
样本  2: maria
样本  3: arana
样本  4: shayan
样本  5: jayden
样本  6: saria
样本  7: kaylen
样本  8: amari
样本  9: alina
样本 10: mailyn
  C语言 fp32+NEON性能       10168430 token/秒

技术说明

该模型具有4192个参数,更注重泛化能力而非记忆能力。 在32033个名字中的20000个上训练后,它在训练集上的评分为每字符2.2054 nats,在未见过的12033个样本上达到2.2039 nats,优于参数量近五倍的插值三元模型。

训练和推理使用独立的前向传播路径。gpt_forward存储反向传播的激活值;gpt_forward_infer是专门的单token推理路径,其logits值与全精度路径的浮点舍入误差匹配。 文档/性能说明详细介绍了该推理路径的工作原理及性能限制。

设备计算后端性能(token/秒)
Apple M5 ProNEON10,168,430
AMD Ryzen 5 5600HAVX26,927,775

相似文章

GPT-4o mini:推进成本高效的智能模型

OpenAI Blog

OpenAI 发布 GPT-4o mini,一款成本高效的小型模型,每百万输入令牌价格仅为 15 美分,比 GPT-3.5 Turbo 便宜 60%,在 MMLU 上表现强劲(82%),在推理、数学和编码任务上超越 Gemini Flash 和 Claude Haiku 等竞争对手。