# llm-from-scratch **Repository Path**: panenming/llm-from-scratch ## Basic Information - **Project Name**: llm-from-scratch - **Description**: 从零搞懂大模型:训练、加速与部署 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-22 - **Last Updated**: 2026-09-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 从零搞懂大模型:训练、加速与部署 一套**纯 CPU、零训练框架**的中文大模型完整实现——从一行 `y = kx + b` 讲到在线部署。 配套书籍《从零搞懂大模型:训练、加速与部署》(约 110 页,含 17 张手绘图)讲解每一个零件「为什么存在」。本书代码全部在仓库里,可从零运行、可复现。 ## 这是什么 - 一个 decoder-only GPT(Llama 同源架构):RMSNorm + RoPE + GQA + SwiGLU,手写自动微分(numpy 底座),**不依赖 PyTorch/TensorFlow**。 - 完整训练闭环:预训练(四大名著)+ SFT(2 万条中文指令),AdamW + 余弦退火 + 梯度裁剪。 - C 加速(`csrc/`,Apple Accelerate cblas),比纯 numpy 快约 3 倍。 - KV-cache 推理、温度/top-k 采样、多轮对话、HTTP 部署(纯标准库)。 ## 快速开始 ```bash # 1. 环境(只需 Python 3 + numpy) python3 --version python3 -c "import numpy" # 2. 跑测试(验证每个零件) python3 -m pytest -q # 3. 训练一个迷你模型(约 2 分钟) python3 scripts/train_demo.py # 4. 完整预训练(约 80 分钟,5.85M 参数) python3 scripts/train_deploy.py # 5. 部署成 HTTP 服务 python3 serve/server.py /tmp/llm_deploy 8080 ``` ## 目录结构 | 路径 | 说明 | |---|---| | `core/tensor.py` | 手写自动微分(计算图 + 反向传播) | | `model/` | Transformer 架构(attention / transformer) | | `train/` | AdamW 优化器、学习率调度、checkpoint | | `tokenizer/` | 字符级分词器 | | `data/` | 数据集、语料获取脚本 | | `csrc/` | C 加速(ctypes 调用) | | `infer/` | KV-cache 推理、多轮对话 | | `serve/` | HTTP 部署服务 | | `scripts/` | 训练/续训/benchmark 脚本 | | `book/figures/` | 书的 SVG 配图源文件 | | `BOOK.md` / `BOOK.pdf` | 配套书籍 | ## 配套书籍 书在仓库根目录:`BOOK.md`(源)和 `BOOK.pdf`(成品)。从「什么是参数」讲到「怎么部署上线」,每个概念都配了数值走读和反事实推理。 ## License [MIT](LICENSE)