链载Ai

标题: 揭秘大模型评测:如何用“说明书”式方法实现业务场景下的精准评估 [打印本页]

作者: 链载Ai    时间: 昨天 21:19
标题: 揭秘大模型评测:如何用“说明书”式方法实现业务场景下的精准评估

概述

背景

首先介绍下为什么要写这篇文章。虽然网上有非常多的大模型评测相关的文章,但是就像看成功人士传记一样,看到别人的成功案例并不意味着自己也知道应该如何一步步地实现目标。市面上有非常多的评测平台,但是每个平台都不会告诉我们“上传评测集”、“新增评测维度”所涉及的评测集和评测维度是怎么生成的。所以我想通过这篇文档,让大家可以通过按“使用说明书”的方法执行就可以实现自己业务场景下的大模型评测。

本文内容力求严谨,但也可能存在主观判断、不完整甚至错误的问题。

定义

我们也约定下大模型评测的范围。大模型评测的目标是通过设计合理的测试任务和数据集来对大模型的能力进行全面、量化的评估。本文主要聚焦对大模型业务效果方面的评测,不包含大模型的性能测试。性能测试通过压测实现。

区别于基础模型的Benchmark(基准测试),本文更加聚焦在针对具体业务场景下大模型的效果。在基础模型发布时,模型厂商提供的测试报告无法覆盖用户实际业务场景。用户需要通过针对自己业务场景设计的评测来评估大模型的实际表现。同时大模型评测除了针对模型本身,也可以面向整个模型应用进行评测,覆盖RAG、MCP、工作流等构成的统一整体进行端到端的测试。

场景

大模型评测在模型应用中的作用,类似于功能测试在业务应用中的作用——两者均是确保系统或大模型在实际部署前达到预期性能与可靠性的关键验证环节。以下是几种典型的评测场景:

挑战

大模型评测相关工具平台随着各大模型平台厂商的持续投入以及开源社区的火爆,相关功能也在持续完善,目前已经不是主要的困难点。目前的主要困难更多聚焦在如何结合自己的业务场景开展大模型评测。

大模型评测方法

评测流程


大模型评测流程,整体可以分为4个阶段共9个动作。前7个为模型评测本身的动作,以输出评测报告为目标。后续2个动作为通过持续优化模型与模型评测本身,以达到最后的模型上线切换等目标。

需求分析

通过需求分析了解关键信息,作为后续设计的依据。以下是一些典型的问题。

业务场景

评测对象

评测集

评价维度

模型效果

技术实现

评测集设计与生成

基于评测目标确认数据来源

大模型的评测集根据评测目的最常见的有以下三种:

确认评测集场景范围

确认评测集场景范围的原因主要是为了保证测试内容的完整性,避免测试内容遗漏。评测集场景的梳理方式主要有以下方式结合分析:

确认评测集数量

对于来自线上请求“双跑”的在线数据集和离线数据集,采用不同的数量规划方式:

这里有个难点:如何解决各场景样本数量分布不均衡的问题?比如假设某质检场景里差评投诉的案例只占全部案例的1%,那如果完全按照实际请求生成评测集,可能导致差评占比偏少。而如果提升差评样本数量又会导致整体样本失真。

一般的解决方法有:

评测集初稿生成

在线评测集只需要接入线上数据接入,生成方式主要指离线数据集。生成方式主要有

评测集优化

当完成评测集后,可以根据需要进行一些优化。这里列出主几个常见的方面:

案例参考

蚂蚁集团:蚂蚁金服 FinEva金融评测集

蚂蚁集团、上海财经大学联合推出金融评测集Fin-Eva Version 1.0。根据对金融业务大模型的使用场景的拆分,分金融认知、金融知识、金融逻辑、内容生成以及安全合规五大类场景33个子场景共设计了上万个评测用例。

详细可以参考Github:https://github.com/alipay/financial_evaluation_dataset/tree/main

评测集生成:集团某业务使用人工造数结合大模型生成高质量评测集

该业务通过使用大模型去托管电销BD做自动回复和流程流转,实现让商家报名活动流程的自动化,提升活动的覆盖度。在该场景中,大模型先进行意图识别,驱动北极星任务的流转。针对回答不相关、要求转人工、同意开通、有意向/不明确等不同的情况,使用不同的策略进行推进。

由于商家和BD的聊天内容多种多样,场景无法穷举,意图识别的准确率和回复商家的话术,又直接影响到销售的效果。从质量的角度,如何全面地评测“AI销售模型”的能力水位,如何评测AI销售的准确率和话术体验,如何通过评测去挖掘异常场景和能力缺失点,从而反哺算法提升,都有一定的挑战。因此需要一个能“看得见”、“看得清”、“可持续”的评测方式,对AI销售进行持续全面的评估。

采用人工造数+大模型生成的方式,不仅实现了评测集的冷启动,同时又保障了评测集数量和质量的双重要求:

1. 人工造数。通过产运技提供了若干条数据,覆盖所有意图;

2. 大模型生成,使用LLM+Few-shot做补充,每个意图写单独的prompt,准确率更高。

评测维度设计

设计方法

评测维度用于评价模型输出的效果,涉及三个设计点:

具体的评测维度是根据业务人员对模型期望达到的效果来设计的。

最后要提到的是,业务人员可能也无法一次性给出最准确的评测维度,可能需要结合实际的bad case去优化。对于某些业务人员或用户觉得生成效果不好的案例,如果根据现有的评测维度给出的评价是正向的,那就需要寻找原因调整评价维度。举个例子,比如在“AI试衣”场景里,我们预先定义了“清晰度与分辨率”、“色彩准确性”、“人体与服饰的自然融合”、“姿势与角度匹配”、“光影与背景一致性”共5个评测维度。但是实际消费者使用时反馈部分场景的bad case在评测时给出好的评价。了解分析后发现消费者表示“我的体型穿这种衣服根本不是这个效果”。那基于消费者的这个反馈,我们就需要增加评测维度“人体比例与体型适配”。

模型效果量化

在完成分维度的设计后有一个最终的问题是,如何将各个维度的效果汇总成模型的整体效果的度量,从而评估模型是变好还是变坏,是否达到了上线等后续动作的标准。不同维度的优先级是不同的,安全类、客户投诉类一般都高于其他的业务指标。

通过权重调整各个维度的重要性,最终通过加权后的得分来量化模型的最终效果,是一种相对比较简单的实现方案。对于总分,通过加权计算总体效果。其中n表示场景数量,表示某个场景的平均分,表示该场景样本的权重,可以设置为该场景样本的占比,也可以都是1,或者业务人员根据业务需求设定。

评测任务设计与执行

评测配置设计

对于模型评测,在开始具体的评测动作前,还有一些评测设置需要确定:

AI评测

针对模型评测,可以使用大模型进行评测以提升效率。这里以百炼为例介绍如何进行AI评测。其他产品原理也是一致。AI评测的关键点在于评测Prompt的编写。

为了获得比较好的评测效果,百炼固定了Prompt框架,让用户按框架补充场景定义、评测维度(评分标准、评分档位、最大得分)。

完整的百炼的Pormpt如下

你的任务是对AI智能助手回复进行质量评分。
你非常清晰地认识到当用户提出一个关于【${scene}】场景的指令时(该场景的定义为:${scene_desc}),一个AI智能助手的回复应当符合以下标准(按标准重要性程度从高到低依次给出):[标准开始]${metric}[标准结束]
评分采取${max_score}档制(1-${max_score}),各分数档位含义如下:[档位含义开始]${score_desc}[档位含义结束]
针对用户指令,我们搜集到一个AI智能助手的如下回复。请根据你所知的当前场景下智能助手的回复标准,综合评估该回复并提供评价。以下是用户指令和助手回复数据:[数据开始]***[用户指令]{question}***[回复]{answer}***[参考答案]{ref_answer}***[数据结束]
你需要按照以下流程评估以上回复:${steps}
仔细思考一会,然后给出你的结论。你返回的模版如下,注意输出需保留模版中的'[['和']]':***我认为该回复的综合评分为[[一个1-${max_score}之间的评分]],理由如下。当前回复的优点:1.(请依次列举你认为当前回复做得好的点,每个点同时给出[[一个1-${max_score}之间的评分]]...)当前回复的不足:1.(请依次列举你认为当前回复欠缺的点,每个点同时给出[[一个1-${max_score}之间的评分]]...)***

案例参考

集团某业务自动化评测

该业务在每个月/每次重要实验后需要从搜索曝光日志中抽取数万条记录进行评测,日志包含曝光的品、店以及对应的query,评测规则较为简单,众包对query和品店评分0、1、2,代表相关程度,2分(完全相关)、1分(部分相关、可以接受)、0分(不相关),通过对比实验桶和测试桶评测结果统计相关性效果。

阶段一:使用通用模型,使用few-shot的方式让prompt理解

你现在的角色是XX领域的相关性打分模型,主要功能是判断用户搜索的关键词和商户名称或商品名称之间是否具有相关性,我会给你任务和要求,请按要求返回结果。任务:第一步:XXX第二步:XXX要求:1.按照以下格式输出回答,不要回答其他内容,输出格式:XXX2.一共只有三个得分选项即2分、1分、0分,不要给出其他的得分。3.我会给出具体的打分规则并给出对应的例子,给出的规则顺序不代表最终得分的权重,请参考完所有例子并仔细理解后给出答案,打分规则和示例如下1)对于商品名或商户名和关键词完全一致且意图也完全一致的,得2分例如:XXXX(2)对于商品名或商户名包含部分关键词,但意图完全一致的,得2分例如:XXXX

阶段二:基于微调后的模型进行自动评测

基于Qwen大模型模型,通过使用历史人工评测数据不断的微调后,新模型在搜索相关性评测领域的理解能力已经超过通用模型。

你现在的角色是XX领域的query-shop相关性打分模型。
query:XXshop_name:XX店
打分规则:0分:query与shop_name不相关。1分:query与shop_name弱相关。2分:query与shop_name强相关。……
query和shop之间的相关性分数是少?


评测报告

评测数据分析

百炼等评测平台会提供基础的评测结果展示的功能。为了提供通用能力,评测平台一般无法满足业务人员对于评测报告的要求,通过柱状图、表格等方式提供评测结果的展示和分析。

评测报告编写

评测报告是评测人员输出,便于后续决策(如判断是否具备上线切换条件等)使用的报告,所以需要根据阅读人员的习惯按格式输出。以下是一些案例:

集团某业务qwen-max评测

评测环境

1. 目前Qwen-max在xx环境中进行灰度测试,灰度比例15%。

2. xx环境目前主要是xx和xx业务使用。

评测结果

具体评测维度和分数如下表所示:

结论

1. Qwen-max整体评分超过XX模型,但在NL2SQL、代码编写、上下文理解和数学计算方面还是有差距。

2. 对比老版本Qwen-max,整体评分有较大提升。

后续动作

输出评测报告后,评测的部分已经完成了。基于评测报告的结果以及评测过程中发现的问题,后续的动作有:







欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5