GitHub 项目精选:按七层分组,每层先看一两个教学项目,再对照工业实现¶
每层先读最小的教学项目(几百到几千行),弄懂原理后再对照工业实现。下表的星数和最近更新月份由 gh api 实测(2026-11-01),课程站点用 curl 确认可访问。
核实时发现四处变化:
- nanoGPT 已在 2025 年 11 月标为弃用,作者推荐改用 nanochat。
DefTruth/CUDA-Learn-Notes已迁到xlite-dev/LeetCUDA。- Ultrascale Playbook 是 Hugging Face Space,不是 GitHub 仓库。
- CMU DLSys 的 needle 作业以课程站点为准。
1. 模型:从零写出 tokenizer、Transformer 和 GPT¶
| 项目 | 星 | 更新 | 内容 | 对 SoC 架构师的价值 |
|---|---|---|---|---|
| rasbt/LLMs-from-scratch | 108k | 2026-10 | 配书教程,从分词、注意力讲到预训练和微调 | 每个算子的形状和 FLOPs 讲得清楚 |
| karpathy/nanochat | 59k | 2026-09 | 单节点跑通分词、预训练、SFT、RL、推理全链路 | 能看到 fp8、batch 大小对训练时间的真实影响 |
| karpathy/minbpe | 11k | 2024-07 | 最小的 BPE tokenizer | 理解词表大小对 embedding 开销的影响 |
| karpathy/llm.c | 31k | 2025-06 | 纯 C/CUDA 训练 GPT-2 | 直接看到每个 kernel 和每次显存搬运 |
| jingyaogong/minimind | 65k | 2026-10 | 中文,从零训练 64M 小模型,含 MoE、SFT、DPO、GRPO | 单卡复现完整流程 |
备选:build-nanogpt(逐 commit 视频讲解)、nn-zero-to-hero。
2. 训练:后训练与分布式并行¶
| 项目 | 星 | 更新 | 内容 | 对 SoC 架构师的价值 |
|---|---|---|---|---|
| huggingface/picotron | 2.3k | 2025-08 | 教学用 4D 并行(DP/TP/PP/CP),每个文件不到 300 行 | 直接对应 all-reduce、all-gather 的通信量 |
| Ultrascale Playbook | — | — | ZeRO、各种并行和计算通信重叠的取舍 | 估算互连带宽需求 |
| huggingface/trl | 20k | 2026-10 | SFT、DPO、GRPO | 了解 RL 阶段推理与训练混合的负载 |
| Jiayi-Pan/TinyZero | 13k | 2026-02 | 最小化复现 R1-Zero | 低成本看清 GRPO 流程 |
| NVIDIA/Megatron-LM | 18k | 2026-11 | 工业级张量、流水、专家并行 | 参考实现 |
备选:nanotron、DeepSpeed(ZeRO 出处)、torchtitan、verl、rasbt/reasoning-from-scratch。
3. 推理:KV Cache、批处理、量化和投机解码¶
| 项目 | 星 | 更新 | 内容 | 对 SoC 架构师的价值 |
|---|---|---|---|---|
| skyzh/tiny-llm | 5.5k | 2026-10 | 用 MLX/Metal 写 Qwen3 推理,自己实现 W4 matvec | 面向统一内存 SoC,和本机 Mac 环境最贴近 |
| GeeeekExplorer/nano-vllm | 16k | 2026-04 | 约 1200 行,含 prefix cache、张量并行、CUDA graph | 完整读懂 paged KV 和调度 |
| sgl-project/mini-sglang | 5.5k | 2026-05 | 约 5000 行,含 radix cache、chunked prefill | 看清 Prefill 和 Decode 的负载差异 |
| ggml-org/llama.cpp | 133k | 2026-11 | 端侧推理、GGUF 量化、多后端 | 新硬件接入后端的模板 |
| vllm-project/vllm | 96k | 2026-11 | PagedAttention 工业实现 | 参考实现 |
备选:SGLang、llama2.c、gpt-fast、EAGLE(投机解码)、llm-awq、torchao。
4. 框架与编译器:从自动微分到图编译¶
| 项目 | 星 | 更新 | 内容 | 对 SoC 架构师的价值 |
|---|---|---|---|---|
| karpathy/micrograd | 18k | 2026-08 | 约 100 行标量自动微分 | 理解反向传播的本质 |
| minitorch / DLSys needle | 2.4k / 课程 | 2024 / 2026 秋 | 自己写张量库、自动微分和 CPU/GPU 后端 | 理解 stride、broadcast 和后端抽象 |
| tinygrad/tinygrad | 34k | 2026-11 | 小型 lazy 图 + kernel 融合编译器,后端易接入 | 适合给自家 NPU 写原型后端 |
| j2kun/mlir-tutorial | 1.4k | 2025-07 | MLIR 方言、pass、lowering 入门 | NPU 编译栈的事实标准 |
| apache/tvm + mlc.ai | 14k | 2026-10 | TensorIR、调度、自动调优 | 硬件内建指令映射和切块搜索 |
备选:triton-lang/triton、openxla/xla、BBuf/tvm_mlir_learn(中文笔记)、buddy-mlir、tilelang、mirage。
5. 算子与硬件:kernel 优化与加速器设计¶
| 项目 | 星 | 更新 | 内容 | 对 SoC 架构师的价值 |
|---|---|---|---|---|
| jax-ml/scaling-book(在线版) | 1.5k | 2026-10 | 用 roofline 分析 TPU 上的训练和推理 | 最贴近架构师思维,必读 |
| siboehm/SGEMM_CUDA / flame/how-to-optimize-gemm | 1.4k / 2.0k | 2025-09 / 2023-07 | GEMM 逐步优化(GPU、CPU 各一份) | 理解切块与数据复用 |
| xlite-dev/LeetCUDA | 12k | 2026-10 | 200 多个 kernel,含 FP8/FP4 和 FlashAttention | 理解 Tensor Core 数据通路 |
| gpu-mode/lectures + resource-stream | 6.9k / 2.4k | 2026-09 | CUDA/Triton 讲座和资料索引 | 最全的社区入口 |
| tiny-tpu / gemmini / tiny-gpu | 1.4k / 1.5k / 13k | 2026-04 / 2026-10 / 2024-08 | 脉动阵列 TPU、RISC-V 加速器生成器、最小 GPU 的 Verilog | 把软件需求落到 RTL |
备选:flash-attention-minimal(约 100 行 CUDA)、ThunderKittens、CUTLASS、GPU-Puzzles、Triton-Puzzles;建模工具 SCALE-Sim、Timeloop、LLM-Viewer、chipyard。
6. 课程与书:用一门系统课串起全部层次¶
| 资源 | 状态 | 价值 |
|---|---|---|
| Stanford CS336 | 2026 春;作业 1、作业 2 系统 | 从零写 LM,含 Triton 和分布式,覆盖最全 |
| CMU 10-414 DLSys | 2026 秋 | 自己写框架和后端 |
| MIT 6.5940 TinyML | 2026 秋 | 量化、剪枝和端侧部署,贴近 SoC |
| harvard-edge/cs249r_book | 30k | ML 系统教材 |
| stas00/ml-engineering | 20k | 训练集群、互连、存储实务 |
| mlabonne/llm-course / happy-llm / openmlsys | 85k / 35k / 4.9k | 路线图、中文教程、中文 ML 系统书 |