PuRo-2B:穷人实验室在 RTX 5090 上以约 5090 美元成本从零训练的 2B 开源语言模型 Puro-2B: Poor Lab's Qwen2-1.5B Trained on RTX 5090 within $5090
消费级 RTX 5090 上以 $6.9K 从零预训练 2B 模型,逼近 Qwen2.5-1.5B
前置知识
FP8 块级混合精度训练
FP8 是 8 位浮点格式,E4M3 变体用 4 位指数、3 位尾数,动态范围窄但对离群值敏感。块级量化把张量切成小块(如激活沿 GEMM 约化维每 128 个值一组、权重 128×128 二维块),每块在线计算一个 2 的幂次缩放因子,防止单个离群值放大整张量的量化区间。训练时仅 Transformer 线性层矩阵乘走 FP8,注意力内核、主权重和优化器状态仍保持 BF16/FP32。
FP8 是本文省成本的支柱之一:理解“验证损失仅差 0.0031–0.0039、保留 98.0% BF16 等效算力、净加速 1.34×”这些关键数字,需要先懂块级量化的工作方式。
Muon 优化器
Muon 是为 Transformer 矩阵参数设计的优化器:在动量法基础上,对每步更新矩阵做正交化(用 Newton-Schulz 迭代近似极因子分解),使更新在各奇异方向上更均匀,从而提高 token 效率。实践中通常只对注意力/MLP 权重矩阵使用 Muon,embedding、归一化层和 LM head 仍用 AdamW。
本文的 MuonH 是 Muon 的“超球面”包装版,论文对 Muon 与 MuonH 损失差距的 ELR 归因分析、以及 1.19× 质量等效算力收益,都建立在理解 Muon 更新机制之上。
有效学习率(Effective LR, ELR)
对近似尺度不变的权重矩阵($\mathcal{L}(cW)\approx\mathcal{L}(W)$),真正影响训练的不是标量学习率 $\eta_t$,而是更新量相对权重范数的比值 $\rho_t=\eta_t\|u_t\|_F/\|W_t\|_F$。普通 Muon 的权重范数和更新范数都在训练中漂移,导致 ELR 不受控地快速衰减;ELR 的调度形状决定了损失下降在训练早晚期如何分配。
这是论文 3.3 节的核心分析工具:作者把 Muon 与 MuonH 的性能差距归因于 ELR 调度差异,并据此设计生产学习率调度,读不懂 ELR 就无法理解其学习率章节。
WSD 学习率调度
Warmup-Stable-Decay 调度:先短时热身,再长时间保持在峰值平台,最后在一段“衰减期”内把学习率降到远低于峰值的水平。它天然支持持续训练——训练结束点可以推迟,只需重新计划一段衰减。衰减段占总训练量的比例(decay ratio)是关键超参数。
作者用 0.6B 模型的 WSD 网格扫描得出两条经验规律(峰值越高、训练越长,衰减应越长),并据此设计了两阶段生产调度,这两条规律是学习率设计一节的实验基础。
检查点平均(Model Soup)
对同一训练轨迹后期的多个检查点做参数等权平均,得到一个往往比任何单个检查点泛化更好的模型,几乎零额外训练成本。其有效性来自不同检查点落在损失面同一盆地内的不同位置,平均相当于隐式正则化。
CMA 配方的最后一步就是对恒定学习率续训产生的 6 个检查点做等权平均,这一步把 15 基准平均分从 57.12 提到 57.81,是最终模型能逼近 Qwen2.5-1.5B 的组成部分。
课程学习与数据排序
课程学习按难度或质量组织训练数据顺序,让更有价值的样本出现在训练后期,以提高后期 token 的学习效率。难点在于不同数据源的质量分数不可跨源比较:本文的方案是只在每个数据源内部按分数排序,再用“归一化名次”跨源对齐分桶,从而在推进课程的同时保持全局混合比例不变。
Phase 2 的 CD 与 CMA 变体完全建立在这种“组件内排序+名次分桶”构造上(376 个约 2.5B token 的桶),是论文最具原创性的数据设计。
MFU(模型 FLOPs 利用率)
实际达到的模型 FLOP/s 除以加速器峰值 FLOP/s,衡量硬件利用效率。混合精度训练时需按各精度承担的理论计算量占比对峰值加权:本文 FP8 占 72%、BF16 占 28%,等效峰值 $P_{eff}=(0.72/419+0.28/209.5)^{-1}\approx 327$ TFLOP/s/卡。
RTX 5090 绝对算力弱于数据中心卡,其成本优势成立的前提是高利用率——论文报告 Phase 1 中位 238 TFLOP/s/卡、等效 MFU 约 73%,这是论证消费级 GPU 可行性的关键证据。
缩放律(Scaling Law)
描述模型性能随算力、参数量或数据量呈平滑经验关系的规律,常用幂律或对数形式。本文提出配方专属的 Puro Cost Scaling Law:$P=a+b\log_2(C-C_{P1})$,其中 $P$ 是 15 基准平均分、$C$ 是复现成本、$C_{P1}=\$1.84K$ 是固定的 Phase 1 成本,拟合 RMSE 仅 0.209。
论文 headline 结论之一“约 $4.4K 即可达到 Qwen2-1.5B 水平”就是把 Qwen2-1.5B 的 55.14 分代入这条拟合曲线反解出来的,理解该定律才能评估其成本主张。
研究动机
语言模型预训练的成本已把大多数学术界和开源社区挡在门外。论文按租用等效口径估算:即便是小尺度模型,复现训练 Llama-3.2-3B 也需要超过 150 万美元;开源配方模型中,复现 SmolLM3-3B 约 71.9 万美元、复现 OLMoE-1B-7B 约 20 万美元。现有开放层级分为三档——闭源模型(GPT/Claude/Gemini)只提供托管服务和技术报告;开放权重模型(Qwen、Gemma、Llama 等)放出 checkpoint 但不公开预训练数据、样本顺序和完整训练状态;开源配方模型(OLMo、SmolLM、YuLan、Marin、Instella 等)进一步放出可重建的数据配比、训练代码与配置。但“配方开放”不等于“复现得起”:即使流程完全透明,几十万美元的算力预算仍让资源有限的小实验室(论文所称的 poor lab)无法真正重跑训练,形成“可复现”与“可及性”之间的实际鸿沟。
本文的目标是本文的目标是给出一条成本可控、硬件可得、完全开源的从零预训练配方,并用它实际训练出一组 2B 参数模型(PuRo-2B 系列,各 checkpoint 共享架构但预算与配方变体不同)。具体量化目标包括:(1) 在消费级 RTX 5090 集群上以 FP8 精度从零训练最多 1.4T token,使最好模型(约 $6.9K、22,514 活跃训练 GPU 时、17.6 天)在其评测协议下整体超过 Qwen2-1.5B(15 基准平均 55.14)并逼近 Qwen2.5-1.5B;(2) 对每个关键设计(硬件、块级 FP8、MuonH 优化器、Phase 2 课程配方)给出可核算的成本效率归因;(3) 拟合连接训练成本与平均性能的 Puro Cost Scaling Law,按该定律约 $4.4K 即可达到 Qwen2-1.5B 水平;(4) 用后训练案例研究展示完整流水线才能回答的科学问题,并按 Apache 2.0 放出数据、代码与全部权重。
与已有工作不同的是,本文的独特切入是把“成本”本身当作一等公民来协同设计训练配方,而不是事后补报 FLOPs。已有开源配方模型虽开放但仍依赖数据中心级硬件——Yulan-Mini-2.4B 用 48 张 A800、SmolLM3 用 384 张 H100、Instella-3B 第一阶段用 128 张 MI300X;而已有消费级 GPU 训练研究(LLMQ 在 RTX 4090 上做 FP8 预训练、Quartet II 测单卡 NVFP4 吞吐)只验证了系统可行性,没有放出万亿 token 级基座模型,也没有明确的成本核算边界。PuRo-2B 同时补上三个空位:首次在多节点消费级 GPU 上完成 1.4T token 的 FP8 从零预训练;把所有节省统一换算成“等效美元”做端到端归因(硬件 2.77×、FP8 1.34×、MuonH 1.19×、CMA 2.40×);并借助完整流水线,对 UD 与 CMA 两种 Phase 2 初始化做相同 SFT 后的受控对比——这类问题只有开放全部预训练过程才能研究。
核心方法
整体思路是:单点技术都已被分别提出,那就把硬件、数值精度、优化器、学习率调度、数据排序五层协同设计成一个以美元计价的训练系统。直觉上每层优化攻击不同瓶颈:数据选择降低所需 token 预算,MuonH 与 CMA 提高每个 token 换取的能力,块级 FP8 提升硬件吞吐,RTX 5090 降低单位算力价格。技术路线:模型采用 Qwen3-1.7B 架构但解开输入 embedding 与输出 LM head 的权重绑定,共约 2B 参数;序列长度 4096、全局批 1536 条序列。Phase 1 用 24 张卡训 438.8B token(英文占 73.2%),Phase 2 扩到 96 张卡训 960B token(数学占比升到 18.3%,并引入 1.3% 指令类数据),两阶段间有约 43.9B token 的线性过渡。Transformer 线性层用块级 FP8,注意力与 MLP 矩阵用 MuonH 优化器、其余参数用 AdamW;Phase 2 有 UD(均匀数据+LR 衰减)、CD(课程+衰减)、CMA(课程+恒定 LR 续训+6 检查点平均)三个变体。数据侧用 Qwen3-0.6B 代理实验测量候选数据源的能力向量,指导来源选择与配比设计。
核心创新有三点。第一是有效学习率视角下的 MuonH:普通 Muon 的有效学习率 $\rho_t=\eta_t\|u_t\|_F/\|W_t\|_F$ 随权重范数与更新范数演化而失控漂移,MuonH 把更新归一化 $\tilde{u}_t=u_t/\|u_t\|_F$,并按 $W_{t+1}=R\,\text{Normalize}(W_t-\eta_t R\tilde{u}_t)$ 把权重投影回初始 Frobenius 半径 $R=\|W_0\|_F$ 的球面,使 ELR 显式等于标量学习率,从而可按需调度。170M 对照实验显示:把普通 Muon 的 ELR 在线对齐到 MuonH 曲线后,终损失从 3.0733 降到 3.0303,几乎追平 MuonH 的 3.0288。第二是 Curriculum Model Averaging:升序课程让高质量数据出现在训练后期,但终端 LR 衰减意味着这些数据只在参数更新幅度已变小时被处理,CMA 改为从 step 218,000 恢复后保持恒定 LR 续训,再对 6 个检查点等权平均,化解该冲突。第三是把所有节省统一换算成等效美元,得到配方级的 Puro Cost Scaling Law $P=a+b\log_2(C-C_{P1})$。
方法步骤详情
流水线分六步。(1) 硬件改造:修改开源 NVIDIA 驱动开启 PCIe P2P(关闭 IOMMU/ACS、调 NPS),单向带宽 31.5→56 GB/s、延迟 14.3μs→0.4μs,8 卡 AllReduce 14.75→27.34 GB/s;二进制修改 CUDA 驱动启用 GPUDirect RDMA,24 卡 AllReduce 8.87→19.93 GB/s;节点间 400G InfiniBand。(2) 系统配置:基于 Megatron Core v0.16,用扩展 FLOP 估计器按内核形状选微批拐点;Phase 1 为 MBS=2、PP=2(层分配 18|10,LM head 所在段少放层以平衡流水线)、DP=12,不用通信频繁的 TP,中位 238 TFLOP/s/卡(等效 MFU 约 73%);Phase 2 为 PP=4(9|9|9|1)、DP=24,192 TFLOP/s/卡;优化器状态用内存感知装箱塞进 32GB 显存。(3) 精度:线性层 Fprop/Dgrad/Wgrad 全走 E4M3 FP8,激活按约化维 128 一维分组、权重按 128×128 块在线定 scale,经 Blackwell MXFP8 路径执行,占理论计算量 72%,敏感操作与训练状态保持 BF16/FP32。(4) 优化:MuonH 用 10 倍基础 LR 作权重 LR(数值上即 ELR),Phase 1 幂调度从约 5×10⁻² 降到 1.04×10⁻²,Phase 2 线性衰减 960B token。(5) CMA:数据池按组件内归一化名次切成 376 个约 2.5B token 的桶保持配比,从 step 218,000 恢复、基础 LR 固定 4.08×10⁻⁵,等权平均 6 个间隔约 100 步(0.63B token)的检查点。(6) 数据与评测:Kaiyuan-SpaRK 做源内 MinHash 去重并物化静态分片,训练不依赖在线混采;OpenCompass 上 15 基准确定性评测。
技术新颖性
技术新颖性体现在四个层面。(1) 系统层面:首次在多节点消费级 RTX 5090 上完成万亿 token 级 FP8 从零预训练,包括驱动级 P2P/GDR 改造、无 TP 的 DP+PP 通信感知并行与 pp-dp rank 排序、按层负载重分配和优化器状态装箱——这些都是为 32GB 显存和 PCIe 互联量身定制的,且其最优配置与穷举搜索结果一致。(2) 优化层面:Muon 与 Hyperball 各有出处,但本文首次用受控实验把 Muon 相对 MuonH 的损失差距归因到 ELR 调度(ELR 对齐后 3.0303 vs 3.0288,差距几乎闭合),并用 Multi-Power Law 证明 ELR 比标量 LR 更能预测损失曲线(留出 RMSE 0.0265→0.0210),进而提出“峰值越高、训练越长,衰减应越长”的可操作设计规则,还用双锚点 MPL 拟合在有限算力下估计最优衰减比例(0.33→0.85)。(3) 数据层面:组件内分数排序+归一化名次分桶的课程构造避免了跨源分数不可比的难题,376 桶严格保持全局配比,且同一数据池只需改物化顺序即可在 UD/CD/CMA 间切换。(4) 方法论层面:Puro Cost Scaling Law 是罕见的以“复现美元成本”为自变量、并明示核算边界的配方级缩放律。
实验结果
核心结果五组。(1) 基准:统一 15 基准协议下,PuRo-2B($6.9K)数学代码四项平均 43.50,超 Qwen2-1.5B(40.29)3.21 分、距 Qwen2.5-1.5B(47.52)4.02 分;推理知识 11 项平均 63.02,超 Qwen2-1.5B(60.54)2.48 分,仅比 3B 的 Instella-3B 低 0.11 分;分项为 GSM8K 59.67、MATH 30.30、MBPP 52.92、HumanEval 31.10、MMLU 57.44、BBH 42.05;$4.4K UD 版已越过 Qwen2-1.5B 均线 55.14。(2) 成本定律:$P=a+b\log_2(C-C_{P1})$,固定 $C_{P1}=\$1.84K$,RMSE 0.209(未平移为 0.452);CD 端点等效 UD 成本约 $11.36K(1.65×),CMA 端点约 $16.55K(2.40×)。(3) 成本归因:RTX 5090 每美元峰值算力为 H200 的 2.77×(BF16)/2.74×(FP8);块级 FP8 五个尺度上损失差仅 0.0031–0.0039、保留 98.0% BF16 等效算力,1.7B 吞吐 1.36×、净收益 1.34×;MuonH 质量等效乘数 1.19×($1.41\times10^{22}$ 匹配 $1.68\times10^{22}$ FLOPs,省 16.1%)。(4) Phase 2 消融:CD 57.17 vs UD 55.99(+1.18),模型平均后 57.18 vs 55.57(+1.61);平均单独用对 UD −0.42、对 CD +0.01,须与恒定 LR 续训配合;218k 续训 57.12 经 6 检查点平均达 57.81。(5) 后训练:同 SFT 下 CMA 持续占优——GSM8K SFT 后 68.66% vs 66.89%(+1.77pp),Math&Code+回放后 76.12% vs 74.10%(+2.02pp),Tulu-3 混域 SFT 后 15 基准平均 +1.17pp(10/15 任务更好)、IFEval +1.36pp。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 数学与代码(GSM8K/MATH/sanitized-MBPP/HumanEval 四项平均) | 平均分(%,GEN 协议) | PuRo-2B($6.9K):43.50 | Qwen2-1.5B:40.29(Qwen2.5-1.5B 为 47.52) | 超 Qwen2-1.5B 3.21 分,距 Qwen2.5-1.5B 4.02 分 |
| 推理与知识(MMLU/MMLU-Pro/ARC/BBH 等 11 项平均) | 平均分(%,PPL+GEN 混合协议) | PuRo-2B:63.02 | Qwen2-1.5B:60.54;Qwen2.5-1.5B:65.53;Instella-3B:63.13 | 超 Qwen2-1.5B 2.48 分,距 Qwen2.5-1.5B 仅 2.51 分,与 3B 的 Instella-3B 差 0.11 分 |
| 15 基准总平均 vs 复现成本(成本-性能前沿) | 平均分(%)/ 复现美元成本 | 约 57.81 分 / $6.9K($4.4K UD 版已超 Qwen2-1.5B 的 55.14) | SmolLM3-3B 约 $719K;Llama-3.2-3B 估计超 $1.5M;OLMoE 约 $200K | 在绘图模型中位于基线帕累托前沿之外的最低成本位置 |
| 块级 FP8 vs BF16(TPP=20 缩放阶梯,0.17B–1.7B) | 验证损失差 / BF16 等效算力保留 / 净加速 | 损失差 0.0031–0.0039;保留 98.0%;1.7B 吞吐 1.36×,净加速 1.34× | BF16 训练 | 同等质量下省 25.2% GPU 时(2B×1.4T 估计从约 30,286 降到 22,654 GPU 时) |
| MuonH vs 调参后 Muon 基线(匹配缩放阶梯) | 质量等效算力乘数 κ | 1.19×(生产规模 $1.41\times10^{22}$ FLOPs 匹配基线 $1.68\times10^{22}$ FLOPs) | 普通 Muon + 块级 FP8 | 同等验证损失下省 16.1% 理论 FLOPs |
| Phase 2 配方消融(基座模型,同 Phase 1 起点同数据池) | 15 基准平均分 | CMA 端点 57.81(CD 57.17 / CD+平均 57.18 / 218k 续训 57.12→57.81) | UD(均匀数据+LR 衰减)55.99(+平均 55.57) | +1.82 分;按成本定律折合 2.40× 成本效率(CD 单独为 1.65×) |
| GSM8K-based SFT 后(3 种子平均) | GSM8K 准确率(%) | CMA 初始化:68.66% | UD 初始化:66.89% | +1.77pp,且 CMA 多解出的题无法用答案格式差异解释 |
| Math&Code SFT+回放后(更长 SFT,3 种子平均) | GSM8K 准确率(%) | CMA 初始化:76.12% | UD 初始化:74.10% | +2.02pp,优势在更广数据分布与更多更新后不缩反扩 |
| Tulu-3 混域 SFT 后 | 15 基准平均分差 / IFEval 分差 | CMA 初始化:平均 +1.17pp,IFEval +1.36pp | UD 初始化 | CMA 在 15 个任务中的 10 个上更好,优势超出数学域 |
| 硬件成本效率(规格与租价核算) | 峰值算力/美元(EFLOP/USD) | RTX 5090($0.31/h):BF16 2.43,FP8 4.87,FP4 19.46 | H200($4.00/h):BF16 0.89,FP8 1.78;A100 BF16 0.63 | BF16/FP8 成本效率约为 H200 的 2.7×,且配置调优后达 73% 等效 MFU |
局限与改进
作者承认的局限:其一,课程排序带来的部分基座优势可能来自后期数据与评测基准的污染(contamination),不过后训练后的持续优势表明污染无法解释全部收益;其二,成本口径极窄——只计入最终两阶段生产运行的加速器租用等效成本,不含数据获取与预处理、代理实验、缩放与消融研究、失败运行、后训练、评估、检查点平均、研究人力,也不含 CPU/存储/网络与税费折旧;其三,四个成本因子各自使用不同参照系,其乘积只是示意性换算而非端到端实测加速;其四,Puro Cost Scaling Law 是本配方专属的 scale-down 关系,不能外推为跨模型族的普适定律;其五,FP8 与 MuonH 消融在 TPP=20 的算力最优设置下进行,而生产运行是 TPP≈700 的过训练设置,存在设置错位。我的补充观察:(1) 代码能力明显偏弱,HumanEval 仅 31.10,低于 Qwen3-1.7B-Base 的 51.22 与 MobileLLM-R1-950M 的 43.29;(2) 数学代码整体仍落后 MobileLLM-R1-950M(47.36)与 SmolLM3-3B(58.99),后者还大 1.5B 参数;(3) RTX 5090 无公开租用渠道,$0.31/h 是自购硬件五年摊销估计,GDR 依赖不可公开的二进制修改,合规性与可迁移性存疑;(4) 32GB 显存约束了规模上限,配方对更大模型的可扩展性未经验证。
独立分析的弱点
独立分析的弱点:(1) 基准污染风险结构性存在——课程刻意把高分数据放在训练后期,而高分数据往往与评测基准分布重叠,作者仅在 SFT 数据做了 13-gram 去污染,未报告预训练侧针对这 15 个基准的 n-gram 重叠统计,改进方向是公开污染审计并给出去污染前后的 CD vs UD 差距对比;(2) 评测全部基于 base 模型 few-shot/PPL 协议,且按 OLMES 约定每模型独立取 CF/MCF 更优表述,这种逐模型择优会引入温和的选择性乐观偏差,可补充固定表述的敏感性分析;(3) “峰值越高、训练越长则衰减应越长”的结论来自 0.6B/170M 小模型网格,外推到 2B、TPP≈700 的生产设置缺乏直接验证;(4) CMA 需要额外 29B token 恒定 LR 续训并保存 6 个检查点,对小预算用户不够友好,可探索更少检查点、EMA 或低秩平均的近似;(5) 代理实验固定从 Qwen3-0.6B 检查点续训 2000 步(约 8.4B token),能力向量的偏差和秩次稳定性未做误差分析,且最终混比仍靠人工启发式,可改做多目标优化或贝叶斯配比搜索;(6) 两阶段间 43.9B token 线性过渡的长度与比例未见消融,Phase 1 回放的必要性也未被单独验证。
未来方向
作者提出的方向:(1) 把可复现配方从预训练扩展到后训练,重点是 agentic 能力的训练与研究;(2) 把架构空间扩展到 looped Transformer、线性注意力、MoE 等非稠密标准设计;(3) 把硬件配方扩展到 RTX 5090 之外的平台与更宽预算区间,研究最优系统/训练选择如何随硬件与规模变化;(4) 设计更受控的课程,解决后训练中任务级增益不均的问题。基于本文成果可自然延伸的方向:(1) 在 Puro Cost Scaling Law 中引入数据质量/配比维度,构造成本-数据-性能三元缩放律,让“花多少钱买多少分”可事先规划;(2) 用 ELR 视角系统研究 AdamW 组与 MuonH 组调度的匹配关系,甚至探索恒定 ELR 或 ELR 重加热;(3) 上探 NVFP4 训练——RTX 5090 的 FP4 峰值 1676 TFLOPS 是 FP8 的 4 倍,结合 Quartet II 的数值改进有望把成本再降一档;(4) 把 CMA 与数据回放结合,研究检查点平均对灾难性遗忘与后训练稳定性的作用机制;(5) 利用开放的 10 个 checkpoint 版本,研究课程各阶段对不同能力(尤其代码)贡献的因果分解。
复现评估
复现友好度在预训练工作中属于最高一档。开源情况:Apache 2.0 下放出模型权重(含 10 个不同版本的 checkpoint 以便透明审视)、数据清单与物化组件(HuggingFace thu-pacman/Puro-2B)、训练代码 Puro-Megatron(基于 Megatron Core v0.16.0)、数据处理代码 Kaiyuan-SpaRK,附录保留 CNY 记账、租价假设与缩放检查点台账,上游数据许可证逐组件注明。算力需求:Phase 1 为 24 张 RTX 5090 跑 10.43 天($1.84K),Phase 2 为 96 张跑 7.16 天($5.05K),合计 22,514 活跃 GPU 时、约 $6.9K,一个 3 节点×8 卡集群即可起步。难度评估:中等偏高。主要障碍在硬件层——需要修改版 NVIDIA 驱动开启 P2P(关闭 IOMMU/ACS、调整 NPS),GDR 依赖不可公开的 CUDA 用户态驱动二进制补丁(作者说明可用原厂驱动回退但带宽减半),外加 400G InfiniBand 组网;软件层基于 Megatron Core 相对成熟,数据侧因物化分片与清单齐全而重建成本低。总体判断:一个有系统经验的两三人团队用约 $7K 预算、三周左右时间复现是现实的,这正印证了标题“5090 美元内的穷人实验室”的主张。
论文图表