Forefront 如何评估微调模型的性能?
更新时间
Forefront 把微调后的模型评估分成三层:训练过程中的损失曲线、验证集上的表现对比,以及 MMLU、TruthfulQA、MT-Bench 等标准化评测的自动跑分。三者结合,既能看模型是否“学进去了”,也能看它在通用能力上有没有退化。适用前提是你已经在平台上完成或正在进行一次微调任务,并且手头有可用于验证的数据或愿意使用平台内置评测集。
三层评估各自看什么
训练损失曲线:判断学习是否正常
微调开始后,平台会提供内置的 loss 图表,展示训练损失随训练推进的变化。资料中给出的示例数值为 Training loss 0.132,说明界面会直接呈现当前损失水平。
这一层的用法是看趋势而非单点数值:损失持续下降说明模型正在拟合你的数据;损失长期不降或剧烈震荡,通常意味着数据格式、学习率或数据量存在问题,需要回到数据准备环节排查。它回答的是“训练有没有正常进行”,不回答“模型好不好用”。
验证集评估:判断泛化能力
Forefront 支持在验证集(validation set)上评估微调模型的表现,资料中展示了“Validation results”面板,并标注 Sample of 10,即在一批验证样本上给出结果对比。
这一步的关键是验证集要与训练数据分开,且尽量贴近真实使用场景的输入分布。如果验证集表现明显低于训练集,说明模型可能过拟合;如果两者都低,则更可能是数据质量或任务定义的问题。它回答的是“模型在没见过的同类数据上表现如何”。
标准化评测:判断通用能力是否退化
平台提供多种可自动运行的评测(Evals),资料中列出的包括:
| 评测 | 资料中示例得分 | 主要考察方向 |
|---|---|---|
| MMLU | 58.0% | 多学科知识理解 |
| TruthfulQA | 56.2% | 回答的真实性 |
| MT-Bench | 62.3% | 多轮对话质量 |
| ARC | 75.6% | 推理能力 |
| HumanEval | 75.6% | 代码生成 |
| AGIEval | 75.6% | 面向人类考试的综合性任务 |
这些分数是示例数据,不代表你的模型会得到相同结果,但可以作为理解各评测定位的参照。微调常见的副作用是“专精但变笨”,用这组评测对比微调前后的分数,能发现通用能力是否被牺牲。它回答的是“模型整体能力有没有被微调带偏”。
一次完整的评估流程
- 准备数据:整理微调用的私有数据,并单独留出一部分作为验证集。资料强调“Customize leading open-source models with your private data”,数据是微调的前提。
- 启动微调:在平台上选择开源模型并用你的数据开始微调,资料称“Start fine-tuning models on your data in minutes”。
- 观察训练损失:在训练过程中查看内置 loss 图表,确认损失呈下降趋势。
- 跑验证集:训练完成后在验证集上评估,查看 Validation results 中的表现。
- 运行标准化评测:从 MMLU、TruthfulQA、MT-Bench、ARC、HumanEval、AGIEval 等中选择与任务相关的评测自动运行,记录分数。
- 在 Playground 中试用:资料提到“Test your model in the Playground then integrate the API”,在接入 API 前先用交互方式做定性检查。
- 对比与决策:将验证集结果和评测分数与基线模型对比,决定是否继续调参、补充数据或直接部署。
选择评测时的判断条件
- 任务偏知识问答:优先看 MMLU 和 TruthfulQA,前者看知识广度,后者看是否会编造。
- 任务偏对话产品:MT-Bench 更贴近多轮交互体验。
- 任务偏推理或代码:ARC 和 HumanEval 更有参考价值。
- 任务偏综合能力:AGIEval 覆盖面向人类的考试类任务。
不必全部跑一遍。选 1–2 个与业务最相关的评测,加上验证集结果,通常足以支撑“是否上线”的决定;全部跑一遍更适合需要对外说明模型能力的场景。
常见卡点
- 只看 loss 不看验证集:训练损失很低但验证集差,是过拟合的典型信号,不能仅凭 loss 判断模型可用。
- 验证集与训练集同源:如果验证样本和训练样本高度相似,验证结果会虚高,失去参考意义。
- 评测分数孤立解读:单个评测的绝对分数意义有限,应与微调前的基线模型对比,看变化方向。
- 忽略定性检查:自动评测覆盖不到语气、格式、边界情况,Playground 中的实际对话仍是必要一步。
评估完成后,就可以按资料中的方式通过 API 调用模型:使用 chat 或 completion 端点,指定 model 为你的微调模型(示例中为 team-name/fine-tuned-llm),并设置 max_tokens、temperature、stop、stream 等参数。评估阶段选定的评测组合,也可以作为后续模型迭代时的固定回归检查项。