- 简介代码提供了一个通用的语法结构,可以构建复杂的程序并进行精确的计算,当与代码解释器配对使用时。我们假设语言模型(LMs)可以利用编写代码来改善“思维链”推理,不仅适用于逻辑和算术任务,而且适用于语义任务(特别是那些混合了逻辑和语义的任务)。例如,考虑提示LM编写代码,以计算它在文章中检测到讽刺的次数:LM可能难以编写一个可由解释器执行的“detect_sarcasm(string)”实现(处理边缘情况是不可逾越的)。然而,如果LM不仅编写代码,而且通过生成“detect_sarcasm(string)”的预期输出和其他无法执行的代码行来有选择地“模拟”解释器,LM仍然可以产生有效的解决方案。在这项工作中,我们提出了一种简单但出奇地有效的扩展,名为“Code of Chain(CoC)”,它改善了LM代码驱动的推理。关键思想是鼓励LM将语义子任务格式化为灵活的伪代码,在程序中,解释器可以明确捕获未定义的行为,并将其移交给LM进行模拟(作为“LMulator”)。实验表明,Chain of Code在各种基准测试中优于Chain of Thought和其他基准测试;在BIG-Bench Hard上,Chain of Code达到84%,比Chain of Thought高12%。CoC适用于大型和小型模型,扩大了LM可以正确回答“以代码思考”的推理问题的范围。项目网页:https://chain-of-code.github.io。
- 图表
- 解决问题探讨如何使用代码编写来提高语言模型的推理能力,尤其是在涉及语义和逻辑的任务中。
- 关键思路通过引入Chain of Code(CoC)扩展,鼓励语言模型将语义子任务格式化为灵活的伪代码,以便解释器可以明确捕获未定义的行为并将其传递给模拟器进行模拟。
- 其它亮点论文提出的Chain of Code(CoC)扩展在多个基准测试中都表现出了优异的性能,比Chain of Thought和其他基线模型都要好。实验设计合理,使用了多个数据集,并且开源了代码。该方法的应用范围广泛,可用于提高语言模型的推理能力。
- 最近的相关研究包括GPT-3等大型语言模型的研究,以及在自然语言处理和程序生成领域的其他研究,例如CodeBERT和GPT-Code等。
沙发等你来抢
去评论
评论
沙发等你来抢