摘要:众所周知,人工智能经历了三个重要的发展阶段,最早可以追溯到 20 世纪 50 年代,而后逐步从逻辑推理专家系统发展到深度学习,直至今日的大模型时代。特别是在 2023 年,有关大模型的信息大量涌现,每天都有大量的推送,甚至一些广为人知的公众号也成为了行业的顶尖
导读大型模型在实际应用中,评估阶段尤为重要。本文将分享货拉拉在大模型应用测评框架方面的实践。
主要内容包括:
1. 应用背景
2. 评测框架 LaLaEval
3. 应用实践
4. 总结与展望
5. 问答环节
分享嘉宾|吴湖龙 货拉拉:深圳依时货拉拉科技有限公司 数据挖掘专家
编辑整理|马同学
内容校对|李瑶
出品社区|DataFun
01
应用背景
众所周知,人工智能经历了三个重要的发展阶段,最早可以追溯到 20 世纪 50 年代,而后逐步从逻辑推理专家系统发展到深度学习,直至今日的大模型时代。特别是在 2023 年,有关大模型的信息大量涌现,每天都有大量的推送,甚至一些广为人知的公众号也成为了行业的顶尖资源。
随着越来越多大模型不断涌现,在实际应用过程中,其实际价值体现在哪里呢?实际上,其价值在于解决实际问题,即“应用为王”。2024 年初,大约已有 200 多个大模型出现。在“应用为王”的思想指导下,大家开始在各个领域进行探索和应用,包括市场营销、客户服务、数据分析等等。
然而,使用大模型的过程中也面临诸多挑战,主要问题包括:
知识的专业性:在某些特定场景中,需要专业的背景知识,这是大模型难以满足的,其深度也不足。知识的及时性:我们很难从基础层面更新大模型的知识。目前,虽然存在如 RAG 等方案,但在检索和生成过程中仍存在信息损失,因此这类问题依然存在。个性化信息:特别是在营销领域,大模型难以支持千人千面的定制化方案。成本和速度:尤其是像多智能体这种方案,在速度上可能存在许多不足。例如,在电话营销场景中,如果需要快速响应,可能需要更高性能的计算资源,如 A100、A800 等显卡。如果使用相对较低端的显卡,如 L20 等,可能无法达到所需的速度要求,因为营销场景需要实时对话,不能等待用户或客户说出一句话后,系统过很长时间才做出反应。因此,成本和速度也是至关重要的一个问题。稳定性和安全:大模型在对话过程中可能产生误导,并存在数据泄露的风险。当前来看,大模型在落地过程中仍面临一系列问题。结合我们之前讨论的目标,这些问题可以从项目管理的角度归纳为三个主要方面:收益、成本和风险。我们可以通过评测的方式来权衡这三者。
通过评测,我们可以明确希望达到的业务收益,或者评估能够实现的业务收益。同时,我们也需要了解实现这些业务收益所需消耗的资源,包括人力、设备和成本等一系列资源。此外,还有一个非常重要的方面是防控上线过程中的风险,尤其是在实际应用场景中,由于大模型存在的一些问题,可能导致较大的风险。后续内容中也会对此进行讨论。
总体而言,我们以评测的方式来驱动整个过程。
业界和学术界很早前就已经在进行相关工作,例如在相关综述中提到的评测内容包括知识能力评测、对齐评测、安全评测等一系列评测。根据我们目前掌握的信息,通用大模型的评测仍然占据主导地位。同时,我们也拥有多个评测平台,这些平台主要针对通用知识或特定领域如数学、科学的知识进行评测,很少有平台能够真正落地到业务效果的评测中。此外,在大模型应用到特定领域的过程中,缺乏可以参考的框架和实际案例。
这一现象的原因主要有方面,一方面是因为不同领域涉及的数据和流程存在诸多差异,另一方面是因为收集用于评测的领域数据极为困难。基于此,货拉拉构建的大模型应用评测框架能够较好地解决上述问题。接下来,将介绍我们的评测框架,以及如何将其应用于业务。
02
评测框架
在介绍评测框架之前,先概述一下大模型应用到实际业务中的一般上线流程。首先,要明确场景需求,即当前场景面临的问题是什么,大模型能够解决哪些问题,以及我们希望实现的目标是什么。在这一背景明确之后,开始模型方案的设计,包括具体的算法方案和工程实践方案。
在制定大模型方案之后,将进行基础模型的选型工作。以货拉拉为例,与许多头部大厂或独角兽企业不同,我们并没有自己的预训练模型。因此,我们需要基于现有模型进行选择。我们的目标是寻找具有较强通用能力或在特定领域内能力较强的模型,并且在效率和成本之间进行权衡。
确定了基础模型后,接下来是模型方案的实现阶段,包括前文提到的 AI Agent 结合 RAG 框架等,通过这些方案使我们能够利用大模型在特定场景下进行优化。在实现方案后,一个非常重要的环节是评测,因为很多时候模型直接上线可能存在效果不佳或风险等问题。因此,我们会进行离线评估,以确定当前模型是否达到上线标准,是否存在风险问题。多轮评测也可以不断指导模型的迭代,使其达到标准。
随后是上线的常规阶段,我们会使用真实流量进行比较(PK),以观察其与现状的对比,是否能够达成目标,以及进行后续的上线运维监控。整个上线流程中,评测环节在多个阶段都有所涉及,包括基础模型评测、离线效果评测以及线上验证。
评测分为三个阶段,第三阶段线上验证是一个通用的 A/B 测试过程,不属于本文重点讨论的内容。第一阶段的基础模型选型,是为了在模型方案中选择最适合我们的模型,涉及多个模型的评测。第二阶段是离线效果的验证,是在上线前对上线效果进行评估,以便我们能够进行逐步的迭代和优化,这是一种模拟评测。这两部分被纳入到我们的评测框架之下。
接下来将详细介绍“LaLaEval”框架,这是一个专门针对大模型的全面评估框架,由以下五个主要部分构成,以实现科学且可落地的评估。
首先,需要确定领域应用或领域大模型的边界。若无明确边界,则基本等价于通用大模型,难以应用于具体的业务场景。因此,我们将首先明确评估的边界。其次,在界定了边界之后,我们将设计一套详细的指标,以确定大模型的具体能力,并期望它在哪些维度上具备优秀的能力。第三,进行评测集的生成。为了评估大模型,我们必须使用一些标准的数据集或与我们场景相契合的数据集来进行评测。第四部分是制定整个评估标准,这主要是为了确保评估的科学性和可靠性,使我们的结果具有参考价值,而非仅凭直观感觉得出的结果。最后一步是结果的统计分析。在这一阶段,我们将再次校验整个评估过程,包括题目和评估人员的客观性,以确保得到一个可参考且科学的评估结果。这部分内容在 10 月份举办的第一届大模型会议上已经发表,如果感兴趣可以查阅相关资料。接下来,详细探讨第一步,即如何确定领域范围。这一步骤在很大程度上依赖于专家的经验。无论哪个场景,都涉及相应的专家知识,因此我们依据专家知识,从底层到顶层进行分类,确定每个层级所涉及的层级和子域。在此过程中,遵循互斥且穷尽(MECE,Mutually Exclusive and Collectively Exhaustive)的原则,确保每个层级中的子域之间相互独立,同时覆盖所有子域。
基于此,我们可以明确领域涉及的具体范围,并根据业务优先级确定最终应从哪个节点出发来设计能力边界。一旦能力边界确定,能力指标就相对容易理解。我们需要了解大模型具体具备哪些能力。这包括两个主要方面:一方面是众所周知的通用能力,如语义理解、逻辑推理;另一方面是特定领域的能力,包括对行业政策的理解以及对行业的洞察等。
接下来,详细介绍评测集生成的过程。整体而言,我们遵循常见的流程,包括收集原始语料、设计问答(QA)对、沉淀出 QA 对乃至对话集,并通过质量检查后入库。在此过程中,我们设置了一些关键节点,并制定了相应的方案以确保流程的可执行性。
例如,在收集原始语料时,会设定一些固定的边界,这些边界是基于之前确定的大模型领域的边界。其次,在原始语料的 QA 对生成过程中,会遵循一套相对标准化的规范,以确保生成的内容符合我们的需求。最终,我们会加入二次质量检查的环节,以确保整个评测集是无偏差的,从而保证源头上没有问题。
在评测结束后,评测过程中也会设置一些限制,例如我们的标注和打分标准是可执行、可量化的,这样的标准使得不同人员可以随时参与并明确知道如何进行评估。同时,还会引入类似单盲多盲的测试,以减少主观因素的影响。
最终步骤是结果的统计分析,这一步骤至关重要。我们不仅会直接统计最终结果,还会分析整个过程中是否存在异常情况,并通过数据分析方法来识别这些异常。前两个分析分别是评分人争议度分析和题目争议度分析,顾名思义,这些分析旨在检查评测过程中是否受到人为因素或题目因素的影响。争议度,即不同评分人对同一问题给出不同的打分或评价时,我们认为存在争议。一旦发生争议,我们会将其汇总到人的维度或题目的维度,并针对争议度高的内容进行二次质量检查,以明确问题所在。如果发现问题,将从最终的评测结果中排除这些问题,以提高结果的科学性。
此外,还会进行波动分析。如果在两次评测中出现评分波动,例如上次评测得分较高而下次评测得分较低,就需要进行归因分析,判断是由于模型回答的变化、题目本身的变化,还是评分人的变化等因素所致。
这些分析是在统计结果出来之前需要完成的工作。最终,我们将基于这些分析的结论得出最终得分,包括各个维度的模型得分以及总体模型得分。这是前文提到的五步流程中的一部分。
除此之外,我们还有一套相对完善的执行框架。该框架的主要目的是为了确保我们能够明确每个模块,例如领域能力界定模块,所需执行的任务以及预期产出的结果。同时,它还规定了在每个节点之前必须完成的前置节点,以提高整个评测流程的效率。这一点在我们的论文中有所展示。
03
应用实践
接下来将介绍货拉拉的一些典型应用实践。首先是货运领域大模型的评测应用实践,其次是更深入业务场景的邀约大模型的应用评测实践。
1. 案例 1:货运领域大模型
首先,来看我们货运领域大模型的评测。提到领域大模型,大家首先会思考这个大模型的预期目标是什么。例如,我们希望它能够回答某一领域的知识问题,成为该领域的专家,并且也希望将其应用于更深入的业务场景中,以提高效率和降低成本。
针对货运领域大模型,我们的具体目标是什么?通过下图可以发现,如果将视野扩展到物流领域,涉及的参与者或上下游企业已有数百家,我们难以一次性包含所有内容。因此,我们按照前述框架进行拆解,从整个物流货运细化到最终的同城货运,并在每个层级明确界定涉及的子域。最终,基于业务的重要度,我们将优先选择同城货运这一维度,并逐步向前进行迭代。
接下来,概述我们货运领域大模型的能力。除了众所周知的通用能力之外,我们还加入了与货运相关的特定能力。例如,概念知识方面,我们需要了解货运领域及其细分领域中的专业术语和专业知识。第二部分是企业信息,特别是在同城货运领域,我们需要了解相关的主体和参与者的情况。除此之外,还包括与货运相关的法律政策内容,例如道路安全相关的法律法规,我们需要了解其具体要求。
进一步而言,还包括更高层次的行业洞察,针对货运领域的问题,我们希望大模型能提供一些建议,包括对行业宏观格局、现状及未来发展的见解。同时,也包括我们内部的知识,如货拉拉的业务知识和企业背景等。
正如前面所提到的,我们希望该模型能够应用于各个领域,例如营销场景,因此我们也会考察其创意能力。基于这一套指标体系,我们将最终评测结果汇总到各个维度以及整体维度上,以评估其能达到的水平。
为了确保整个评测过程的科学性,以获得更加科学的评测结果,评测过程遵循我们之前提到的框架。以双模型评测为例,针对每个问题,我们都有对应的答案。这一步相对简单,关键在于后续步骤,即需要对答案进行脱敏和随机化处理。这样做的目的是确保后续参与评测的人员无法知晓任何模型与任何答案之间的对应关系,从而实现模型的脱敏。同时,他们也不能通过答案推测出可能是哪个模型生成的结果。通过这种方式,可以减少评测过程中主观因素的影响。
最终,我们可以根据随机化的对应关系还原结果,并进行分析,从而得到不同模型的评分。通过这些评分,我们可以比较不同模型的效果。整个评测过程涉及多个环节,包括三级打分规范、单盲测试,以及多人协同评测。通过这一系列流程,确保了评测结果的客观性和公正性。
通过多轮迭代,我们实现了对货运大模型能力的评估。可以观察到,尤其是在事实性能力方面,经过多轮迭代后,第三个模型的准确率达到了 93%,这一结果显著高于之前的 GPT-4 模型。
2. 案例 2:邀约大模型评测应用
接来介绍的案例更为有趣,同时也更具挑战性,是对我们开发的邀约领域大模型的评测。
在此,先解释一下“邀约”的含义。如图所示,司机加入货拉拉平台需要经历多个步骤:首先进行注册;注册后不能立即接单,需要完成认证操作,即上传身份证、驾驶证等证件至平台进行审核,通过认证后才能接单;认证之后可能还会有会员操作等。我们将从注册到认证再到会员转化的整个过程称为邀约。传统的邀约方式是人工电话邀约,即由邀约员打电话给司机,提醒他们上传资料完成认证以便接单。
我们的目标是通过邀约大模型的能力实现自动化邀约,例如构建一个 AI 邀约员与司机进行电话沟通,以促进转化。简单来说,方案是将司机的语音通过 ASR(自动语音识别)技术转换为文本,输入到邀约大模型中,然后大模型的回复通过 TTS(文本到语音)技术转换为语音,再传达给司机,以此实现整个对话过程。尽管存在更先进的端到端方案,如 GPT-4,但目前尚未达到落地水平,因此我们采用了当前的方案。
在这个过程中,评测的目的主要有三个:
作为上线前的防线,避免红线问题和上线风险。这一点至关重要,因为如果AI在上线后出现不当言论,涉及平台安全或舆论问题,将严重影响平台收益,这是一个非常严重的问题。因此,我们不能仅仅开发一个大模型就直接上线使用,这也是一个重要考虑点。作为效果衡量的天平,我们需要知道大模型在上线前能达到何种状态,是否能满足线上使用的标准。这是评测过程中需要得到的答案。作为优化迭代的指针,我们可以通过每轮评测了解AI在哪些方面存在问题、有哪些不足,以及有哪些改进空间,从而不断通过循环迭代的方式指导 AI 的优化和升级。这些就是评测在本案例中所扮演的角色。
在此,我们同样会为评测设定一套标准,这些标准需结合具体的业务场景来制定。以下是一些核心指标:
首先是语音回答流畅度。在对话场景中,不能在司机说完一句话后系统需要等待三四秒才有反应,这是不可接受的。其次是合规性,回答不能触及红线问题。第三个是效果达成的指标。我们对会话准确率进行拆解,包括事实性回答正确率,即在邀约员与司机问答过程中,能否提供正确的答案,避免误导;以及引导回答率,这涉及到 AI 邀约员作为营销人员的话术能力,能否引导整个对话过程达到转化状态。以上指标均是为 AI 邀约大模型量身定制的。获取这些指标的具体方法如下:
我们拥有一个相对完善的流程,起始于业务知识库的构建,包括线上真实对话的收集,基于这些内容沉淀出一系列问题,例如与货拉拉平台相关的问题、与邀约过程直接相关的问题,以及与红线相关的问题。得到这些问题后,我们可以进行整个模拟过程。
在题目准备完毕后,第二个步骤是模拟司机的角色。为此,我们有专门的人员扮演司机,接听AI邀约员的电话,以观察 AI 邀约员能提供何种答复,即模拟实际的交互过程。模拟司机并不知道与之对话的是哪一个模型产出的结果,也不知道会给出何种答案。我们就按照实际情况向其提问,观察其给出的答案,最终收集实际对话的文本和语音数据,以获取评测指标结果。
在本案例中,有一个非常有趣的环节,即模拟过程,这也是我们获取评测集的一个环节。为何要进行模拟?如前所述,我们需要获得最真实的反馈,但又不能直接上线,因此我们通过模拟方式尽可能还原线上邀约场景。这一环节主要包括三个要点:
首先,是司机人设的设计。由于我们的目标对象是司机,他们可能非常希望加入平台,也可能是相对观望的态度。因此,我们会针对不同类型的司机人设进行设计。其次,是场景预设。司机可能在忙碌、驾驶中,或者处于休息状态,我们会根据不同的场景进行预设。再次,是预设问题。有些司机思维活跃,回答问题时可能跳跃性较大;而有些司机则可能更直接,提出一些常规问题。这些情况都会涵盖在我们的真实业务场景中。在进行模拟评测的过程中,我们会将这些因素考虑在内,并将这三种情况以相应的比例叠加,以获得 AI 邀约员的答复。最终,这使我们能够尽可能地模拟出线上真实的邀约场景。
在获得模拟评测集之后,我们将进行最终的结构化评测。在此过程中,同样会参考之前提到的框架。不同的语言面对的模型可能不同,因此我们会根据模型的答案结果进行评测。在评测过程中,评测人员所看到的结果会进行打乱,以确保他们无法识别结果是由哪个模型产生的。
这一阶段涉及到多盲测试,因为在多个环节中都采取了保密措施。同时,我们还会进行交叉评测,即评测人员会评估多名模拟人员的信息,以确保不会有单个模拟人员的偏见影响结果。最后,还会有一个质检标注的过程。在收集完数据并完成评测后,我们会进行二次质检,以确保整个过程中尽可能减少人为主观因素的影响。
04
总结和展望
最后针对现状展望未来,主要有三个要点:
首先,我们当前的整个过程仍然涉及较多的人力资源,包括模拟对话的人员和评测人员。虽然部分评测工作已经利用大模型来完成,但整个过程仍然需要大量的人员参与。未来,预计将有更多大模型介入整个评测过程。其次,我们有一部分操作相对繁杂,比如部分数据需要通过线上和线下的方式进行相互传递。目前,我们内部已经有一些相应的评测产品,例如“拉拉智评”。未来将有更多的操作可以通过产品化方式执行,减少线下操作的过程。最后,目前仍有许多环节节点需要人工把控流转。未来,随着大模型的更多介入以及产品功能的完善,整个过程必将变得更加自动化。因此,我们预测未来的评测工作将更加智能化、平台化和自动化。
以上就是本次分享的内容,谢谢大家。
05
问答环节
Q1:我想咨询一下关于测试集构造的部分,这部分的成本相对较高,不知道货拉拉在这方面有没有什么经验可以借鉴,货拉拉的测试集构造是包括历史数据和自行构造的测试集吗?
A1:确实,我们很多成本都花在了这上面,包括大模型评测和模拟过程,本质上都是在构造一个测试集。我们内部目前采用了两种方式:第一种是直接从原始语料中提取,这种方法效率相对较高,但成本也相对较高;第二种是利用大模型生成语料,然后通过人工质检校验的方式进行修正和修改,这样可以在很大程度上提高效率。
Q2:用户的问题是动态变化的,而我们的测试集在某个时刻是相对静态的,我们的模型是基于这个静态的测试集进行评估的。这是否会导致持续出现 badcase?我们会持续重新训练模型吗?或者通过什么方式来提升这部分 badcase 的回答质量?在货拉拉的场景中,也使用了 RAG 吗,不仅仅是训练模型?
A2:我们所有的评测问题和使用场景都在一个明确的领域范围内,这个边界是比较清晰的。但即使在这个边界清晰的情况下,仍然会有您提到的问题,这需要通过逐步迭代的方式来修正。主要是这两个方面。这其实偏向于我们的前置工作,即优化模型的构成。我们发现在某些方面回答得不够准确,就会告诉模型团队在这方面需要提升。至于您提到的模型团队如何提升,主要有两个方面。如果模型不做微调操作,直接加入知识库即可。如果做微调操作,可能需要收集一段时间的数据,然后进行微调,同时将其加入知识库,大概是这样的流程。
Q3:您好,我想咨询一下,在评测过程中涉及了大量的人工参与,尤其是在对输出结果进行打分时,可能会遇到一个细节问题:不同的评测人员如何对评价标准达成一致理解和认知?
A3:确实,这是一个非常重要的问题。我们主要从两方面来解决这个问题。一方面,在评测开始之前,我们会制定一些评测规范和案例,明确什么样的回答是正确的,应该给予多少分数,这些都有清晰的标准。我们还会提供相应的案例,每个方向都可能给出一些案例,让大家进行模拟打分,即试标工作。在试标阶段,如果我们能够达成一致,那么我们就认为标准已经统一。另一方面,正如之前提到的,我们会进行评分争议度分析。如果我们发现某些评测人员在争议度上较高,我们会单独将这些案例拿出来进行复核。通过这种二次校正的方式,确保整个评测团队的认知是一致的。
Q4:关于您所提及的评测争议度分析,能否详细说明如何界定争议度的指标?
A4:我们采用一个简洁明了的定义:由于每个问题都由多名评测人员进行评分,一旦在同一个问题上出现不同的答案,我们便认为该题目存在争议度。此外,我们还会设定一个阈值,用以确定争议度达到什么程度时,需要将其提取出来进行质量检查。这是一个类似的标准。
Q5:您好,我有一个关于评分环节的问题。在您的评分环节中,是否有尝试让大模型参与?因为如果完全依赖人工,人力消耗可能相当大。在货拉拉是否有进行大模型的尝试,以及效果如何?与人工相比,大模型的效果能达到人工的百分之多少,或者是否有这样的对比数据?
A5:确实,我们在展望中提到了这一点。我们已经在一些场景中开始使用模型进行初步评分,然后由人工进行校验。特别是在评分较为复杂的场景中,指标较多。在第一个案例中,我们使用了大模型进行答案校对,这是实际存在的。不同的场景下,大模型的效果完全不同。例如,在召回阶段,我们可能会先通过大模型筛选出可能存在问题的题目,然后再进行人工介入。但在后续场景中,我们还没有引入人工。此外,例如在 ASR(自动语音识别)评测方面,大模型的准确率非常高,我们可以通过质检大约 40% 的内容,就能达到 99% 的召回率。因此,不同场景对大模型评测结果的准确率要求不同,难度也不同,使用的深度也会有所差异。谢谢。
Q6:前面提到评测过程中有人工参与,包括问题准备和评测打分环节,这些参与人员是两组独立的人群吗?是业务团队参与此事,还是由负责大模型的 AI 团队来执行?
A6:是的,评测团队与模型开发团队是相互独立的。一方面,我们有负责拉齐的团队,这基于我们之前提到的领域范围能力界定,无论是评测人员还是模型开发人员,都是根据这些内容来准备的。信息在这两部分之间是互通的。
Q7:关于最后提到的运营自动评测,运营评测的结果是如何反馈到模型方面的?是自动进行的吗,还是需要人工介入来转换?
A7:这里存在一个机制。如果我们线上遇到一些不良案例(badcase),我们会及时将这些反馈给模型团队,以便进行优化和迭代,这是有相应机制来确保的。
Q8:在大模型选型时,货拉拉对厂商有何要求?例如,是否需要经过备案等?另外,在邀约过程中,如果司机透露了一些个人隐私信息,这些信息是否会被传递给厂商,以进行大模型的输出,这是否涉及合规性问题?
A8:关于您的第一个问题,是的,我们需要厂商具备一定的资质。至于第二个问题,这种情况实际上不太可能发生。因为我们使用的是开源模型,并将其部署在本地,因此不涉及信息外泄的问题。
Q9:请问模型评测会进行多少次?从最初的基础模型引入,到使用内部数据进行微调,是否也需要进行评测?以及在众多应用场景中,每个场景上线前是否都需要进行类似的评测?每一轮评测的重点是否会有所不同?例如,是否在技术模型方面更注重其通用能力等。
A9:是的,所有这些情况都需要进行评测。具体要进行多少次,这实际上是以效果为导向的。如果模型能达到我们预期的效果,那么就差不多了。如果一直达不到,我们需要有一个标准来判断是否能够达到预期效果,或者是否根本无法实现。如果可以实现,我们会继续进行;如果明确在某个场景下无法实现,那么我们就会终止。具体进行多少次,取决于我们当前的效果以及与目标的差距。
至于每一轮评测的不同,并不是说每一轮评测的重点不同,而是每个应用场景下的评测侧重点可能会有所不同。例如,我们可能会非常侧重于风险的评测。在大模型评测的能力方面,如前述案例中,我们更加侧重于整个领域能力的评测。谢谢。
来源:DataFunTalk