欠训练模型的正规基准测试 | AI生成和翻译

Home 2026.05

根据您的训练运行:验证损失值 3.29,训练数据量 6.3B 词元,迭代次数 12k —— 模型处于欠训练但状态正常。以下是合适的评估路径:

为何不建议使用 SimpleQA

SimpleQA 旨在测试事实性记忆,专为前沿模型(GPT-4 级别)设计。您 124M 参数且欠训练的模型将会获得接近 0% 的分数 —— 这并不具备参考价值。

适用于 GPT-2 124M 量级的评测基准

请使用 EleutherAI 的 lm-evaluation-harness —— 这是该模型类别的标准工具:

pip install lm-eval

随后在标准任务上运行零样本评估:

cd ~/projects/nanoGPT
lm_eval --model hf \
  --model_args pretrained=gpt2 \
  --tasks lambada_openai,hellaswag,piqa,winogrande,arc_easy \
  --device cuda \
  --batch_size 8

但您的模型采用 nanoGPT 格式(非 HuggingFace),您需要先执行以下任一操作:

方案 A — 转换为 HF 格式(编写一次性脚本将 nanoGPT 权重映射至 GPT2LMHeadModel

方案 B — 编写自定义的 lm-eval 模型封装器(一个用于加载 ckpt.pt 并暴露 lm-eval 所需对数概率 API 的 Python 类)

方案 C — 直接在保留验证集上测量困惑度(最简便——您的验证损失 3.29 对应困惑度 ≈ 26.8

GPT-2 124M 的参考性能数据

任务 GPT-2 124M(完整训练后)
LAMBADA ~45%
HellaSwag ~31%
PIQA ~70%
WinoGrande ~51%

您的模型仅经过 1/50 计算量训练,分数会偏低 —— 这是预期的对比基准。

建议: 方案 A(转换为 HF 格式)是最清晰的路径。是否需要我撰写权重转换脚本?


Back Donate