Puro-2B全流程开源:四五千美元,消费级RTX 5090把预训练跑起来了
预训练这事,过去两年基本被框定成"数据中心加大额账单"的专属游戏。训不起2.8T参数的K3,练完124M的nanoGPT又嫌不过瘾,想试试十亿参数、万亿token的预训练,很多人卡在执行层——知道怎么训,不等于训得起。OLMo、SmolLM把数据和训练细节开源了,但复现成本按估算要20万美元(OLMoE-1B/7B)和71.9万美元(SmolLM3-3B);Qwen系列权重是开源的,预训练配方却一直捂着。
清华陈文光、吕凯风团队这次给的Puro-2B(普罗-2B),干脆把整套东西摊开——训练数据、训练框架、训练配置、模型权重全开源。他们在消费级RTX 5090集群上从头训练约20亿参数的模型,最多用到1.4万亿token。按论文口径:约4400美元的预训练计算成本,15项任务平均指标超过Qwen2-1.5B;6900美元的最佳版本,平均性能接近Qwen2.5-1.5B。基本就是标题里那个感觉——训练成本被压到五千美元以内的量级。
我更感兴趣的不是"又一个更便宜的模型",而是这套方案把成本拆得很细。RTX 5090只有32GB显存、没有NVLink,照搬数据中心GPU的配置肯定翻车。他们通过驱动和系统配置打开节点内PCIe P2P通信,GPU间单向带宽从31.5GB/s提到56GB/s,延迟从14.3µs降到0.4µs;节点间启用GPU Direct RDMA,24卡AllReduce总线带宽从8.87GB/s涨到19.93GB/s,综合MFU能超过70%。按论文用的GPU租赁价算,RTX 5090的BF16每美元算力约为H200的2.77倍——单位成本买到的算力更多,这本身就把"便宜"变成了一种策略选择。
精度和优化器,都在跟算力账较劲
FP8沿用了DeepSeek-V3的细粒度分块量化思路:主要线性层的矩阵乘法走FP8路径,数值敏感的操作和训练状态保留BF16/FP32。FP8会掉精度,但他们用五档模型规模的对照实验一估:验证损失高出约0.0031—0.0039,差距跨规模保持稳定,而训练吞吐提升1.36倍,把精度损失折算成达到相同损失所需的额外计算后,净效率收益仍有约1.34倍。低精度不是偷工减料,是把损失摊进去依然划算的买卖。
优化器用的MuonH,把权重更新量归一化、更新后投影回固定半径,让有效学习率(ELR)能显式预设,而不是随权重尺度漂移。对照组很有意思:只要把普通Muon的动态学习率对齐到MuonH的ELR轨迹,损失曲线就几乎重合——说明MuonH的优势更多来自ELR过程设计,而非范数约束本身。于是他们把重心转到学习率调度上,第一阶段用不依赖预设终点的power schedule支撑持续训练,第二阶段用长线性衰减收束。相比调参后的Muon基线,MuonH效率约1.19倍。
好数据放到后面训,再加课程模型平均
数据顺序也有讲究。高质量样本在数据集里占比不高但作用关键,他们利用现成的质量分数,在各数据源内部把高质量样本排到训练后段,再按训练进度对齐、混合,既逐步走向高质量区间,又保持局部配比近似稳定。但排好数据不等于学得进去——训练后期学习率过低时,最后出现的优质数据推不动参数更新,于是用课程模型平均(CMA)在后期保持恒定学习率,再对末端检查点做权重平均。按他们拟合的经验曲线估算,相比随机数据排布,数据课程加学习率衰减约把成本效率提高到1.65倍,完整CMA方案则到约2.40倍。
这套CMA优势还能延续到后训练:相同微调流程下,基于CMA初始化的GSM8K准确率分别高出1.77和2.02个百分点,Tulu-3混合领域微调里15项基准平均分提高1.17个百分点,IFEval提高1.36个百分点。
回到开头那个问题。Puro-2B真正的价值,也许不在"分数更高的模型",而在它提供了一条跑得通的预训练实验流程。过去只有开源权重,你控制不了模型的预训练过程;Puro-2B让"改预训练 → 微调 → 检验最终效果"变成一条成本可承担的闭环。至于会不会真让预训练变成普通人也能碰的东西,现在下结论还早——但至少,账单不再是劝退的那一关。
相关链接
- 论文:https://arxiv.org/pdf/2608.27370
- 开源材料合集(模型与中间检查点):https://huggingface.co/collections/thu-pacman/puro-2b
- 训练数据与配比:https://huggingface.co/datasets/thu-pacman/Puro-2B
- 训练代码:https://github.com/thu-pacman/Puro-Megatron
- 数据处理代码:https://github.com/thu-pacman/Kaiyuan-Spark