16 大模型 LLM 微调教程:评估与测试之评估指标设置
系列进度
LLM 微调教程 · 第 16 / 24 篇
整理说明
这篇内容怎么整理
郭震 · 2026-06-04
阅读路线
先按这条路线读
先抓住主线,再回到代码、配置和图文细节,读起来会更稳。
图文索引
按图先建立主线,再跳回正文核对步骤、配置和判断标准。
微调评估不能只看一个平均分。分类任务、生成任务、格式任务和安全拒答任务需要不同指标,最后还要回到业务样本人工复核。
我会准备一张评估表:每条样本有预期、模型输出、是否通过、失败类型。这样团队能看懂模型到底强在哪里、弱在哪里。
在上一篇中,我们讨论了在大模型微调过程中如何保存与加载模型。正确的评估与测试是微调流程中至关重要的步骤,评估指标的设置直接影响着我们对模型性能的理解和应用。在本篇中,我们将具体探讨如何设置评估指标,以便在微调后的模型上进行合理的性能评估。
评估指标的选择
在微调大模型的过程中,选择合适的评估指标是确保模型效果的重要环节。常见的评估指标包括但不限于:
设置大模型微调评估指标时,先看任务成功率、格式符合率、事实错误、拒答边界和人工复核样本。
-
准确率 (Accuracy):在分类任务中,准确率是最常用的评估指标,计算公式为:
-
精确率 (Precision):精确率反映了模型预测正类的准确性。
-
召回率 (Recall):召回率衡量模型识别正类样本的能力。
-
F1 值 (F1 Score):F1 值是精确率和召回率的调和平均,用于平衡这两者的权衡。
-
损失函数 (Loss):在模型训练和评估过程中,损失函数可以用来判断模型性能,常用的有交叉熵损失等。
选择合适的指标
根据不同的应用场景,我们可能需要不同的评估指标。例如:
- 在医疗诊断系统中,可能更关注召回率以确保病人不会被漏诊;
- 在垃圾邮件分类中,精确率往往更重要,以避免将正常邮件标记为垃圾邮件。
案例分析
假设我们在微调一个用于情感分类的大模型,目标是将评论分为“积极”“消极”两类。在设置评估指标时,我们可能选择使用准确率、精确率、召回率和 F1 值。为了使评估更加全面,我们可以在验证集上执行以下代码:
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score
# 假设 y_true 是真实标签,y_pred 是模型预测结果
y_true = [0, 1, 0, 1, 1] # 真实标签
y_pred = [0, 1, 0, 0, 1] # 模型预测
accuracy = accuracy_score(y_true, y_pred)
precision = precision_score(y_true, y_pred)
recall = recall_score(y_true, y_pred)
f1 = f1_score(y_true, y_pred)
print(f'准确率: {accuracy:.2f}')
print(f'精确率: {precision:.2f}')
print(f'召回率: {recall:.2f}')
print(f'F1 值: {f1:.2f}')
执行上述代码后,我们得到了评估结果,能够帮助我们判断模型在情感分类任务上的表现。
综合评估
在评估过程中,还可以结合混淆矩阵来更直观地观察模型的预测表现。聚合各种评估指标的结果,将帮助我们更全面地理解模型的优缺点。
读完《大模型 LLM 微调教程:评估与测试之评估指标设置》后,可以先挑一个小样例走完整流程,再判断哪些步骤已经能独立完成。
读到这里,可以把《大模型 LLM 微调教程:评估与测试之评估指标设置》整理成一张复盘表:先说清主线,再拿一个小任务检查结果。
《大模型 LLM 微调教程:评估与测试之评估指标设置》读到最后,可以把图里的流程当成检查表:问题是否明确,操作是否落地,判断标准是否能复用。
接下来的文章我们将讨论测试集的使用,进一步探究如何通过测试集来验证模型的泛化能力与性能表现。在选择评估指标,确保基于实际应用场景的前提下,整合不同的评估方法,将更能够反映微调后模型的真实性能。
希望本篇的内容帮助大家在微调模型后设置合适的评估指标,以便进行更深刻的性能分析与理解。如果有任何疑问,请继续关注我们的系列教程!
继续阅读