评估的黄金标准(Gold Standard)是收集真实的用户反馈。即:如果想要深入了解应用程序的质量与实用性,最佳方法是收集真实用户的反馈。除此之外,其它的评估方法都是从侧面反映出模型的质量水平。收集用户反馈的具体策略可以有不同的形式,例如:

通过以上两种规则方式,随着越来越多的用户开始使用该模型应用程序,就会收集到很多用户关于该模型的使用数据,根据该数据来分析模型的输出效果,从而不断地改进模型效果。但该方法也存在一定滞后性。因为只有当模型上线对客且用户使用一段时间之后,这些数据才能够收集到。为此,在模型应用上线对客之前我们还需要对其进行评估测试,这就需要下面的这几个方法。

二、人工评估

上线对客之前,评估大模型应用输出水平的最佳选择是:让标注人员在预部署阶段评估大模型应用的输出。典型的评估方法是构建测试数据集,根据测试数据集进行模型评估。

优质回答经验方法怎么写_优质回答的标准是什么_优质回答的经验和方法

让我们看一个简单的问答案例。即:根据用户评论,来回答有关华为耳机产品相关问题,如下所示。目标是对大模型输出结果进行评级。

❝ 用户评论:华为耳机pro是一款特别优秀的耳机,音质特别好,可以听到音乐的每个细节。

问题:为什么华为耳机pro是一款好耳机?

这里假如模型给出的响应结果是:

❝ 因为音频体验超级棒。

当遇到此类情况时,有多种方法可以对此响应进行评估,例如:案例对比、评分、A/B测试等,具体如下。

2.1 案例对比

评估人员将模型的输出结果与理想案例结果进行对比。拿上面的示例来说,理想的结果可能是:因为音频体验无与伦比。基于该结果标注人员对此做出判断。但这种方法需要事先构建基本事实。

鉴于没有两个用例完全相同,这意味着必须为每个提示和模型应用构建基本事实案例。 此外,基本事实的质量直接影响评估结果——如果构建不正确,可能会产生误导性的结果。

2.2 评分

评估人员对模型输出结果进行打分来评估结果的好坏(例如0到10之间的评级),由于该种情况没有基本事实案例参考,所以评估人员需要自行对输出质量做出判断。

评估分数可以是单个分数,也可以是一组分数,可以是宽泛的,也可以是细粒度的,具体情况具体分析。例如,创意写作任务可能需要对不同的输出特征进行更细粒度的评分,例如流畅性、趣味性和简洁性。

评估标准可以是按等级划分的分数,也可以是对标志的检查。例如,摘要任务可能需要检查输出的一致性,并且不会生成实际文档中不存在的内容。特定任务可能需要检查特定的规则,例如俳句中的音节数。

2.3 A/B测试

根据模型应用获得一对模型输出结果,并要求评估人员评估出最好的答案。这对于比较不同时间点、不同配置参数(prompt、超参数等)的模型质量非常有用。例如,让评估人员比较下面两个模型输出结果的最优答案:

❝ 1、因为音频体验超级棒。

2、因为麦克风品质特别好。

对于我们来说,上面两个回答最好的应该是第一个(因为音频体验超级棒),因为它的回答最准确,第二个回答(因为麦克风品质特别好)主要讲述了麦克风的质量而不是耳机的音质。

「人类评估的局限性」 它无法有效地扩展。所需要的时间成本明显高于自动化方法。另一个局限性是人类评估是主观的——一个评估者的判断可能与另一个评估者的判断不同。上面的例子相对简单,但在更具挑战性的任务中,对于响应结果的好坏,会有更多的模糊性和解释空间。许多因素都会影响评估者的判断,例如专业知识、风格和偏见,从而影响评估结果。

三、利用LLM评估

替代人工评估的另外一种方法是利用LLM进行结果评估,即:通过Prompt来引导LLMs模拟人工评估过程。上面介绍的人工评估方法(案例对比、评分和A/B测试)都可以利用LLM来实现。

在下面示例中,使用大模型对相同的问答任务执行A/B测试评估。该模型的任务是在对问题的两个回答中选择最好的答案,输出结果显示回答1是最好的。

优质回答经验方法怎么写_优质回答的经验和方法_优质回答的标准是什么

「LLM评估的优缺点」:消除了人工评估的时间成本限制,但它是否能在准确性和质量上超越人类评估尚无定论。它在一项任务上的有效性并不能保证它会推广到其他任务和领域,唯一解决方法是在特定应用程序上测试它。

「LLM评估的挑战」:LLM 生成的评估也面临着与人类评估相同的主观性挑战。许多因素都会影响模型的评估结果,例如模型的整体能力、是否经过专门训练来执行评估、是否存在可能引入偏差的训练数据等等。

四、单词级评估

另一种评估方法在单词/Token级别上比较参考案例和生成结果。目前有多种评估指标可用,例如 BLEU、ROUGE、Perplexity 和 BERTScore。

让我们看一个ROUGE的例子,它最初是为了评估摘要而创建的。它测量参考文本和生成文本之间匹配的“n-gram”的数量。N-gram是文本中“n”项的连续序列,其中“n”可以是 1、2 等。 为了简单起见,我们将使用“n=1”,也称为“一元语法”。 例如,在“我爱猫”这句话中,一元词是“I”、“love”和“cats”。

优质回答的经验和方法_优质回答的标准是什么_优质回答经验方法怎么写

根据参考答案“因为音质是最好的”来计算问答任务的n元语法的精确度、召回率和 F1 分数,其中:

from collections import Counter
def rouge_1(reference, candidate):
    # Turn into unigrams
    reference_words = reference.split()
    candidate_words = candidate.split()
    # Compute the number of overlapping words
    reference_count = Counter(reference_words)
    candidate_count = Counter(candidate_words)
    overlap = sum(min(candidate_count[w], reference_count[w]) for w in candidate_count)
    
    # Compute precision, recall, and F1 score
    recall = overlap / len(reference_words)
    precision = overlap / len(candidate_words)
    f1 = 2 * (recall * precision) / (recall + precision)
    # Return resuls
    return {"recall": recall, "precision": precision, "f1": f1}
for idx,gen_answer in enumerate(gen_answers):
    result = rouge_1(ref_answer, gen_answer)
    print(f"Answer #{idx+1}")
    print(f"Precision: {result['precision']:.2f}")
    print(f"Recall: {result['recall']:.2f}")
    print(f"F1-Score: {result['f1']:.2f}")
    print("\n")

输入结果为:

Answer #1
Precision: 0.50
Recall: 0.33
F1-Score: 0.40
Answer #2
Precision: 0.71
Recall: 0.56
F1-Score: 0.63

「单词级指标优缺点」 上面输出结果第二个生成的答案在准确率、召回率和F1分数方面的得分高于第一个答案,这并不是预期结果。这是因为它与参考答案有更多的一元组重叠,例如“best”和“quality”等词。这是一个单词级指标可能达不到要求的示例。它们很方便,因为它们易于解释,并且实现快速且廉价,但在比较两段文本时,它们可能无法捕获整体含义和准确性。

总结

本文探讨了评估LLM输出结果的一些技术,从人工评估到自动化评估。其中:一方面,自动化评估的时间成本效率更高,在某些情况下是非常实用的选择,例如在早期原型设计阶段。另一方面,人工评估仍然是获得模型应用准确性和实用性最强评估标准。每种评估方法都有其优点以及潜在缺陷,这个也要根据具体任务具体分析。


本文由转载于互联网,如有侵权请联系删除!