GPT-2 124M GitHub代码训练完成 | AI生成和翻译

Home 2026.06

这是全面的训练总结:

================================================================ GPT-2 124M 在 GitHub 代码上的训练 — 完整运行总结 ================================================================

持续时间 开始时间: 周六 6月21日 21:14(目录创建) 结束时间: 周四 6月25日 00:39(最终检查点保存) 总时长: 约3天3.5小时(75.4小时)

配置 模型: GPT-2 124M(12层,12头,768嵌入维度,约1.63亿总参数) 数据集: 282个GitHub代码的.npy分片(27 GB,约140亿token) 批次: 4 × 1024 × 8 grad_accum = 32,768 tokens/step 步数: 427,000次迭代 所见token: 约140亿 优化器: AdamW(lr=6e-4,余弦衰减→6e-5,预热2000步) 精度: bfloat16,启用torch.compile

吞吐量 平均每步时间: ~636 ms/step(含评估/检查点开销) 稳态: 621 ms/step(torch.compile预热后) 步数/小时: ~5,663 tokens/秒: ~51,900 tokens/小时: ~1.87亿 MFU: 14.44%

硬件 GPU: RTX 4070(12 GB显存) 显存使用: ~5,050 MiB(7.3 GB空闲空间) 功耗: ~208W 温度: ~65°C

损失进展 第0步: loss 10.87(随机初始化) 第14k步: val_loss 5.87 第25k步: loss ~3.6 第70k步: val_loss 2.08 ← 最佳点 第325k步: val_loss 2.79 第427k步: val_loss 3.47(检查点中的最终最佳val_loss)

注意:最终val_loss(3.47)高于训练中期(70k时的2.08)。 这表明在后期当学习率衰减且模型记忆训练数据时,存在一定过拟合。 最佳泛化性能大约在第60-80k步。

检查点 路径: /mnt/data/nanoGPT/out-github-code-124m/ckpt.pt 大小: 1.4 GB

流程

  1. 下载: 38/1126个来自codeparrot/github-code的parquet分片
  2. 分词: 通过tiktoken进行GPT-2 BPE分词 → 140个训练.npy分片 + 1个验证.npy分片
  3. 训练: 在RTX 4070上运行427k步,耗时3.25天

================================================================

没错——3天3.5小时,140亿token,搞定!🎉


Back Donate