一套完全从零构建的 LLM 全栈系统。8 层、核心约 3,300 行代码、零外部 LLM API、零外部模型权重—— 预训练、指令 SFT、Agent SFT、推理服务、KV cache、手写 BPE、CUDA + Triton。 在 RTX 5090 上 70 秒从随机权重训出一个会调工具的 agent。
124M 的小模型自己绝对算不对 4 位数加法(chat 版本会答 "13")。但给它一个 7 行 Python 写的
calc 工具,它就能答对——而且这个具体数字从没出现在训练数据里。
按构建顺序排列:先有模型结构,再训练,最后服务出来。每层 < 300 行核心代码、独立可跑、有实测数字。运行时数据反向流动——从浏览器一路下到 GPU 指令。
↑ 构建顺序 L1→L8 | 运行时一条 query 反向穿过:L7 浏览器 → L8 客户端 → L6 推理服务 → L2 Transformer → L1 GPU 矩阵乘,再把 token 逐个流式送回浏览器。
三段训练串起来,在一张 RTX 5090 上不到 70 秒跑完。每一步都从上一步的 checkpoint 接着训。
三段相加 ≈ 70 秒(5090)· 也可在 M1 CPU 上跑完整 from-scratch 路径(~7 分钟)
每个 token 经过的代码都在仓库里:算法、权重、tokenizer、KV cache、SSE 路由、UI 全是自家的。借的只有底座。
三台不同 GPU、中国大陆网络环境下独立 cold-start 验证。每个 TFLOPS、loss、latency 都有对应源码 + 实测命令。
| GPU | 架构 | 区域 | L3 训练 | Agent 端到端 |
|---|---|---|---|---|
| RTX 5090 | sm_120 | autodl 西区 | 12.2 s | ✓ 6912 |
| RTX 5090 | sm_120 | westc / westd | 13.8 s | ✓ 6912 |
| RTX 4080 SUPER | sm_89 | CN | ~18 s | ✓ 6912 |