大模型评估方法-微调模型/评估性能

1. 检索质量评估

通常在开发/验证集上进行。

  • 命中率:对于一个问题,系统是否至少检索到了一个相关文档?这是一个二元指标(是/否)。它衡量了检索的召回能力。

  • 平均精度@K:这是信息检索中的核心指标。它衡量在前K个检索结果中,相关文档的比例和排名位置。例如,MRR@5 表示前5个结果中,第一个相关文档排名的倒数平均值。排名越靠前,得分越高。

  • 召回率@K:在所有真实相关的文档中,有多少被成功检索到了前K个结果里?这衡量了检索的全面性。

  • 文档相关性:人工或通过强模型(如GPT-4)评估每个检索到的文档与问题的相关程度(例如,0-1分或“相关/不相关”)。可以计算平均得分。

关键点:检索质量评估需要一份“标准答案”,即对于每个问题,我们知道哪些文档是真正相关的(称为“Ground Truth”文档)。

2. 生成质量评估

基于参考答案的评估和无参考答案的评估。

A. 基于参考答案的评估(需要Ground Truth答案)
这种方法类似于评估标准问答模型。

  • 精确匹配:生成的答案是否与标准答案完全一致(或经过归一化后一致)?过于严格,不常用。

  • 模糊匹配:使用ROUGE、BLEU等文本相似度指标,比较生成答案和标准答案的重叠程度。在摘要任务中常用,但对QA来说可能不够灵活。

  • 语义相似度:使用句子嵌入模型(如Sentence-BERT)计算生成答案与标准答案在语义空间上的余弦相似度。这比字面匹配更合理。

B. 无参考答案的评估(更实用)
在很多场景下,我们可能没有标准答案,或者标准答案不止一个。这时可以评估答案的“忠实度”和“答案质量”。

    • 忠实度:这是RAG评估的核心指标。它衡量生成的答案在多大程度上仅依赖于检索到的上下文,而没有“幻觉”出不存在的信息。

      • 评估方法:通常需要人工或强模型(GPT-4作为裁判)来判断。可以提出这样的问题:“给定问题和检索到的文档,答案中的所有陈述是否都能从文档中推断出来?”

    • 答案相关性:评估答案是否直接回答了问题,而不是答非所问或包含冗余信息。

      • 评估方法:例如,“给定的答案在多大程度上回答了问题?”(评分1-5)。

3. 端到端质量评估

这是最终用户最关心的层面,直接评估整个系统的输出。通常结合了检索和生成的效果,并采用人工或LLM-as-a-judge的方式。

  • 正确性/准确性:这是最直接的指标。答案在事实上是否正确?这隐含地要求答案既忠实(基于文档)又相关(回答了问题)。

  • 有帮助性:答案是否清晰、完整、易于理解?

  • 综合评分:让人工或模型裁判对答案的整体质量进行打分(例如,1-5分或1-10分)。

 

评估方法与实践

1. 人工评估

黄金标准,但成本高、速度慢。通常用于最终验证或构建小规模的测试集。

  • 设计清晰的评分标准和指南(例如,如何区分“忠实度”得分为3和4)。

  • 需要多个评估者以保证信度(如计算Kappa系数)。

2. 自动化评估(LLM-as-a-judge)

这是目前的主流和趋势。使用一个更强大的LLM(如GPT-4)作为“裁判”来评估目标RAG系统的输出。

  • 流程:

    1. 构建一个评估数据集(包含问题、检索到的上下文、生成的答案,以及可选的Ground Truth答案)。

    2. 为裁判LLM设计精心编写的评估提示词,明确评估维度和标准。

    3. 让裁判LLM输出结构化评分(如JSON格式)或判断理由。

你是一个评估助手。请根据给定的[问题]、[检索到的上下文]和[模型生成的答案],评估答案的忠实度。
忠实度标准:答案中的所有事实陈述是否都能从提供的上下文中得到支持?避免幻觉。

请只根据提供的上下文进行评估,不要使用外部知识。

[问题]: {question}
[检索到的上下文]: {retrieved_context}
[模型生成的答案]: {generated_answer}

请输出一个JSON对象:
{
    "faithfulness_score": <01, 1表示完全忠实,0表示存在幻觉>,
    "reasoning": "<你的判断理由>"
}

 

3. 合成数据评估

当缺乏现成的测试数据时,可以自动生成:

  • 基于文档生成QA对:从知识库中随机采样文档,使用LLM根据文档内容生成潜在的问题和答案。这些生成的(文档,问题,答案)三元组就构成了一个高质量的测试集。

posted @ 2025-09-24 10:38  wangssd  阅读(33)  评论(0)    收藏  举报