尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
不用trl、peft、transformers:train-llm-from-scratch的从零实现哲学
不用trl、peft、transformerstrain-llm-from-scratch的从零实现哲学【免费下载链接】train-llm-from-scratchA straightforward method for training your LLM, from downloading data to generating text.项目地址: https://gitcode.com/GitHub_Trending/tr/train-llm-from-scratchtrain-llm-from-scratch是一个纯粹用 PyTorch 手写的 LLM 训练项目不依赖trl、peft、transformers任何第三方大模型库从下载数据、分词、训练 Transformer一路做到 SFT、奖励模型、PPO、DPO、GRPO 对齐再到评测与对话——让你完整看懂一个从零训练大模型的全部细节。为什么坚持三大库都不用现在训练大模型的常规姿势是transformers建模型、peft做微调、trl跑强化学习。省事但代价是注意力、PPO 的 clip、DPO 的损失公式全藏在依赖库的黑盒里 版本一升级行为可能悄悄变化出问题很难定位 想改算法比如换掉 GRPO 的优势估计必须穿透三层封装。而 train-llm-from-scratch 的哲学很直接把每个算法摊开成几十行纯 PyTorch。GPT 风格的注意力就是 src/models/attention.py 里的一个类DPO 损失就是 src/post_training/dpo.py 里的一个函数——每一个都能一屏读完。核心思路一句话文本变成数字预测下一个 token然后不断更换数据和损失函数直到模型做出我们想要的行为。一张图看懂完整训练流水线从原始文本到对齐后的推理模型项目把所有阶段串成一条流水线四类数据各自预处理一次数据类型来源用途预训练文本The Pile训练基座模型指令数据Alpaca / Dolly / GSM8KSFT 指令微调偏好对HH-RLHF / UltraFeedback奖励模型与 DPORL 提示词GSM8K 算术题PPO / GRPO模型从头到尾只有一个同一个 Transformer 主干每个阶段只换数据 损失。这就是整个仓库最省心的设计。模型搭建从最小积木到完整 TransformerTransformer 被拆成四块小积木逐层拼装全部在 src/models/ 下MLP把 token 向量放大 4 倍再压回做逐 token 的思考单头注意力Query/Key/Value 三视图 因果掩码保证第 t 个位置看不到未来多头注意力多个头并行各学一种关系比如代词指代Transformer Block注意力 MLP 残差连接 LayerNorm堆叠 N 层。完整模型定义在 src/models/transformer.py嵌入层 → 位置编码 → Block 堆叠 → lm_head 投影到词表。仓库提供三档尺寸13M一张消费级显卡就能训、77M 教程基座、400M 后训练默认配置。关键哲学Wrap, dont rewrite包裹不重写后训练奖励模型、PPO、GRPO通常需要额外的标量头来读隐藏状态。常规做法是魔改模型结构而这里只做了一件事给 Transformer 增加一个 forward_hidden 方法返回最后一层 LayerNorm 之后的隐藏状态。奖励头、价值头、所有 RL 的 log-prob 计算都组合在这个方法外面src/models/的教学代码一行未动。加功能靠包裹不改写已有代码——这也是它敢号称从零却仍然可维护的原因。预训练一条下降的损失曲线讲完全部故事预训练循环非常朴素随机取一段 token → 每个位置预测下一个 → 交叉熵算错多少 → 反向传播 → 重复几千次。真实训练日志损失从 11.14接近随机猜的 ln(50304)≈10.83降到约 3.7两张 L40 上跑到每秒 13 万 token。脚本 scripts/pretrain_base.py 还内置了 DDP 多卡、bf16、梯度累积、余弦学习率与断点续训。后训练五个算法全是手写几十行对齐阶段是这套哲学最精彩的部分五种主流算法全部实现阶段核心机制源码位置SFT只对 assistant token 算损失loss masksrc/post_training/sft.py奖励模型Bradley-Terry 成对损失读最后一个 tokensrc/post_training/reward_train.pyDPO / ORPO / KTO隐式奖励比较绕开 RL 循环src/post_training/dpo.pyPPOGAE clip 策略损失 KL 惩罚src/post_training/ppo.pyGRPO组内相对优势无价值网络src/post_training/grpo.py以 GRPO 为例整个组优势估计就是 这几行把同一道题的 G 个采样答案归组减均值除标准差——比组内其他答案好多少就是它的优势。再配上 token 级 clip 代理损失和 k3 KL 惩罚DeepSeek-R1 风格的 RLVR 就完整了。PPO 的裁剪策略损失、DPO 的隐式奖励、Bradley-Terry 损失每一处都短到可以手推公式。快速上手三步跑通全链路git clone https://gitcode.com/GitHub_Trending/tr/train-llm-from-scratch cd train-llm-from-scratch pip install -e . # 装好 config/src/data_loader/ui配置体系是每阶段一个 JSON 命令行可覆盖任意字段config/post_training_config.py。不想逐阶段手动跑一条命令走完后训练全链路bash scripts/run_posttraining.sh # 多卡 NPROC1 bash scripts/run_posttraining.sh # 单卡想先花几秒验证环境每个阶段都有 configs/smoke/ 微型配置CPU 上秒级跑完比如python scripts/train_sft.py --config configs/smoke/sft.json。最后用python scripts/chat.py --ckpt models/grpo.pt直接和你的模型对话。文档站与配套资料项目自带一套 MkDocs 文档站docs/每个阶段都有独立深入页面理论、图解、真实代码、指标含义一应俱全建议先读 LLM Foundations 再进各阶段推荐阅读路线docs/README.md 也列了同样的顺序数据管线docs/01_data_pipeline.md预训练docs/02_pretraining.mdSFT → 奖励模型 → DPO → PPO → GRPO03 ~ 07评测与推理docs/08_evaluation.md、docs/09_inference.md后训练总览与实验结果POST_TRAINING.md官方文档站的数据管线示意与上图同源分辨率更高结语train-llm-from-scratch 的价值不在于训出多强的模型而在于让从零训练大模型这件事第一次变得可以逐行读懂同一个手写 Transformer换数据和损失就能走完预训练、SFT、PPO、DPO、GRPO 的完整对齐链路。如果你想在单张显卡上真正搞懂 LLM 是怎么练成的这是一个值得逐行读完的起点。【免费下载链接】train-llm-from-scratchA straightforward method for training your LLM, from downloading data to generating text.项目地址: https://gitcode.com/GitHub_Trending/tr/train-llm-from-scratch创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

SAP因AI成本收缩背后:ERP AI化成本重构与应对策略

SAP因AI成本收缩背后:ERP AI化成本重构与应对策略

从去年开始,企业软件圈子里一直有一个隐约的焦虑:AI 到底是来帮 ERP 降本的,还是来让 ERP 厂商多花钱的?最近的一条新闻,把这个焦虑摆到了台面上。 据公开新闻报道,软件巨头 SAP 因为 AI 带来的高昂成本&a…

📅 2026/10/3 3:50:20
从codex-plugin-cc学5个设计模式:薄转发、verbatim输出与单一事实源

从codex-plugin-cc学5个设计模式:薄转发、verbatim输出与单一事实源

从codex-plugin-cc学5个设计模式:薄转发、verbatim输出与单一事实源 【免费下载链接】codex-plugin-cc Use Codex from Claude Code to review code or delegate tasks. 项目地址: https://gitcode.com/GitHub_Trending/co/codex-plugin-cc codex-plugin-cc …

📅 2026/10/17 15:35:00
技能注入反而降低编码表现?WebDev-Skills-Bench评测解析

技能注入反而降低编码表现?WebDev-Skills-Bench评测解析

如果告诉你"给大模型塞一堆技能,编码反而变差了",你会不会觉得这是反常识?这次我们来看一个非常值得本地评测和工程化团队关注的方向:WebDev-Skills-Bench,一个把"技能注入"当作变量、专门评估编码…

📅 2026/10/5 1:54:25
MORE NEWS

更多资讯

📰

混合设计方差分析(Mixed ANOVA)原理与应用详解

1. 混合设计方差分析(Mixed ANOVA)概述混合设计方差分析(Mixed-design Analysis of Variance)是一种强大的统计方法,用于分析同时包含组间因素(between-subjects factors)和组内因素&#xff08…

📰

MySQL 按比赛日发布日下线日三个日期条件筛选待报名记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

前端网络请求实战:免费API资源与练习指南

1. 项目概述作为一名前端开发者,网络请求是必须掌握的核心技能之一。无论是构建简单的静态页面还是开发复杂的单页应用,与后端API的交互都无处不在。但对于初学者来说,找到合适的练习资源往往是个挑战——要么接口文档晦涩难懂,要…

📰

VST3插件SDK安装配置与多平台构建避坑指南

简介:面向音频插件开发者与音乐制作软件技术学习者的 VST 3 插件 SDK 整理包,聚焦 Windows、macOS、Linux 与 iOS 跨平台插件开发,可用于理解 VST 3 的模块化架构、音频处理器与编辑控制器分工、参数自动化及自定义界面等核心机制。压缩包共 …

📰

Windows下Zint、Zlib、Libpng预编译库集成指南:链接配置与避坑

简介:面向Windows平台C/C开发者的预编译三方库合集,集中解决条码生成、数据压缩与PNG图像处理三类常见需求,省去自行下载源码、配置工程与逐版本编译的繁琐流程,尤其适合使用Visual Studio 2015的初中级开发者快速集成。压缩包共2…

📰

JavaWeb购物车源码解析:Servlet+JSP+Session实现与二次开发指南

简介:这份JavaWeb简易购物车源代码面向具备Java基础、正在学习Web开发的学生与初级开发者,通过一个可运行的在线购物车系统串联Servlet与JSP、HTTP请求处理、Session会话管理、JDBC数据库交互、MVC分层设计以及JSTL与EL表达式等核心知识点,帮…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬