大模型评价标准

大模型评价标准总结

1 算法自动评价

算法自动评价类中,根据各标准针对的算法不同特性,可分为准确度(Accuracy)、标定性(Calibration)、公平性(Fairness)以及鲁棒性(robustness)。其中包含的确切指标可细分如下:

1.1 准确度(Accuracy):

  1. exact match (EM). 这个指标可被译为确切匹配,是根据大模型给出的结果与标准值之间的匹配度来计算的,完全匹配时,EM值为1,不完全匹配时,EM值为0,但匹配比较呆板,可以设定一个阈值,来衡量完全匹配这个概念,比如:
    E M h = { 1 , δ ≥ h , 0 , δ < h , EM_{h} = \begin{cases}1, \delta \geq h, \\0, \delta < h,\end{cases} EMh={ 1,δh,0,δ<h,
    其中, δ \delta δ为大模型给出的结果与标准值之间的匹配比例, h h h为匹配度阈值,大于等于该阈值时,即 δ ≥ h \delta \geq h δh,判定为确切匹配,有 E M h = 1 EM_{h} = 1 EMh=1;小于该阈值时,即 δ < h \delta < h δ<h,不判定为确切匹配,有 E M h = 0 EM_h = 0 EMh=0

  2. F1 score. 这个指标为基于深度学习的方法常用的评价指标,也可被用于大模型的实际效果评估,
    F 1 = 2 × Precision × Recall Precision + Recall , F_1 = \frac{2\times \text{Precision}\times \text{Recall}}{\text{Precision}+\text{Recall}}, F1=Precision+Recall2×Precision×Recall,
    其中, Precision \text{Precision} Precision为精确率, Recall \text{Recall} Recall为召回率,其计算分别为
    Precision = T P T P + F P , Recall = T P T P + F N \text{Precision}=\frac{TP}{TP+FP}, \text{Recall}=\frac{TP}{TP+FN} Precision=TP+FPTP,Recall=TP+FNTP

    其中,TP(True positive)为真正例,TN(True nagative)为真负例,FP(False positive)为假正例,FN(False nagative)为假负例。简单来说就是预测正确的样本数量,除以全部的样本数量。即精确率可被解释为:在被识别为正类别的样本中,识别正确的比例。召回率可被解释为:在所有正类别样本中,被正确识别为正类别的比例

    对于一般的模型,精确率和召回率往往是此消彼长。也就是说,提高精确率通常会降低召回率,反之亦然。

    而F1 score则为比较综合性的指标,其脱胎于F值,其计算公式为
    F = ( 1 + a 2 ) × Precision × Recall a 2 × ( Precision + Recall ) , F = \frac{(1+a^2)\times \text{Precision}\times \text{Recall}}{a^2 \times (\text{Precision}+\text{Recall})}, F=a2×(Precision+Recall)(1+a2)×Precision×Recall,
    其中,权重因子 a a a的值取1时,即变为F1 score。

  3. ROUGE. 此指标有确切的来源论文,GOOGLE学术引用16046次[1],是学术界认可的评价指标之一。ROGUE是Recall-Oriented Understudy for Gisting Evaluation的简写,译为:基于召回率的主旨评估替补。原论文中主要介绍了4种ROGUE,分别为:ROUGE-N (N-gram Co-Occurrence Statistics, N-gram共现统计), ROUGE-L ( Longest Common Subsequence, LCS, 最长公共子序列), ROUGE-W ( Weighted Longest Common Subsequence, WLCS, 加权最长公共子序列)以及ROUGE-S ( Skip-Bigram Co-Occurrence Statistics, Skip-Bigram共现统计),其中最常用的为ROUGE-NROUGE-L,此处仅介绍这两种,其他种类请参阅原文[1].

    ROUGE-N的表达式为
    ROUGE-N = ∑ S ∈ { R e f e r e n c e S u m m a r i e s } ∑ g r a m n ∈ S Count m a t c h ( g r a m n ) ∑ S ∈ { R e f e r e n c e S u m m a r i e s } ∑ g r a m n ∈ S Count ( g r a m n ) , \text{ROUGE-N}=\frac{\sum_{S\in\{ReferenceSummaries\}}\sum_{gram_n\in S} \text{Count}_{match}(gram_n)}{\sum_{S\in\{ReferenceSummaries\}}\sum_{gram_n\in S}\text{Count}(gram_n)}, ROUGE-N=S{ ReferenceSummaries}gramnSCount(gramn)S{ ReferenceSummaries}gramnSCountmatch(gramn),
    其中, n n n为共现统计的长度,即统计对象的出现次数。 Count m a t c h ( g r a m n ) \text{Count}_{match}(gram_n) Countmatch(gramn)为大模型输出结果和一组参考真值中同时出现的n-gram共现统计的最大数量。 Count ( g r a m n ) \text{Count}(gram_n) Count(gramn)为参考结果中的n-gram共现统计总数量。

    ROUGE-L的表达式为
    ROUGE-L = LCS ( c a n d i d a t e , r e f e r e n c e ) length ( r e f e r e n c e ) , \text{ROUGE-L}=\frac{\text{LCS}(candidate,reference)}{\text{length}(reference)}, ROUGE-L=length(reference)LCS(candidate,reference),
    其中, LCS ( ⋅ , ⋅ ) \text{LCS}(\cdot, \cdot) LCS(,) 表示大模型输出结果和参考真值之间的最长公共子序列长度, length ( r e f e r e n c e ) \text{length}(reference)

在大型语言模型(LLM)的评估中,通常使用多种指标来衡量其性能。以下是一些常见的评估指标及其解释: ### 1. 困惑度 (Perplexity) 困惑度是衡量语言模型预测能力的一个重要指标。它反映了模型对测试集数据的不确定性[^2]。较低的困惑度意味着模型能够更好地预测文本内容,因此这是一个越低越好的指标。 ### 2. 准确率 (Accuracy) 准确率用于衡量模型在分类任务上的正确性,即模型预测正确的样本占总样本数的比例。这个指标是一个越高越好的指标,适用于多类分类问题[^2]。 ### 3. F1 分数 (F1 Score) F1分数是精确度和召回率的调和平均值,常用于序列标注任务如命名实体识别或情感分析等场景。F1分数同样是一个越高越好的指标,因为它综合考虑了模型的精确性和召回能力[^2]。 ### 4. 精确度 (Precision) 和 召回率 (Recall) 精确度是指被模型预测为正类的实例中有多少是真正的正类;而召回率则是指所有实际为正类的实例中有多少被模型正确识别出来。这两个指标对于理解模型在特定类别上的表现非常重要[^3]。 ### 5. PR 曲线 PR曲线以召回率为横坐标、精确度为纵坐标绘制而成,可以提供关于二元分类器性能的更多信息,特别是在数据不平衡的情况下。 ### 6. 均方根误差 (RMSE) 虽然RMSE主要应用于回归问题,但在某些情况下也可以用来评估生成文本的质量,比如通过比较生成文本与参考文本之间的差异。然而需要注意的是,RMSE对异常值敏感,这可能影响其作为单一评价标准的有效性[^4]。 ### 性能评价方法 除了上述定量指标外,还需要考虑定性的评估方式,例如人工评审来判断生成文本的流畅性、相关性和创造性等方面。此外,在进行模型优化时,通常会结合交叉验证等技术来确保结果的可靠性,并且可能会采用更复杂的评估策略来针对特定的应用场景进行调整[^2]。 以上这些指标共同构成了一个全面评估大型语言模型性能的基础框架。选择合适的评估指标取决于具体的应用需求以及想要解决的问题类型。 ```python # 示例代码 - 计算准确率 def calculate_accuracy(y_true, y_pred): correct_predictions = sum([1 for true, pred in zip(y_true, y_pred) if true == pred]) return correct_predictions / len(y_true) # 假设的真实标签和预测标签 y_true = [0, 1, 0, 0, 1, 1] y_pred = [0, 0, 0, 0, 1, 1] accuracy = calculate_accuracy(y_true, y_pred) print(f"Accuracy: {accuracy}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

空 白II

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值