增强语言模型推理能力:揭开代码提示链的面纱

2023年12月18日 由 camellia 发表 306 0

代码链是一种与语言模型互动的方法,通过编写、执行和模拟代码执行的混合手段来增强推理能力,扩展了语言模型在逻辑、算术和语言任务中的能力,尤其是那些需要这些能力结合的任务。


关键要点


  • 代码链(CoC)是一种新颖的与语言模型互动的方式,通过编写代码和选择性代码模拟来增强推理能力。
  • CoC扩展了语言模型在逻辑、算术和语言任务方面的能力,尤其是那些需要这些技能结合的任务。
  • CoC使语言模型不仅能够编写代码,还能模拟那些无法编译的部分,提供了解决复杂问题的独特方法。
  • CoC对大型和小型LM均有效。


其核心思想是鼓励LM将语言子任务以程序的形式格式化为灵活的伪代码,从而使编译器可以明确抓住未定义的行为,并交给LM(作为“LMulator”)来模拟。


介绍


不断涌现的新的语言模型(LM)提示、交流和训练技术,增强了LM的推理和性能能力。其中一种新兴技术是代码链接(CoC)的发展,这种方法旨在推动LM中基于代码的推理能力。这种技术是传统编程与创新的LM代码执行模拟的融合,它为解决复杂的语言和算术推理任务创造了一个强大的工具。


CoC的特点在于它能够处理混合逻辑、算术和语言处理的复杂问题,这一直是标准LM用户长期以来所知的挑战。CoC的有效性不仅限于大型模型,而且跨越各种大小,显示出在AI推理中的多样性和广泛适用性。


31

图一:代码链方法和流程比较


了解代码链


CoC是LM功能的范式转变;这不是一个简单的提示策略,用以增加从LM获得期望响应的机会。相反,CoC重新定义了LM对上述推理任务的方法。


在其核心,CoC使LM不仅能够编写代码,还能够模拟其中的部分,特别是那些无法直接执行的方面。这种二元性使LM能够处理更广泛的任务,结合语言细微差别与逻辑和算术问题解决。CoC能够将语言任务格式化为伪代码,并有效地桥接传统编程和人工智能推理之间的差距。这种桥接为复杂问题解决提供了一个灵活且更能力强的系统。CoC增加能力的主要组成部分LMulator使模拟和解释代码执行输出成为可能,否则这些输出对LM来说无法直接获得。


CoC在不同基准测试中展现了显著的成功,特别是在那些需要混合语言和计算推理的场景中,显著优于现有方法,如思维链路。


实验表明,代码链接在各种基准测试中均优于思维链路和其他基准线;在BIG-Bench Hard上,代码链接达到了84%,比思维链路高出12%。


32

图二:代码链性能比较


实施代码链


实施CoC涉及对推理任务的独特方法,整合了编码和模拟过程。CoC鼓励LM将复杂的推理任务格式化为伪代码,然后进行解释和解决。这个过程包括多个步骤:


  1. 确定推理任务:确定需要推理的语言或算术任务
  2. 编写代码:LM编写伪代码或灵活的代码片段以概述解决方案
  3. 代码模拟:对于无法直接执行的代码部分,LM模拟预期的结果,有效地模拟代码执行
  4. 结合输出:LM结合实际代码执行的结果和其模拟的结果,形成对问题的综合解决方案。


这些步骤让LM能够通过“用代码思考”来应对更广泛的推理问题,从而增强其解决问题的能力。

作为CoC框架的一部分,LMulator可以通过以下几种特定方式显著帮助提炼代码和推理:


  • 错误识别和模拟:当语言模型编写包含错误或无法执行部分的代码时,LMulator可以模拟这段代码运行时可能的行为,揭示逻辑错误、无限循环或边缘情况,并引导LM重新思考和调整代码逻辑。


  • 处理未定义行为:在代码涉及未定义或模棱两可的行为,标准解释器无法执行的情况下,LMulator使用语言模型对上下文和意图的理解来推断输出或行为应该是什么,提供了一个合理的模拟输出,而这在传统执行中是失败的。


  • 改善代码中的推理:当需要语言和计算推理的混合时,LMulator允许语言模型迭代自身的代码生成,模拟各种方法的结果,有效地通过代码“推理”,导致更准确和高效的解决方案。


  • 探索边缘情况:LMulator可以通过模拟不同输入来探索和测试代码如何处理边缘情况,这在确保代码健壮并能处理各种情况下特别有用。


  • 学习的反馈循环:随着LMulator模拟并识别问题或潜在的改进点,这种反馈可以被语言模型用来学习和完善其对编码和问题解决的方法,这是一个持续的学习过程,随着时间的推移提升模型的编码和推理能力。


LMulator通过提供一个模拟和迭代改进的平台,增强了语言模型编写、测试和完善代码的能力。


结论


CoC技术是增强LM推理能力的进步。CoC通过整合编码和选择性代码模拟,扩展了LM能够处理的问题范围。这种方法展示了AI处理需要细腻思维的更复杂、现实世界任务的潜力。重要的是,CoC在小型和大型LM中都已证明是卓越的,为越来越多的小型模型可能提高其推理能力并使其有效性接近于大型模型提供了一条途径。

文章来源:https://www.kdnuggets.com/enhancing-llm-reasoning-unveiling-chain-of-code-prompting
欢迎关注ATYUN官方公众号
商务合作及内容投稿请联系邮箱:bd@atyun.com
评论 登录
热门职位
Maluuba
20000~40000/月
Cisco
25000~30000/月 深圳市
PilotAILabs
30000~60000/年 深圳市
写评论取消
回复取消