代码链是一种与语言模型互动的方法,通过编写、执行和模拟代码执行的混合手段来增强推理能力,扩展了语言模型在逻辑、算术和语言任务中的能力,尤其是那些需要这些能力结合的任务。
关键要点
其核心思想是鼓励LM将语言子任务以程序的形式格式化为灵活的伪代码,从而使编译器可以明确抓住未定义的行为,并交给LM(作为“LMulator”)来模拟。
介绍
不断涌现的新的语言模型(LM)提示、交流和训练技术,增强了LM的推理和性能能力。其中一种新兴技术是代码链接(CoC)的发展,这种方法旨在推动LM中基于代码的推理能力。这种技术是传统编程与创新的LM代码执行模拟的融合,它为解决复杂的语言和算术推理任务创造了一个强大的工具。
CoC的特点在于它能够处理混合逻辑、算术和语言处理的复杂问题,这一直是标准LM用户长期以来所知的挑战。CoC的有效性不仅限于大型模型,而且跨越各种大小,显示出在AI推理中的多样性和广泛适用性。
图一:代码链方法和流程比较
了解代码链
CoC是LM功能的范式转变;这不是一个简单的提示策略,用以增加从LM获得期望响应的机会。相反,CoC重新定义了LM对上述推理任务的方法。
在其核心,CoC使LM不仅能够编写代码,还能够模拟其中的部分,特别是那些无法直接执行的方面。这种二元性使LM能够处理更广泛的任务,结合语言细微差别与逻辑和算术问题解决。CoC能够将语言任务格式化为伪代码,并有效地桥接传统编程和人工智能推理之间的差距。这种桥接为复杂问题解决提供了一个灵活且更能力强的系统。CoC增加能力的主要组成部分LMulator使模拟和解释代码执行输出成为可能,否则这些输出对LM来说无法直接获得。
CoC在不同基准测试中展现了显著的成功,特别是在那些需要混合语言和计算推理的场景中,显著优于现有方法,如思维链路。
实验表明,代码链接在各种基准测试中均优于思维链路和其他基准线;在BIG-Bench Hard上,代码链接达到了84%,比思维链路高出12%。
图二:代码链性能比较
实施代码链
实施CoC涉及对推理任务的独特方法,整合了编码和模拟过程。CoC鼓励LM将复杂的推理任务格式化为伪代码,然后进行解释和解决。这个过程包括多个步骤:
这些步骤让LM能够通过“用代码思考”来应对更广泛的推理问题,从而增强其解决问题的能力。
作为CoC框架的一部分,LMulator可以通过以下几种特定方式显著帮助提炼代码和推理:
LMulator通过提供一个模拟和迭代改进的平台,增强了语言模型编写、测试和完善代码的能力。
结论
CoC技术是增强LM推理能力的进步。CoC通过整合编码和选择性代码模拟,扩展了LM能够处理的问题范围。这种方法展示了AI处理需要细腻思维的更复杂、现实世界任务的潜力。重要的是,CoC在小型和大型LM中都已证明是卓越的,为越来越多的小型模型可能提高其推理能力并使其有效性接近于大型模型提供了一条途径。