百余张原创架构图,系统图解大模型与强化学习核心算法。
FareedKhan-dev/train-llm-from-scratch
用 PyTorch 从零实现的 Transformer 大模型训练教程与代码库,涵盖预训练、SFT、奖励模型、DPO/PPO/GRPO 与文本生成。
- Star
- 12,328
- Fork
- 1,816
- 未关闭 Issue
- 2
- 最近提交
- 18天前
这是什么?
该项目用纯 PyTorch 从零实现了一个 Transformer 语言模型,沿用《Attention is All You Need》的设计,完整展示了从原始文本到对话式模型的全过程。其中包括字节级 BPE 分词器、经典的 GPT-2 风格解码器,以及采用 RoPE、RMSNorm、SwiGLU、分组查询注意力和混合专家(MoE)的现代版本,所有组件均手写实现,而非调用 Hugging Face 的训练器。
后训练阶段同样从零实现,包括带有仅对助手回复计算损失掩码的监督微调(SFT)、Bradley-Terry 奖励模型、DPO、ORPO、KTO、结合 GAE 的 PPO,以及 GRPO。每个阶段都配有独立的数据准备脚本和 JSON 配置。小型预设(如 TinyStories 微型模型)可在笔记本 CPU 上几分钟内训练完成,更大的配置则需要 GPU。
核心功能
- 01在 PyTorch 中从零实现注意力、MLP 和 Transformer 模块。
- 02仓库内包含字节级 BPE 分词器的实现。
- 03支持基于对话数据的 SFT,损失仅计算在助手回复上。
- 04实现了奖励模型训练以及 DPO、ORPO、KTO、PPO 和 GRPO。
- 05提供可在无 GPU 的笔记本 CPU 上训练的微型预设。
适用场景
- 逐步学习 Transformer 语言模型及其训练流程的工作原理。
- 在单张 GPU 或笔记本上预训练小型大语言模型做实验。
- 在可读性较好的代码中研究 DPO、PPO、GRPO 等后训练方法。
- 在同一流程下对比经典与现代 Transformer 组件的效果。
快速上手
- 1
克隆仓库
git clone https://github.com/FareedKhan-dev/train-llm-from-scratch.git - 2
进入项目目录
cd train-llm-from-scratch - 3
以可编辑模式安装项目
pip install -e . - 4
准备数据后在笔记本 CPU 上训练一个小模型
python scripts/train_transformer.py --preset tiny --arch modern
使用前须知
- 大模型配置需要 GPU,十亿参数模型无法在免费的 T4 上运行。
- 部分训练阶段依赖需要先下载的公开数据集。
标签
常见问题
- train-llm-from-scratch 是什么?
- 用 PyTorch 从零实现的 Transformer 大模型训练教程与代码库,涵盖预训练、SFT、奖励模型、DPO/PPO/GRPO 与文本生成。 该项目用纯 PyTorch 从零实现了一个 Transformer 语言模型,沿用《Attention is All You Need》的设计,完整展示了从原始文本到对话式模型的全过程。其中包括字节级 BPE 分词器、经典的 GPT-2 风格解码器,以及采用 RoPE、RMSNorm、SwiGLU、分组查询注意力和混合专家(MoE)的现代版本,所有组件均手写实现,而非调用 Hugging Face 的训练器。
- train-llm-from-scratch 可以免费使用吗?用的什么许可证?
- train-llm-from-scratch 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- train-llm-from-scratch 还在维护吗?
- 活跃维护中。train-llm-from-scratch 最近一次提交是在 2026年10月2日。
- train-llm-from-scratch 适合用来做什么?
- 逐步学习 Transformer 语言模型及其训练流程的工作原理。 在单张 GPU 或笔记本上预训练小型大语言模型做实验。 在可读性较好的代码中研究 DPO、PPO、GRPO 等后训练方法。 在同一流程下对比经典与现代 Transformer 组件的效果。
- train-llm-from-scratch 怎么安装和运行?
- 克隆仓库: git clone https://github.com/FareedKhan-dev/train-llm-from-scratch.git 进入项目目录: cd train-llm-from-scratch 以可编辑模式安装项目: pip install -e . 准备数据后在笔记本 CPU 上训练一个小模型: python scripts/train_transformer.py --preset tiny --arch modern
- 在哪里获取 train-llm-from-scratch?
- 源代码和安装说明在 GitHub 上:https://github.com/FareedKhan-dev/train-llm-from-scratch
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
4958478PythonOther更新于 上个月
通过一份 YAML 配置完成 LLM 微调与后训练的命令行工具,支持在低显存消费级显卡上训练。
93881540PythonApache-2.0更新于 23小时前
Python 库,逐层加载大语言模型,让 70B 级模型可在单张 4GB 显卡上推理,无需量化。
3.9万4026Jupyter NotebookApache-2.0更新于 昨天
NEO 是一系列原生视觉-语言模型,采用无编码器的统一稠密架构直接处理像素与文字。
90433PythonApache-2.0更新于 3个月前
面向多模态模型的统一训练引擎,支持 VLM、扩散模型和 LLM 训练。
83238Python无许可证更新于 前天
整理提供永久免费额度的大模型 API 服务商,列出端点、模型与速率限制。
1.1万1191JavaScriptCC0-1.0更新于 昨天