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,Continue reading “AI Infra 学习小结”