在单张 L40S 上,用 LoRA 微调 Qwen2.5-1.5B 在 GSM8K 上达到 ≥ 57% 的准确率,能有多快?
这是用于微调的 modded-nanogpt:固定任务、固定硬件,以及一个公开的挂钟时间排行榜。每条记录都必须在相同硬件上使用全新随机种子独立重复运行 3 次,方可计入榜单。
尝试和验证都是免费的:官方计时运行在 Modal L40S 沙盒上,而 Modal 的免费月度计算额度足以覆盖完整运行——因此任何人都可以参与竞争,任何人都可以用一条命令重新验证任何一条记录。
排行榜
赛道 1 — GSM8K · Qwen2.5-1.5B · 目标 ≥ 57.0% · 1× L40S
当前记录:6 分 05 秒,由 @Saivineeth147 创造——序列打包 + 仅补全损失掩码,2 个 epoch。LoRA 配置与 #0 相同;在更高精度下速度提升约 2 倍。
| # | 日期 | 作者 | 训练时间 | GSM8K/EM | Δ | 技术 |
|---|---|---|---|---|---|---|
| 0 | 2026-07-18 | @Saivineeth147 | 11 分 57 秒 | 59.4% | — | 基线:在所有线性层上使用普通 LoRA r=16,3 个 epoch,余弦学习率。无技巧。(报告) |
| 1 | 2026-07-18 | @Saivineeth147 | 6 分 05 秒 | 61.1% | −49% | 序列打包 + 仅补全损失掩码,2 个 epoch。LoRA 配置与 #0 相同;在更高精度下速度提升约 2 倍。(报告) |
赛道 2 — SQuAD v1.1 · SmolLM2-1.7B · 目标 ≥ 75.5% · 1× L40S
当前记录:11 分 08 秒,由 @Saivineeth147 创造——赛道 2 基线:在 SQuAD 上使用普通 LoRA r=16,前 20k 个样本,1 个 epoch,全序列损失。无技巧。
| # | 日期 | 作者 | 训练时间 | GSM8K/EM | Δ | 技术 |
|---|---|---|---|---|---|---|
| 0 | 2026-07-20 | @Saivineeth147 | 11 分 08 秒 | 77.5% | — | 赛道 2 基线:在 SQuAD 上使用普通 LoRA r=16,前 20k 个样本,1 个 epoch,全序列损失。无技巧。(报告) |
完整历史记录及验证报告:records/RECORDS.md
赛道说明
两条固定赛道,特意选择了不同的模型系列和任务类型——因此,一项技术只有在两条赛道上都获胜,才能证明其通用性。所有赛道使用相同的硬件、上限和验证方式。
| 赛道 1 | 赛道 2 | |
|---|---|---|
| 基础模型 | Qwen/Qwen2.5-1.5B | HuggingFaceTB/SmolLM2-1.7B |
| 任务 | GSM8K 数学 → ≥ 57.0% 精确匹配 | SQuAD v1.1 问答 → ≥ 75.5% 精确匹配 |
| 训练数据 | 仅 GSM8K 训练集 | 仅 SQuAD 训练集 |
| 评估指标 | 训练挂钟时间。时间越短越好。 | 相同 |
| 硬件 | 1× L40S(48 GB),Modal 沙盒 | 相同 |
| 约束条件 | 仅适配器,可训练参数 ≤ 30M | 相同 |
机器可读规格:spec.yaml · spec-t2.yaml。完整规则:TASK.md。
你控制其他一切:LoRA 的秩与放置位置、量化方式、学习率调度、序列打包、数据子集的选择与排序、自定义内核,以及何时停止训练。如果你能明确达标标准,就可以在精心挑选的 1000 个样本上训练 90 秒。
为什么会有这个项目
LoRA/QLoRA 是大多数实际微调的真实方式,而相关技术空间已经爆炸式发展——DoRA、rsLoRA、PiSSA、LoRA+、NEFTune、Unsloth 内核、秩自适应方法——但缺乏一个对抗性的、公平对等的竞技场,让这些想法在公开场合相互比拼。论文在不同模型、数据和硬件上报告结果;没有任何东西是可比较的。
nanoGPT 速度挑战赛解决了预训练领域的问题,并产出了真正的科学成果(Muon 优化器就源于此)。这个代码库为参数高效微调做了同样的事情:一个固定的任务,一块 GPU,按挂钟时间计,且需要提供凭证。
快速开始
官方硬件运行(免费)。注册一个 Modal 账户,然后:
git clone https://github.com/Saivineeth147/lora-speedrun && cd lora-speedrun
pip install modal pyyaml && modal setup # one-time browser auth
python harness/modal_verify.py --prefetch # one-time: cache model + data in a volume
# one timed, evaluated attempt of the baseline on the exact spec hardware:
python harness/modal_verify.py --submission submissions/000-baseline --runs 1
# full record-style verification (3 fresh seeds, all must pass):
python harness/modal_verify.py --submission submissions/000-baseline --runs 3
本地迭代(可选)。任何 24 GB 以上的显卡都能运行基线版本,便于快速实验——运行 `bash scripts/setup_gpu.sh`,然后执行 `python harness/run_submission.py submissions/000-baseline --runs 1`。本地时间不计入官方成绩;排行榜的计时标准是 Modal L40S。
然后复制 `submissions/TEMPLATE/`,让它跑得更快,并提交一个 PR。详见 CONTRIBUTING.md。
记录如何被验证
一次真实的验证过程,从日志中回放(种子 463953844,时间压缩):训练 → 完整性及适配器审计 → 评估 → 三个种子的裁决。
- 你提交一个 PR,包含你的训练脚本、配置、说明以及自报的成绩。
- CI 进行静态验证,然后一个自动化的 Claude 安全审查会检查代码差异(数据外泄尝试、网络使用、对测试框架的篡改、接触测试集),并将其发现公开发布。
- 一位维护者审查代码,然后评论 `/verify`——这会在一个网络隔离的 Modal 沙箱中,在指定的 L40S 上,用全新的种子将你的提交重新运行 3 次。所有 3 次运行都必须达到目标;官方时间取平均值。
- 测试框架会审计适配器的参数数量,并重新验证模型/数据内容的哈希值(防篡改),验证报告会发布在 PR 上,并连同接受/拒绝的理由一起提交到 `records/verifications/` 目录下。
完整协议、评分标准及威胁模型:JUDGING.md · SECURITY.md。
尚未有人认领的想法
目前已认领:序列打包 + 仅补全掩码(记录 #1)。
1轮次激进学习率调度 · 数据剪枝(仅训练最难的2000个样本?) · 块对角/变长序列打包注意力 · QLoRA NF4与bf16的权衡 · rsLoRA / DoRA / PiSSA初始化 · LoRA+(A/B矩阵非对称学习率) · NEFTune噪声 · 课程学习顺序 · 秩/放置位置搜索(仅MLP vs 仅注意力) · torch.compile · Unsloth内核 · Liger内核 · 融合交叉熵 · 短训练轮次的更优预热策略
认领一个想法,击败6分05秒的记录,你的名字就能上榜。
常见问题解答
这些技巧难道不会过拟合到某一个模型和某一个任务上吗?这正是为什么设置两个赛道,使用不同的模型族和任务类型——后续还会有更多遵循相同冻结与校准协议的赛道加入。一个只在单一赛道有效的技巧可以算作一项记录,但真正值得信赖的技术是那些能够迁移的。赛道系统将这个问题变成了一个实证问题,而非一场争论。
为什么选择Qwen2.5-1.5B?它不是在数学数据上预训练的吗?很可能,就像所有现代基础模型一样。但这并不重要:目标只是一个锚点,而非关于数学发现的声明。比赛过程本身才是关键——这与nanoGPT速通比赛将任意验证损失作为目标的原因相同。(赛道2使用了不同的模型族SmolLM2,部分原因就在于此。)
为什么使用挂钟时间而不是FLOPs或训练步数?因为挂钟时间才是你实际需要付费的,它迫使内核、数据加载和算法在同一个衡量标准下竞争。这与modded-nanogpt的规则相同。
为什么在Modal上使用L40S,而不是4090或H100?有三个原因。首先,它是一个统一的数据中心SKU,因此时间具有实际可比性(租用的消费级显卡性能因主机而异)。其次,通过Modal的月度免费额度可以免费使用,因此参赛和重新验证无需任何成本。最后,提交的是陌生人的代码——Modal沙箱会在网络阻断且无密钥的环境下运行它们。(L40S与4090采用相同的AD102芯片,因此消费级GPU的技巧可以迁移。)
我可以在其他数据上训练,或者从更大的模型中蒸馏吗?不行。仅限GSM8K训练集,不允许使用教师模型,不允许使用合成数据。完整禁止列表请参见TASK.md。
可以使用多个GPU吗?不行。仅限一块L40S。这就是比赛的意义所在。
许可证
麻省理工学院。记录、报告和书面材料与代码一样公开。