跳到正文
北京时间
原文
Hacker News 热门(buzzing.cc 中文翻译)· Vineeth147·· 2026-07-20精选AI 评分70

LoRA Speedrun 公开排行榜:6分05秒微调Qwen2.5-1.5B达GSM8K 61.1%准确率

LoRA Speedrun——一个针对微调技术的公开实际运行时间排行榜

AI 导读

LoRA Speedrun项目推出公开排行榜,在固定硬件(单张L40S)上比拼Qwen2.5-1.5B的微调运行时间。当前纪录由@Saivineeth147以6分05秒保持,采用序列打包与仅完成损失掩码技术,相比基线11分57秒提速约2倍且准确率更高(61.1%)。项目提供免费Modal沙箱验证,任何提交需经3次独立复现确认。

推荐理由

LoRA 微调领域的 nanoGPT speedrun,在固定硬件和任务上比墙钟时间,公开透明且可复现,做微调的开发者可以下场试试。

正文 · AI 翻译

在单块 L40S 上,你能多快地把 Qwen2.5-1.5B 通过 LoRA 微调到 GSM8K 上 ≥ 57%?

这是用于微调的 modded-nanogpt:固定任务、固定硬件,以及一个公开的挂钟时间记录排行榜。每一项记录在计入之前,都会在相同硬件上用全新随机种子独立重跑 3 次。

尝试与验证都是免费的:官方计时运行在 Modal L40S 沙盒上进行,而 Modal 每月赠送的免费计算额度足以覆盖完整运行——因此任何人都可以参赛,任何人都可以用一条命令重新验证任何记录。

排行榜

赛道 1 — GSM8K · Qwen2.5-1.5B · 目标 ≥ 57.0% · 1× L40S

当前记录:6 分 05 秒,由 @Saivineeth147 创造——序列打包 + 仅对补全部分计算损失的掩码,2 个 epoch。与 #0 相同的 LoRA 配置;速度约快 2 倍,且准确率更高。

# 日期 作者 训练时间 GSM8K/EM Δ 技术
0 2026-07-18 @Saivineeth147 11m 57s 59.4% — 基线:在所有线性层上使用普通 LoRA r=16,3 个 epoch,余弦学习率。无任何技巧。(报告)
1 2026-07-18 @Saivineeth147 6m 05s 61.1% −49% 序列打包 + 仅补全部分损失掩码,2 个 epoch。与 #0 相同的 LoRA 配置;速度约快 2 倍,准确率更高。(报告)

赛道 2 — SQuAD v1.1 · SmolLM2-1.7B · 目标 ≥ 75.5% · 1× L40S

当前纪录:11分08秒,由 @Saivineeth147 创造 — Track 2 基线:在 SQuAD 上使用普通 LoRA r=16,前 20k 条样本,1 个 epoch,全序列损失。没有任何技巧。

# 日期 作者 训练时间 GSM8K/EM Δ 技术
0 2026-07-20 @Saivineeth147 11分08秒 77.5% — Track 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% EM
训练数据 仅 GSM8K train 划分 仅 SQuAD train 划分
指标 训练实际耗时。越低越好。 相同
硬件 1× L40S(48 GB),Modal 沙箱 相同
约束条件 仅限 adapter,可训练参数 ≤ 30M 相同

机器可读规格:spec.yaml · spec-t2.yaml。完整规则:TASK.md。

其余一切由你掌控:LoRA 的秩与放置位置、量化、学习率调度、序列打包、数据子集的选择与排序、自定义 kernel、何时停止。如果你能让模型达标,用 1,000 个精心挑选的样本训练 90 秒也行。

为什么要有这个

LoRA/QLoRA 是大多数真实世界微调实际采用的方式,而相关技术空间已经爆发式增长——DoRA、rsLoRA、PiSSA、LoRA+、NEFTune、Unsloth kernel、秩自适应方法——但并没有一个对抗性的、可公平对比的竞技场,让这些想法在公开场合相互较量。论文各自在不同模型、数据和硬件上报告数字;彼此之间毫无可比性。

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,时间压缩):训练 → 完整性 + 适配器审计 → 评估 → 3 种子裁决。

  1. 你提交一个 PR,附上你的训练脚本、配置、说明和自报数据。
  2. CI 对其进行静态验证,并由自动化 Claude 安全筛查审查该 diff(数据外泄尝试、网络使用、测试框架篡改、接触测试集),并公开其发现。
  3. 维护者审查代码,然后发表评论 /verify —— 这会在网络屏蔽的 Modal 沙箱中,在规格 L40S 上以全新随机种子将你的提交重新运行 3 次。3 次运行都必须达标;官方成绩取平均值。
  4. 该测试框架会审计适配器参数量,并重新验证模型/数据内容哈希(防篡改),验证报告会发布在 PR 上,并连同接受/拒绝理由一起提交到 records/verifications/。

完整协议、评分标准和威胁模型:JUDGING.md · SECURITY.md。

尚无人认领的想法

已被认领:序列打包 + 仅补全掩码(记录 #1)。

1 轮激进学习率调度 · 数据剪枝(只在最难的 2k 样本上训练?)· 块对角/varlen 打包注意力 · QLoRA NF4 与 bf16 的权衡 · rsLoRA / DoRA / PiSSA 初始化 · LoRA+(A/B 非对称学习率)· NEFTune 噪声 · 课程排序 · 秩/位置搜索(仅 MLP 还是仅注意力)· torch.compile · Unsloth 内核 · Liger 内核 · 融合交叉熵 · 针对短训练的更智能预热

认领一个,打破 6 分 05 秒,让你的名字登上排行榜。

常见问题

这些技术难道不会过拟合到某一个模型加某一个任务上吗?这正是为什么设有两条赛道,采用不同的模型家族和任务类型——而且后续还会有更多赛道遵循同样的冻结与校准协议。只在一条赛道上取胜的技巧只是一项纪录,但真正值得信赖的技术是那些能够迁移的。赛道体系让这成为一个实证问题,而不是一场争论。

为什么选 Qwen2.5-1.5B?它难道不是在数学上预训练过的吗?很可能,就像每一个现代基础模型一样。但这不重要:目标只是一个锚点,而不是关于数学发现的主张。竞赛才是有意思的部分——这和 nanoGPT 竞速以任意验证损失为目标是一个道理。(赛道 2 使用了不同的家族 SmolLM2,部分原因就在于此。)

为什么用挂钟时间而不是 FLOPs 或步数?因为挂钟时间才是你真正付出代价的东西,它迫使 kernel、数据加载和算法在同一种货币下竞争。和 modded-nanogpt 的规则一样。

为什么在 Modal 上用 L40S,而不是 4090 或 H100?三个原因。它是一个一致的数据中心 SKU,所以时间真正具有可比性(租用的消费级显卡因主机而异)。它通过 Modal 的每月额度免费使用,所以参赛和重新验证不花一分钱。而且提交的是陌生人的代码——Modal 沙箱在断网且无密钥的环境下运行它们。(L40S 和 4090 是同样的 AD102 芯片,所以消费级 GPU 的技巧可以迁移。)

我可以用其他数据训练/从更大的模型蒸馏吗? 不行。只能用 GSM8K 训练集,不允许教师模型,不允许合成数据。完整禁用清单见 TASK.md。

可以用多块 GPU 吗? 不行。只有一块 L40S。这正是关键所在。

许可证

MIT。记录、报告和撰写文档与代码一样公开。

来源:Hacker News 热门(buzzing.cc 中文翻译) · github.com