AUTODETECT:面向大规模语言模型中自动弱点检测的统一框架 原创 精华
摘要:尽管大规模语言模型(LLMs)变得越来越强大,但它们仍然表现出显著但微妙的弱点,如在执行指令或编写代码任务中的错误。由于这些意外错误在实际部署中可能导致严重后果,系统性地研究LLMs的局限性至关重要。传统的基准测试方法无法彻底 pinpoint 具体的模型缺陷,而手动检查则成本高且不可扩展。在本文中,我们介绍了一个统一框架,AUTODETECT,以自动揭示LLMs在各种任务中的弱点。受教育评估过程(衡量学生学习成果)的启发,AUTODETECT 由三个LLM驱动的代理组成:Examiner、Questioner 和 Assessor。这三个代理之间的协作旨在实现全面且深入的弱点识别。我们的框架在揭示缺陷方面表现出显著成功,识别成功率超过30%,适用于诸如ChatGPT和Claude等知名模型。更重要的是,这些识别出的弱点可以指导具体的模型改进,比起自我指令(Self-Instruct)等非针对性的数据增强方法更为有效。我们的方法已经显著提升了流行LLMs的性能,包括Llama系列和Mistral-7b,使它们在多个基准测试中的表现提升超过10%。代码和数据公开可在 https://github.com/thu-coai/AutoDetect 获得。
1.引言
大规模语言模型(LLMs)的发展令人瞩目:这些模型在多种任务中表现出色(Brown et al., 2020;Zeng et al., 2022;Chowdhery et al., 2023;Touvron et al., 2023a;GLM et al., 2024)。经过精细的校准(Ouyang et al., 2022;Cheng et al., 2023;Ji et al., 2024a),LLMs在实际应用中可以达到人类水平的表现(OpenAI, 2022;Anthropic, 2023)。然而,这些模型仍然容易出现意外错误(Ouyang et al., 2022;Bubeck et al., 2023)。例如,尽管LLMs擅长复杂的算法问题,它们可能在基础的编程概念上表现不佳(§5.1)。这些意外错误可能导致系统故障和重大安全问题(Ruan et al., 2023)。因此,系统性地识别和解决这些弱点对于提升LLMs的性能和可信度至关重要。
然而,揭示这些弱点的过程具有挑战性。人工检查依赖于人类专家,过于劳累且成本高昂,难以扩展。自动化方法通常采用静态(Cobbe et al., 2021;Srivastava et al., 2022;Liu et al., 2023)和动态(Bai et al., 2024;Wang et al., 2024)基准测试。然而,基准测试主要用于评估和排名一系列模型,而不是识别个体模型固有的弱点。更具体地说,基准测试设计为模型无关,不依赖于特定模型的响应,因此难以识别个体化弱点。此外,基准测试更新不频繁,存在数据泄露(Yang et al., 2023b;Wei et al., 2023)和排行榜泛滥(Guo et al., 2023)的问题,这进一步限制了它们在全面评估模型特定弱点方面的实用性。
在本文中,我们介绍了一个开创性的统一框架,AUTODETECT,旨在系统且自动地揭示LLMs在各种任务中的潜在弱点。在我们的框架中,如图2所示,我们采用类似于教育评估系统的方法,包括创建全面的问题来评估学生,并审查他们的回答以识别个体化的弱点。AUTODETECT涉及开发一个整体测试系统来评估和挑战学生的能力。此外,该系统不是静态的,而是不断优化和适应特定模型的表现,从而提供定制且有效的弱点发现。具体来说,我们的框架整合了由LLM驱动的三个专业角色:
- Examiner 负责建立一个包含多样测试点的综合分类体系,并根据目标模型的表现动态优化框架,以提供精细且定制的弱点识别框架。
- Questioner 负责根据每个测试点创建具有挑战性的问题。通过迭代探索,该代理不断假设模型的弱点,并在新缺陷出现时有效地适应问题的生成。
- Assessor 需要分析目标模型的响应,并推测潜在问题以纳入测试系统,这是定制评估的关键。
图 2:我们的框架包括两个循环,循环由Examiner、Questioner和Assessor组成,提供了全面且定制的测试框架。同时,迭代搜索使得问题难度能够针对目标模型进行调整,有效地识别弱点。
Examiner、Questioner 和 Assessor 之间的合作促进了广泛且有效的评估过程。通过从这些弱点中学习,AUTODETECT 进一步促进了模型的改进(图1)。
图 1:有效的弱点发现可以很好地指导模型增强。AUTODETECT在指令遵循、数学和编程任务中的识别成功率很高(A)。此外,利用这些数据,我们可以进一步改进LLMs(B)。
通过广泛的实验,我们证明了AUTODETECT能够在多种任务中有效地暴露弱点,包括指令遵循、数学推理和编程,在多个强大的LLMs中实现了超过50%的识别成功率,甚至在GPT-3.5-turbo 和 Claude-3-sonnet中也超过了30%。此外,我们的弱点识别过程可以有效地指导模型增强。值得注意的是,通过整合约1,000个来自AUTODETECT的样本来微调流行的开源模型如Mistral和Llama系列,我们在多个基准测试中实现了超过10%的改进,展示了从定向弱点检测中学习的好处。
我们的贡献可以总结如下:
- 据我们所知,我们是首次在多个通用任务(包括指令遵循、数学推理和编程)上系统地探索LLMs的弱点识别,提供了一个自动弱点检测的统一框架。
- AUTODETECT 展现了卓越的适应性和有效性,在多个模型和任务中揭示缺陷的成功率超过50%。
- AUTODETECT 促进了显著的模型改进。利用弱点检测过程中的数据,我们能够有效地增强模型性能,在多个任务上取得超过10%的改进。
2.相关工作
2.1 评估基准
许多基准(Hendrycks et al., 2020;Cobbe et al., 2021;Chen et al., 2021;Zhou et al., 2023;Liu et al., 2023)被设计用于评估LLMs的各种能力,以及一些动态基准(Zhu et al., 2023;Bai et al., 2024;Wang et al., 2024)。然而,基准测试的基本目的是比较一系列模型并准确排名,而不是识别特定模型的缺陷。因此,它们被设计为与模型无关,无法提供对特定模型缺陷的全面发现。此外,静态基准测试通常面临数据泄露(Yang et al., 2023b;Wei et al., 2023)和排行榜泛滥(Guo et al., 2023)的问题,而动态基准测试通常在覆盖范围上存在问题,构建这些动态基准测试的方法通常缺乏普遍性。这些限制表明,仅依赖基准测试很难彻底发现模型缺陷,从而无法为进一步改进提供实用的指导。
2.2 红队测试
由于上述自动化方法的限制,有效揭示LLMs内在弱点的一个重要方法是人工检查,这类似于红队测试,这是安全领域(Deng et al., 2023;Ji et al., 2023;Sun et al., 2023;Ji et al., 2024b)中识别AI系统安全问题的重要策略。早期研究主要依赖人工努力创建红队测试查询(Dinan et al., 2019;Xu et al., 2020)。然而,人工红队测试因其高成本和固有的多样性不足而受到限制,难以扩展。最近,已经提出并广泛采用使用语言模型进行自动化红队攻击(Perez et al., 2022;Ganguli et al., 2022;Zhang et al., 2022;Chao et al., 2023)。然而,将自动弱点检测应用于通用任务仍然研究不足。在这项工作中,我们介绍了一个统一的框架,用于识别超越安全问题的模型缺陷。我们已成功在包括指令遵循、数学推理和编程在内的各种任务中实现了该框架,展示了其令人印象深刻的有效性和广泛适用性。
3.方法
3.1 问题定义
我们的主要目标是开发一个统一的框架,旨在自动且系统地识别LLMs在通用任务中的潜在弱点。对于给定的任务及其描述(记作(T, D)),弱点识别过程可以表示为:
W =AUTODETECT(T, D)
其中,W 代表目标模型未能准确解决的问题集。我们将这些失败视为模型的弱点,由强大的LLM评审员进行评估。
3.2 AUTODETECT 框架
我们方法的整体框架如图2所示。AUTODETECT旨在通过专门的循环搜索策略全面评估语言模型的能力,包含Examiner、Questioner和Assessor三个不同角色。每个角色都至关重要,利用LLM驱动的代理的优势,以协作的方式探索并暴露目标模型的弱点。
图 2:我们的框架包括两个循环,循环由Examiner、Questioner和Assessor组成,提供了全面且定制的测试框架。同时,迭代搜索使得问题难度能够针对目标模型进行调整,有效地识别弱点。
(注释:
在AUTODETECT框架中,首先由Examiner接收任务及其描述,然后创建分类体系。Questioner根据分类体系生成初始问题集,并通过迭代搜索过程创建新问题。这些问题会被提交给目标模型进行回答,模型的回答会被评分器评估并打分。Assessor则会分析低分回答以找到新的潜在弱点,从而优化分类体系。
AUTODETECT框架的两个主要循环:总体循环和迭代搜索循环。
总体循环
1. Task & Description(任务和描述):
- 框架的起点是接收具体的任务及其详细描述。这些任务可以是指令遵循、数学推理或编程等。
2. Examiner(考官):
- Examiner的任务是基于接收到的任务和描述,创建一个详细的分类体系(Taxonomy)。该分类体系将任务分解成可管理的类别,每个类别包含多个知识点,这些知识点指导后续的评估过程。
3. Taxonomy(分类体系):
- 分类体系是一种结构化的分解方式,将复杂的任务组织成多个具体的、可评估的知识点。这是全面评估的基础。
4. Questioner(提问者):
- Questioner根据分类体系生成初始问题集(Seed Questions),这些问题覆盖了所有的知识点。随后,Questioner会开始一个迭代搜索过程,提出新问题以探索模型的弱点。
5. Seed Questions(初始问题):
- 初始问题集是根据分类体系生成的,目的是全面覆盖所有知识点,作为进一步探索的基础。
6. Assessor(评估者):
- Assessor负责分析目标模型对问题的回答,特别是低分回答(Bad Case),以发现新的潜在弱点。这些新弱点会反馈给Examiner,从而优化分类体系,使其更具针对性和有效性。
————————
在迭代搜索过程中,新问题会根据历史低分问题和新的潜在低分问题生成。评分器会评估目标模型的回答,并记录在历史记录中,其中高分表示模型表现良好,低分表示模型表现不佳。通过不断地将这些问题和回答加入到问题池中,并从中抽取样本进行进一步的测试,框架能够有效地识别并针对目标模型的弱点进行优化和改进。
迭代搜索部分是AUTODETECT框架中的核心组件之一,负责动态生成和评估问题,以系统地发现和暴露目标模型的弱点。
1. New Question(新问题):
- Type 1: Similar to Low-Score Question(类似于低分问题的变种):
- 这种问题类型是基于先前低分回答的问题变种。通过变换和调整问题的细节,生成新的类似问题。例如,先前低分问题可能是“用100字描述气候变化”,新问题可能变为“用250字准确描述气候变化”。
- Type 2: New Potential Low-Score Question(新的潜在低分问题):
- 这种问题类型是完全新生成的问题,可能涉及新的领域或知识点。例如,新问题可能是“写一首四句的诗”。这类问题旨在探索模型未曾评估的潜在弱点。
2. Target Model(目标模型):
- 生成的新问题被提交给目标模型,模型需要对此进行回答。
3. Model Response(模型回答):
- 目标模型生成的回答被记录下来,并送交评分器进行评估。
4. Scorer(评分器):
- 评分器对目标模型的回答进行评估并打分。评分器使用参考答案(通常由GPT-4生成)作为基准,确保评估的可靠性。
5. Score(评分):
- 评分器为每个回答给出一个分数。得分的高低表示模型在该问题上的表现,低分表示模型在这个问题上有弱点。
6. History(历史记录):
- 所有问题及其对应的回答和评分都会被记录在历史记录中。历史记录包含以下信息:
- 问题:提出的问题,例如“请在30个字以内介绍你的训练背景”。
- 回答:模型的回答,例如“...得分: 8.0”(高分表示表现良好)。
- 评分:评分器给出的分数,例如“...得分: 2.0”(低分表示表现不佳)。
- 高分表示模型在该问题上表现良好,而低分表示模型在该问题上有弱点。
7. Pool(问题池):
- 所有问题及其回答被加入到问题池中,问题池不断扩展。问题池的作用是为未来的测试提供一个丰富的问题库,以便进行广泛和深入的评估。
8. Iterative Process(迭代过程):
- 通过从问题池中抽取样本,生成新的问题,继续进行测试和评估。这是一个循环过程,不断生成新问题,评估模型回答,记录结果,并发现新弱点。这个过程使得测试框架能够不断更新和优化,适应模型的变化。
迭代搜索的核心优势
- 动态适应:通过生成新的类似低分问题和完全新问题,迭代搜索能够动态适应模型的弱点和变化,确保测试的深度和广度。
- 持续改进:迭代搜索过程是一个持续改进的循环,通过不断评估和优化,逐步提高模型的性能。
- 广泛覆盖:问题池中的丰富问题库确保了测试的广泛覆盖,能够全面评估模型在不同知识点和任务上的表现。
通过上述详细步骤,迭代搜索部分确保了AUTODETECT框架能够系统地、自动地发现和改进目标模型的弱点,从而提升模型的整体性能和可靠性。
整个过程通过Examiner、Questioner和Assessor的合作,实现了一个持续改进的循环,使得测试框架不仅全面且能适应不同LLMs的不断变化的能力。)
如算法1所示,过程从Examiner开始,其任务是根据给定任务及其描述(T, D)开发详细的分类体系C。该分类体系是关键,因为它将任务组织成可管理的、专注的类别(c1, ..., cn),每个类别包含若干知识点(k1, ..., km),指导后续评估。结构化的分解对于全面评估至关重要,表示为:
C = Examiner(T, D)
在分类体系创建之后,Questioner 接手,生成一组初始问题S并启动迭代搜索过程,以在每个知识点上提出探测弱点的问题。迭代过程允许自适应的提问策略,逐渐增加复杂性,确保测试深度适应每个模型的能力。这可以形式化为:
Q = Questioner(H)
这里,H表示搜索历史,起始于S,促进模型弱点的动态探索。评估过程中,Assessor 的角色对于精炼评估过程至关重要,使其全面且模型特定。随着评估的进行,Assessor 批判性地分析目标模型表现不佳的实例(由低分表示),识别新的潜在弱点knew,表示为:
knew = Assessor(Hlow)
这些见解导致Examiner 动态精炼分类体系,确保我们的框架保持相关性和有效性,能够发现新的缺陷。Examiner、Questioner和Assessor之间的循环互动实现了持续改进的循环,使我们的测试框架不仅全面且敏感于不同LLMs的演变能力。任务和提示的详细描述在附录B和附录C中提供。
(如果还没看懂,通过一个例子来解释:
AUTODETECT框架的原理可以简单地理解为一个智能的自动检测系统,它能够发现和修复大规模语言模型(LLMs)中的弱点。这里用一个简单的类比来解释它的工作过程:
1. 任务描述
就像你给一个学生布置一份家庭作业,任务可以是写一篇文章、解一道数学题或者写一个程序。
2. 三个智能角色
AUTODETECT框架中有三个主要角色,它们像三个协作的老师一样,分别负责不同的任务:
- Examiner(考官):就像一位老师,他会把任务分成几个小部分,每个部分包含一些关键知识点。这样可以更容易地找到学生(模型)可能会犯错的地方。
- Questioner(提问者):这位老师负责给学生出题,他会根据这些知识点设计一系列问题,先出一些基础题,然后根据学生的表现逐渐加大难度。
- Assessor(评估者):这位老师负责批改作业,他会仔细检查学生的回答,找出错误并记录下来,尤其是那些得分较低的问题。
3. 循环改进
整个过程是一个不断循环的系统:
1. 出题和回答:Questioner先出一套问题(初始问题集),学生(模型)回答这些问题。
2. 评估和记录:Assessor评估这些回答,找出哪些问题回答得不好,并记录下来。
3. 调整和优化:Examiner根据这些记录,调整问题的类型和难度,Questioner再根据新的调整出题,继续测试学生的能力。
4. 迭代搜索
这个循环会反复进行,每次都根据之前的结果调整问题:
- 发现新问题:如果学生在某些问题上得分低,Questioner会设计类似的新问题或提出新的挑战。
- 记录和分析:Assessor继续评估这些新问题的回答,进一步找出学生的弱点。
- 持续改进:这个过程反复进行,直到找到并解决学生的所有弱点。
5. 模型增强
通过这个循环过程,AUTODETECT不仅能发现模型的弱点,还能用这些问题和答案对模型进行微调,从而提高模型的整体表现。
总结
AUTODETECT就像是一个智能的、不断改进的老师团队,通过反复出题、评估和调整,系统地发现并修复大规模语言模型中的弱点,让模型变得越来越聪明、越来越可靠。)
3.3 迭代搜索
随着三个角色之间的合作保证了我们框架的覆盖范围和模型特异性,另一个关键问题是如何有效识别目标模型表现不佳的问题。因此,我们利用LLMs(Yang et al., 2023a;Ke et al., 2023;Zheng et al., 2024)的强大探索和评估能力,开发了一个迭代搜索过程。具体而言,我们首先为每个知识点生成五个问题,以创建一个初始集合。使用基于参考的评分方法(Zheng et al., 2024)评估目标模型在该集合上的表现,以确保可靠性,其中参考答案由GPT-4提供。随后,我们根据得分对历史样本进行排名,得分较低的表示表现较差,以生成可能暴露模型缺陷的新问题。然后我们让目标模型生成对所提出问题的回答并评分,将结果添加到我们的历史集合中。通过这个迭代搜索过程,我们可以有效识别低得分问题,定位特定知识点上目标模型的具体弱点。
3.4 模型增强
发现弱点的最终目标是帮助模型改进。为了验证所识别的弱点是重要的并且能够贡献于模型增强,我们进一步使用从弱点检测过程中获得的问题和参考答案对目标模型进行微调。形式上,损失函数表示为:
这里,Q表示从搜索中得出的问题,R表示由GPT-4生成的参考答案,N表示R的长度。
4.实验
为了全面展示AUTODETECT的卓越性能,我们在多种任务上进行了广泛的实验:指令遵循、数学和编程,包括弱点检测(§4.1)、模型增强(§4.2)、与基线方法的比较(§4.3)和迭代弱点恢复(§4.4)。实现细节见附录D。
4.1 弱点检测
我们研究了三种不同的任务——指令遵循、数学和编程——以展示AUTODETECT的泛化能力。指令遵循任务集中在为模型提供特定的约束,如格式和内容。数学任务侧重于高中水平的问题,而编程任务侧重于Python,以确保由GPT-4生成问题的正确性。
评估指标
在迭代搜索过程中,我们采用MT-bench(Zheng et al., 2024)中的评分提示,其与人类注释者的协议率达到85%。在我们的方法中,如果目标模型的回答得分在十分制中不超过三分,则表示回答错误。此外,我们还要求LLM在回答错误时不评分超过三分。当判断模型回答的正确性时,我们发现与人类注释者的协议率超过88%(表2)。利用这一点,我们定义识别成功率(ISR)为:
其中,Num<4表示得分低于四分的回答数量,Numtotal表示进行的评估总数。
人工评估
为了进一步验证AUTODETECT的有效性,我们进行了人工评估。我们从所有LLMs中抽取了150个样本,每个任务50个。我们雇用了三名注释者来评估以下方面:
- 合理性:判断生成问题的逻辑连贯性。
- 一致性:确定是否同意使用GPT-4评分获得的标签,其中不超过三分表示错误。
- 正确性:评估参考答案的正确性。
结果(表2)显示,几乎所有由AUTODETECT生成的问题都被认为是合理的,超过87%的参考答案是正确的。此外,与基于GPT-4评分获得的标签的一致性很高(88.7%)。
结果
如表1所示,我们在多个模型上进行了缺陷探索,并在各种任务中取得了令人印象深刻的ISR,展示了AUTODETECT的有效性。有趣的是,平均得分和ISR与我们对模型能力的理解很好地一致,显示了我们的方法作为动态基准的潜力。如图3所示,我们展示了迭代搜索过程中的平均得分。得分明显下降的趋势突显了迭代方法在发现模型弱点中的重要作用。
4.2 模型增强
为了验证所识别的缺陷具有意义并促进模型增强,我们使用在AUTODETECT过程中获得的数据对模型进行微调,并在流行的基准测试上进行评估。重要的是,我们不使用任何测试集中的数据。
基础模型 Llama系列模型(Touvron et al., 2023b;MetaAI, 2024),包括Llama2-chat(参数为7b、13b和70b)和Llama3-Instruct,是最流行的模型之一。Mistral-7b-Instruct(Jiang et al., 2023)作为其规模内性能最佳的模型之一而脱颖而出。
评估基准 在我们的工作中,我们使用IFEval数据集(Zhou et al., 2023)评估指令遵循能力,该数据集包含541个可验证的指令。对于数学,我们选择了最流行的基准测试GSM8k(Cobbe et al., 2021)和MATH(Hendrycks et al., 2021)。在编程任务中,我们使用广泛使用的HumanEval(Chen et al., 2021)进行评估,其中包括164个由人类专家精心设计的测试用例。
结果 如表3所示,AUTODETECT过程中的数据使我们能够显著提升模型性能。我们在多个模型和任务中取得了显著的改进。此外,对于不同规模的Llama2模型,在各测试集上平均超过6%的性能提升,确认了我们的方法在模型扩展时仍然有效。此外,我们还研究了使用其他模型的评估数据来提高llama2-chat-7b模型性能的影响。如图4所示,使用目标评估数据的效果明显优于使用gpt-3.5-turbo。这表明,目标评估可以暴露模型的特定弱点,解决这些弱点可以显著提高模型性能。
4.3 与基线方法的比较
基线方法 Self-Instruct(Wang et al., 2023)是一种广泛使用的数据增强方法;OPRO(Yang et al., 2023a)应用了LLMs的迭代搜索优化;PAIR(Chao et al., 2023)是安全领域一种流行的自动化越狱攻击方法,我们将其转用于我们的任务。
结果 如表4和附录E所示,与基线方法相比,AUTODETECT在识别成功率和多样性方面表现出色。Self-Instruct表现出较低的ISR和有限的多样性。同时,OPRO和PAIR专注于重复利用特定弱点,导致问题分布不平衡。虽然它们可以实现较高的ISR,但无法在不同类别中提供有意义的评估,限制了全面弱点检测的实用性。此外,PAIR的成本是其他方法的三倍。此外,考虑到改进效果,AUTODETECT显著优于其他方法,这表明AUTODETECT可以全面发现各种弱点,并为模型增强提供更多指导。
4.4 迭代弱点恢复
由于我们的框架可以识别并帮助解决LLMs的弱点,自然而然地提出了一个问题:我们是否可以通过AUTODETECT迭代地提高模型性能?因此,我们在指令遵循任务中对llama2-13b-chat进行了实验。如表5所示,我们观察到AUTODETECT在三轮评估中能够持续改进模型。此外,每次迭代都带来了显著的改进,展示了我们方法的显著可扩展性。
5.讨论
通过AUTODETECT,我们系统地识别了各种模型的潜在弱点。我们的全面分析揭示了一些显著的发现,包括LLMs的局限性(§5.1,见图5)和AUTODETECT的优势(§5.2,见图6),这些发现可能有助于进一步研究。
(注释:大型语言模型(LLMs)在不同子类别任务中的表现,分为三个部分:(A) LLMs在不同子类别中的表现各异,(B) LLMs在困难任务中表现优异,但在简单任务中可能表现不佳,(C) LLMs在处理复杂指令和多步推理时存在困难。
(A) LLMs在不同子类别中的表现各异
1. 三角函数
- 任务描述:求解$x$的方程$\tan(x) = \pi/4$的逆函数。
- GPT-3.5的回答:知道正切函数的周期为$\pi$,逆函数的解为$x = 1$和$x = -1$。
2. 三角函数
- 任务描述:在ABC三角形中,边$a = 7$,边$b = 24$,边$c = 25$。用三角函数求角$C$,并展示所有步骤。
- Mistral-Large的回答:角$C$约为82.82度。
3. 平面几何
- 任务描述:一个长20 cm、宽10 cm的矩形旁边有一个直径等于矩形宽度的半圆,求结果形状的总周长。
- Claude-3-Sonnet的回答:总周长为60 cm + 25.71 cm = 85.71 cm。
(B) LLMs在困难任务中表现优异,但在简单任务中可能表现不佳
1. 模块
- 任务描述:编写一个函数,从`os`模块导入所有函数,并返回当前工作目录。
- Mistral-7b的回答:提供了一个Python函数,导入了`os`模块。
2. 数据容器
- 任务描述:提供一个Python函数`swap_nested_keys`,接收一个两层深度嵌套的字典,并交换第一层和第二层的键。
- Llama2-70b的回答:提供了函数代码,其中包括对键进行交换的实现。
3. 数据容器
- 任务描述:编写一个名为`set_to_list`的Python函数,接受一个集合作为输入,将其转换为列表,保持元素的原始顺序。
- Claude-3-Sonnet的回答:提供了代码示例,并输出结果为列表。
(C) LLMs在处理复杂指令和多步推理时存在困难
1. 字数限制
- 任务描述:解释生态系统中生物多样性的重要性,不使用以下词汇:`species`,`habitat`,`genes`,`ecology`,`variety`。
- Llama2-13b的回答:使用了被限制的词汇`species`。
2. 标点符号限制
- 任务描述:列出五个关于如何煮意大利面的指令,分别以不同的标点符号结尾(句号、问号、感叹号、冒号、分号)。
- Mistral-7b的回答:虽然列出了五个步骤,但并未完全满足标点符号要求。
3. 数列
- 任务描述:以下数列每项是基于特殊规则创建的:1, 1, 2, 3, 5, 8, 13。求该数列的第10项。
- GPT-3.5的回答:第10项是21。
通过具体任务示例展示了LLMs在不同类型任务中的具体表现,包括其优点和存在的不足,突显了模型在处理简单任务、复杂指令和多步推理时的潜在弱点。)
(注释:展示了AUTODETECT框架在生成创造性挑战和复合指令方面的能力,分为两部分:(A) AUTODETECT可以生成创造性挑战,(B) AUTODETECT能够生成复合指令。
(A) AUTODETECT可以生成创造性挑战
1. JSON格式
- 任务描述:以JSON格式展示《龟兔赛跑》的故事。遵循以下模式:角色、描述、事件顺序。
2. 字符格式
- 任务描述:用随机大小写格式写出“美国第一任总统是谁?”的答案。
3. 词汇限制
- 任务描述:……针对这些现象对经典理论的影响提出技术性询问,不能使用“what”、“why”、“how”、“where”、“when”或“which”这些词汇。
(B) AUTODETECT能够生成复合指令
1. 格式和长度限制
- 任务描述:创建一个恰好包含21个字符的回文。
2. 格式和词汇限制
- 任务描述:使用以下晦涩词语创作一首十四行诗:‘susurrus’,‘ululate’,‘zephyr’,‘equipoise’,‘plethora’。确保每个词至少使用一次。
3. 长度、语言和句子限制
- 任务描述:用三个肯定句简要解释太空中的“黑洞”。每句话都应以“In fact...”开头。)
5.1 LLMs的局限性
LLMs在任务子类别中的表现各异。在数学任务中,像gpt-3.5-turbo、mistral-large和claude-3-sonnet等模型在GSM8k等基准测试中表现出色,准确率超过90%。然而,尽管在数学词题上表现强劲,我们发现这些模型在处理简单的几何相关问题时常常出错。例如,角度计算问题经常导致错误。这种同一领域内的性能差异显示出基于基准测试的弱点发现的关键局限性。
LLMs在困难任务中表现出色,但在简单任务中可能表现不佳。我们的研究结果表明,LLMs可以处理一些困难和复杂的挑战,如涉及算法和数据结构的编程问题。然而,这些模型在处理更简单甚至基础任务时显示出巨大的误解和错误。例如,当模型被指示导入特定模块中的所有函数时,意外错误发生了,模型仅导入了模块本身。同样,当被要求编写一个操作集合的函数时,它在初始化集合时添加了重复元素。这些问题表明了一个关键缺陷:LLMs在复杂任务中的能力并不保证在简单操作中同样精通,这突显了进一步研究LLMs能力边界以避免潜在风险的必要性。
LLMs在处理复杂指令和多步推理时存在困难。在执行完全准确的指令时,特别是那些包含多个约束或多步推理的指令,LLMs继续表现出不足。它们经常忽略部分指令或在多步任务的后期步骤中出错。这表明它们在复杂场景中的有限能力,这对于代理任务至关重要。
5.2 AUTODETECT的优越性
AUTODETECT可以生成创造性的挑战。在进行自动弱点识别时,我们发现AUTODETECT可以生成复杂且独特的问题,超越典型的人类编写的问题,特别是对于非专家注释者来说。例如,用JSON格式讲述一个故事就是一个创造性的练习,人类注释者可能难以想到这样的指令。这种生成多样化、具有挑战性问题的能力可以用于评估高质量的训练数据,从而提高模型性能。
AUTODETECT能够生成复合指令。有趣的是,我们注意到生成的问题中出现了复合任务。在指令遵循任务中,尽管我们不要求模型组合不同的约束,我们观察到一些自发的组合,包括类别间和类别内的类型。例如,尽管LLMs在翻译任务中表现良好,但当被要求同时翻译成多种语言时,其效果会下降。
6.结论
在这项工作中,我们介绍了一个统一框架,AUTODETECT,用于识别各种模型和多样任务中的弱点,包括指令遵循、数学推理和编程。利用我们的方法,我们不仅成功发现了特定的弱点,还通过评估过程中的数据有效地增强了模型性能。我们的结果突显了使用大规模语言模型自动检测和解决模型弱点的潜力,帮助我们更好地理解模型能力的边界,并为自动LLM对齐铺平道路。
局限性
尽管AUTODETECT在识别和解决LLMs的弱点方面表现出强大的能力,显示出利用AI对齐AI的潜力,但我们希望讨论一些已知的局限性,这些需要通过未来的研究来解决。
增强AUTODETECT的鲁棒性。尽管人类评估结果显示大多数生成的问题是合理的,但仍可能出现少量不合逻辑的问题,如无解的数学问题。此外,尽管我们的实验表明AUTODETECT在重复实验中可以稳定地发现模型弱点,并且具有高ISR(附录F),但检测到的问题各不相同。这可能需要通过更大规模的弱点识别进一步验证。
扩展到自我进化设置。目前的框架主要利用强大的LLM来确保有效的问题识别。然而,如果我们希望考虑进一步的自我改进,仍然存在一些挑战,如自我评估偏见(Zheng et al., 2024;Panickssery et al., 2024),即模型倾向于认为自己的输出表现良好。
伦理考虑
在弱点发现过程中,AUTODETECT从头开始生成测试用例,不使用任何现有的数据集,因此不存在许可问题。我们的工作专注于通用任务,不涉及安全任务,因此不存在安全问题。在人类评估过程中,我们雇用了三名中国注释者,按照地区标准支付报酬,并告知实验目的。
Cheng J, Lu Y, Gu X, et al. AutoDetect: Towards a Unified Framework for Automated Weakness Detection in Large Language Models[J]. arXiv preprint arXiv:2406.16714, 2024.
1The Conversational Artificial Intelligence (CoAI) Group, Tsinghua University
2Zhipu AI
3The Knowledge Engineering Group (KEG), Tsinghua University
本文转载自公众号AIRoobt ,作者:AIRoobt
原文链接:https://mp.weixin.qq.com/s/Km4sRZm1G52UlVaYyWDylA