- 简介我们提出了一种方法,通过一个新的基准测试 Turbulence,系统地评估针对代码生成的指令调整的大型语言模型(LLMs)的正确性和鲁棒性。Turbulence 包含大量的自然语言“问题模板”,每个模板都是一个编程问题,参数化以便可以用许多不同的形式提出。每个问题模板都有一个相关的“测试神谕”,用于判断 LLM 返回的代码解决方案是否正确。因此,从一个问题模板出发,可以向 LLM 提出非常相似的编程问题“邻域”,并评估返回的每个问题的正确性。这样可以确定 LLM 的代码生成能力中的差距,包括异常情况,即 LLM 正确解决了“几乎所有”问题,但无法解决特定的参数实例化问题。我们针对来自 OpenAI、Cohere 和 Meta 的五个 LLM 进行了实验,每个 LLM 都有两个温度配置。我们的研究结果表明,Turbulence 能够揭示 LLM 推理能力的差距。这超出了仅仅强调 LLM 有时会产生错误代码的范畴:通过系统地确定 LLM 能够解决某些问题但无法泛化解决整个问题邻域的情况,我们的方法有效地强调了鲁棒性问题。我们提供了数据和示例,阐明了 LLM 在返回错误代码结果时所犯的错误类型。
- 解决问题本论文旨在通过一个新的基准测试Turbluence,系统评估指令调整的大型语言模型(LLMs)在代码生成方面的正确性和鲁棒性。该测试可用于发现LLMs的代码生成能力中的差距和异常情况。
- 关键思路Turbluence基准测试包含大量自然语言问题模板,每个模板都是一个编程问题,可以在许多不同的形式下提问。每个问题模板都有一个相关的测试oracle,用于判断LLMs返回的代码解决方案是否正确。通过对一个问题模板进行测试,可以向LLMs提问非常相似的编程问题,评估其对每个问题的正确性。这使得可以发现LLMs的代码生成能力中的差距,包括在LLMs能够正确解决几乎所有问题的情况下,对特定参数实例化失败的异常情况。
- 其它亮点论文通过对来自OpenAI、Cohere和Meta的5个LLMs进行实验,发现Turbluence基准测试能够揭示LLMs推理能力中的差距。该方法不仅仅强调LLMs有时会产生错误的代码,而是通过系统地识别LLMs能够解决邻域中的一些问题,但无法推广解决整个邻域的情况,有效地突出了鲁棒性问题。论文还提供了数据和例子,以阐明LLMs在返回不正确的代码结果时所犯的错误类型。
- 最近的相关研究包括对LLMs的研究,以及对自然语言处理和代码生成的研究。
沙发等你来抢
去评论
评论
沙发等你来抢