让AI来评判AI,即利用大语言模型(LLM)作为评判者,已经成为近半年的Prompt热点领域。这个方向不仅代表了AI评估领域的重要突破,更为正在开发AI产品的工程师们提供了一个全新的思路。
来自国际数字经济学院、中国科学院计算技术研究所、伦敦帝国理工学院、中国人民大学高瓴人工智能学院的研究者近期发布了一篇关于LLM-as-a-Judge的综述,引用146篇论文从应用现状、评估方法到核心提升策略做了非常全面的研究。我之前介绍过一篇元法官的自我改进的研究《Meta与伯克利最新:元奖励Prompt,让LLM作为元法官能自我改进(包含Prompt模板)》,您也可以看看。
研究者用康德的《判断力批判》和《纯粹理性批判》开篇,它阐述了判断力(Judgment)在认识过程中的功能以及判断力的本质和作用。我解释一下康德这段话的意思。康德首先定义了判断,他认为判断力是在具体经验中应用普遍规则的能力,它是认识过程中的一个核心部分。通过判断力,我们不仅能感知和理解具体事物,还能将这些事物纳入到普遍的知识体系或规律之中。这是人类思维和理解世界的一种基本能力。
判断是将具体事物看作是普遍规律下的一部分的能力。它涉及将事物归纳到规则中的能力,即区分某物是否符合某一规则。
—— 康德,《判断力批判》;《纯粹理性批判》
研究者的论文框架非常清晰(需详尽研究,请移步原文 https://arxiv.org/pdf/2411.15594):
在传统的AI系统评估中,人工评判一直被视为黄金标准。专业评估人员凭借其丰富的经验和专业知识,能够对AI系统的输出进行全面而深入的评价。然而,随着各种LLM不断升级,AI技术的快速发展和广泛应用,这种评估方式正面临着前所未有的挑战。
首先是规模化问题。以机器翻译为例,一个商用翻译系统每天可能需要处理数百万条文本。如果依靠人工评估,即便组建一个庞大的评估团队,也难以应对如此海量的评估需求。更重要的是,随着评估规模的扩大,人力成本会呈指数级增长,这对许多企业来说都是难以承受的负担。
第二是一致性难题。不同评估者之间往往存在认知差异和主观偏好。比如在评估AI生成的文章时,有的评估者可能更注重内容的准确性,有的则更看重表达的流畅性。这种差异导致评估结果缺乏统一标准,难以进行横向比较。而且,即使是同一个评估者,在不同时间对同一内容的评判也可能产生波动,这进一步加剧了评估的不确定性。
第三个挑战是专业性要求。随着AI应用领域的不断拓展,评估工作越来越需要跨学科知识。以医疗AI为例,评估者不仅要懂AI技术,还要具备专业的医学知识。这种复合型人才极其稀缺,严重制约了AI系统的评估和优化。
正是在这样的背景下,研究者们开始探索让LLM承担评判角色的可能性。这种方法具有多个独特优势:首先,LLM具有强大的知识储备和理解能力,可以胜任多领域的评估工作;再者,LLM可以24小时不间断工作,轻松应对大规模评估需求;最重要的是,同一个LLM在相同的输入下会产生近似一致的稳定输出,这就从根本上解决了评估标准不统一的问题。
在LLM评判领域的发展历程中,评估方法经历了从简单到复杂、从单一到多元的演进过程。目前,主流的评估方法大致可以分为四类:评分生成、是非判断、配对比较和多项选择。这些方法各有特色,适用于不同的评估场景。
评分生成是最直观也是应用最广泛的评估方法。这种方法的核心思想是将评估对象的质量量化为具体的分数,使评估结果更加客观和可比较。根据近期的研究发现,评分方式的选择会显著影响评估的效果。
在离散评分领域,研究者们进行了大量实验来确定最优的分值范围。例如,JudgeLM团队的研究表明,1-5分制在大多数场景下能取得最好的效果。这是因为这个范围既能提供足够的区分度,又不会让评估变得过于复杂。而在某些需要更精细区分的场景,如学术论文评审,1-10分制则表现更好。
连续评分则提供了更大的灵活性。以LLaVA-Critic为例,它采用0-100的评分范围,这使得评估结果能更细致地反映质量差异。不过研究也发现,过于精细的分值可能会增加评估的不确定性。因此,在实际应用中往往会将分数归一化到0-1区间,以平衡精确度和可靠性。
特别值得一提的是Likert量表评分法,这是一种多维度评估方法的代表。G-Eval系统就采用了这种方法,从准确性、连贯性、流畅性等多个维度对AI输出进行评分。每个维度使用1-5分的量表,最后通过加权平均得出总分。这种方法不仅能给出整体评价,还能帮助开发者识别具体需要改进的方面。
在具体实践中,评分方法的选择需要考虑多个因素。首先是评估目的:如果是为了快速筛选,简单的高中低三档评分就够用了;如果是为了深入分析和改进,则需要更细致的评分体系。其次是评估对象的特性:对于创意写作这样的主观任务,多维度评分更合适;而对于数学解答这样的客观任务,单一维度的评分可能就足够了。
实践表明,评分生成方法在以下几个方面具有独特优势:
当然,这种方法也存在一些局限。最主要的是,单一的分数可能无法完整反映评估对象的所有特点。此外,不同场景下相同分数的含义可能不同,这就要求在实际应用中建立清晰的评分标准和细则。以下是研究者给出的prompt 模板
是非判断是评估方法中的一种特殊形式,它要求评估者对评估对象的正确性进行明确的判断。这种方法主要适用于需要明确判断的场景,如知识准确性验证、法律文书审查等。
在实际应用中,是非判断方法可以通过多种方式实现。例如,Reflexion框架通过生成自我反思来提供反馈;知识准确性验证则通过对比已知事实来评估陈述的正确性。这种方法的优点在于能够提供明确的对错判断,有助于快速筛选和优化。
然而,是非判断方法也有一些局限。首先,它可能无法适用于主观任务的评估,因为这些任务往往没有明确的对错标准。其次,即使在客观任务中,也可能存在模棱两可的情况,难以进行明确的判断。以下是研究者给出的prompt 模板:
配对比较是一种相对评估的方法,它要求评估者从两个或多个选项中选择更好的一个。这种方法主要适用于需要比较不同选项的场景,如产品推荐、文本生成等。
在实际应用中,配对比较方法可以通过多种方式实现。例如,双选项评估要求评估者从两个选项中选择更好的一个;三选项评估则增加了一个平局选项,允许评估者表示两个选项相同。这种方法的优点在于能够提供相对的评估结果,有助于快速比较和优化。
然而,配对比较方法也有一些局限。首先,它可能无法适用于需要绝对评估的场景,因为这种方法只能提供相对的比较结果。其次,即使在相对评估的场景中,也可能存在难以比较的情况,难以进行有效的评估。以下是研究者给出的prompt 模板:
多项选择是一种复杂评估的方法,它要求评估者从多个选项中选择最好的一个。这种方法主要适用于需要从多个选项中进行选择的复杂评估场景,如用户体验分析、产品设计等。
在实际应用中,多项选择方法可以通过多种方式实现。例如,评估者可以被要求从多个选项中选择最好的一个;也可以被要求对多个选项进行排序。这种方法的优点在于能够提供复杂的评估结果,有助于深入分析和优化。
然而,多项选择方法也有一些局限。首先,它可能无法适用于需要快速评估的场景,因为这种方法需要评估者进行复杂的比较和选择。其次,即使在复杂评估的场景中,也可能存在难以选择的情况,难以进行有效的评估。以下是研究者给出的prompt 模板:
在LLM评判领域,模型选择是至关重要的。不同的模型具有不同的特点和优势,选择合适的模型可以显著影响评估的效果。
通用大模型是LLM评判领域的一种重要选择。这种模型具有强大的知识储备和理解能力,可以胜任多领域的评估工作。GPT-4就是一种典型的通用大模型,它在多个研究中显示出与专业人类评估者相当的表现。
然而,通用大模型也有一些局限。首先,它可能无法适用于需要专业知识的评估场景,因为这种模型虽然具有强大的知识储备,但可能无法理解专业领域的术语和概念。其次,即使在通用评估的场景中,也可能存在难以评估的情况,难以进行有效的评估。
主流方案:
微调过程的三个关键步骤:
在LLM评判领域,提升评估可靠性是至关重要的。评估可靠性直接影响评估的有效性和可信度。以下是一些提升评估可靠性的核心策略:
评估流程优化是提升评估可靠性的一个重要策略。通过优化评估流程,可以显著提高评估的效率和可靠性。以下是几个关键的评估流程优化方案:
通过以上这些优化策略的综合应用,可以构建一个更加可靠和高效的LLM评估体系。这不仅能提高评估结果的准确性,也能为评估过程提供更好的可解释性和可追溯性。
偏见控制是提升评估可靠性的一个重要策略。通过控制偏见,可以显著提高评估的公平性和可靠性。例如,通过使用随机化输入顺序,可以控制位置偏见。
在Agent系统评估领域,LLM作为评判者有两种主要应用方式:一是对Agent的整体过程进行评估,二是在Agent框架的特定阶段进行评估。这两种方式各有特点和应用场景。
通过这种结构化的评估体系,我们可以全面且高效地评估Agent系统的性能。这不仅帮助我们更好地理解和改进Agent系统,也为Agent技术的发展提供了重要的质量保证机制。
在直接使用LLM进行评分、选择、配对比较或排名等评估任务时,LLM固有的偏见(如长度偏见、位置偏见和具体性偏见等)会导致评估结果欠佳。为了解决这些问题并提升整体评估性能,研究者建议可以从以下三个方面着手改进。
1.Few-shot提示示例
2.评估步骤分解
3.评估标准分解
4.针对性优化
5.评估任务转换
b) 优化LLM的输出形式
1.结构化输出约束
2.提供解释性输出
1.数据集构建方法
2.数据增强技术
1.模型反馈优化
2.人机协同优化
1.多轮评估
2.多模型投票
1.分数平滑
2.自验证机制
通过以上这些策略的综合运用,我们可以显著提升LLM评判系统的性能。这些方法不是互斥的,而是可以相互补充,共同构建更可靠的评估体系。例如,我们可以在直接优化输出的基础上进行多重评估结果整合,从而获得更稳定的评估结果。
LLM评判领域的应用非常广泛,包括金融领域、法律领域、创意内容评估等。
在金融领域,LLM评判可以应用于风险评估、合规性检查等场景。例如,通过使用LLM评判,可以快速评估金融文档的风险水平和合规性。
在法律领域,LLM评判可以应用于法律文书审查、合同评估等场景。例如,通过使用LLM评判,可以快速评估法律文书的准确性和有效性。
在创意内容评估领域,LLM评判可以应用于文学作品评价、艺术创作评估等场景。例如,通过使用LLM评判,可以快速评估文学作品的质量和艺术创作的价值。
以下是一些面向AI应用开发者的实践建议:
评估任务设计是至关重要的。通过设计合适的评估任务,可以显著提高评估的有效性和可靠性。例如,通过使用结构化模板,可以提高评估的准确性和可靠性。
提示工程优化是至关重要的。通过优化提示词,可以显著提高评估的准确性和可靠性。例如,通过使用清晰的指令语言,可以提高评估的准确性和可靠性。
质量保证措施是至关重要的。通过实施质量保证措施,可以显著提高评估的有效性和可靠性。例如,通过使用多轮评估,可以提高评估的准确性和可靠性。
LLM评判领域是一个快速发展的领域,具有广泛的应用前景。通过提升评估可靠性和有效性,可以显著提高LLM评判的应用价值。关于本文如果你有更多问题,欢迎来讨论。
文章来自于“AI修猫Prompt”,作者“AI修猫Prompt“。
【开源免费】DeepBI是一款AI原生的数据分析平台。DeepBI充分利用大语言模型的能力来探索、查询、可视化和共享来自任何数据源的数据。用户可以使用DeepBI洞察数据并做出数据驱动的决策。
项目地址:https://github.com/DeepInsight-AI/DeepBI?tab=readme-ov-file
本地安装:https://www.deepbi.com/
【开源免费】airda(Air Data Agent)是面向数据分析的AI智能体,能够理解数据开发和数据分析需求、根据用户需要让数据可视化。
项目地址:https://github.com/hitsz-ids/airda
【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。
项目地址:https://github.com/Significant-Gravitas/AutoGPT
【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。
项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md
【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。
项目地址:https://github.com/microsoft/graphrag
【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。
项目地址:https://github.com/langgenius/dify
【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。
项目地址:https://github.com/infiniflow/ragflow/tree/main
【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目
项目地址:https://github.com/phidatahq/phidata
【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。
项目地址:https://github.com/TaskingAI/TaskingAI
【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。
项目地址:https://github.com/InternLM/xtuner
【开源免费】LangGPT 是一个通过结构化和模板化的方法,编写高质量的AI提示词的开源项目。它可以让任何非专业的用户轻松创建高水平的提示词,进而高质量的帮助用户通过AI解决问题。
项目地址:https://github.com/langgptai/LangGPT/blob/main/README_zh.md
在线使用:https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0