AI Infra 学习小结

June 27, 2026

最近两年一直在学习 AI 底层相关的东西,希望对整体的实现机制有所了解,到目前为止共完成了3个项目,都是用C++从零开始实现:

1、TinyTorch

项目链接:https://github.com/keith2018/TinyTorch

类似于简化版本的 libTorch,从零实现的训练框架:

  • 实现了 Tensor、function、module、optimizer、dataLoader 等基础模块,与 pytorch 一样通过动态图实现自动微分,可以完整跑通 mnist 训练
  • 支持 CPU 和 CUDA(不过 CPU 版本没啥优化)
  • 支持混合精度 FP16, FP32 and BF16
  • 支持分布式训练 DDP(基于 NCCL), 支持单机多卡、多机多卡

2、TinyFA

项目链接: https://github.com/keith2018/TinyFA

从零实现的 flash attention 算子库,目前只针对 Ampere 系列 (A100/A10) 做过优化,且只支持 forward。性能上用 A100 测试大概达到官方的 95% 左右:

  • Device: NVIDIA A100-SXM4-40GB
  • Configuration: batch=2, numHeads=32, headDim=128, SeqLen=4096
Dtype Causal TinyFA (ms) TinyFA (TFLOPS) flash_attn (ms) flash_attn (TFLOPS) Relative
fp16 False 2.832 194.09 2.654 207.14 0.94x
fp16 True 1.636 168.01 1.557 176.54 0.95x
bf16 False 2.743 200.40 2.623 209.58 0.96x
bf16 True 1.624 169.28 1.537 178.82 0.95x

3、TinyGPT

项目链接:https://github.com/keith2018/TinyGPT

从零开始实现的 LLM 推理框架,依赖了前面的 TinyTorch 和 TinyFA:

  • 手写了个 BPE tokenizer,实测比 tiktoken 更快
  • 支持模型:Llama 3.2、Qwen 2.5、Qwen 3 等
  • 支持 Paged Attention、Continuous Batching
  • 支持多卡推理(TP 模式)

性能上用 A10 跑 Qwen3 0.6B (bf16)单 prompt 可以到 230 token/s (输入5,输出 1024),同样的配置情况下 vllm 250+ ,不过 server 模式整体吞吐率落后 vllm 很多,还没有太多优化

小结

这3个项目都是用于个人学习,“纸上得来终觉浅”,自己实现一遍更有助于理解,当然作为Demo类工程,很多细节并没有过多关注,性能上也是有很大优化空间的。

现在有了 Claude 加持后,学习效率确实高了很多了,写代码的效率就更高了,甚至更多的是让 AI 写,自己再 review 一下,想想从 ChatGPT 出来才3年时间,程序员的工作方式就彻底改变了,并且看起来再也回不去了。

下一步的计划,个人准备开始学习算法理论相关的东西,可能主要是自监督、持续学习这些方向,早期的小模型这些方向貌似比较难做,大模型出来后似乎有点不一样了?另外也准备学习下神经科学、脑科学方面的东西,“路漫漫其修远兮”,就当个小爱好吧~