让人工智能更好地解决编码竞赛中的问题

让人工智能更好地解决编码竞赛中的问题

专属采访 通过巧妙的提示工程仔细指导其流程,可以显着提高商业大型语言模型解决竞争性编程问题的能力。

为了证明这一点,总部位于以色列的 Codium AI 构建了 AlphaCodium 和 发布 该软件本月在 GitHub 上发布。 AlphaCodium 本身并不是一个大型语言模型。相反,它是一种通过使用首席执行官 Itamar Friedman 所说的“流程工程”来提高 GPT-4 等生成式 AI 工具解决问题的能力的方法。

首先,将一个编程问题输入底层大语言模型,并要求它描述和总结该问题。然后,该信息将指导如何开始解决问题。 AlphaCodium 在提出解决方案时定义了一些事情,例如输入和输出应该是什么。所有这些都是用自然语言指定的。

然后,该模型开始生成符合其刚刚描述的规范的代码。要求参赛者按照规范进行编码的编程竞赛通常会提供测试,显示脚本针对给定输入应输出的内容。 AlphaCodium 生成更多这样的测试用例,然后运行可能的解决方案来检查代码是否按预期工作。

如果它无法匹配任何测试中定义的任何输出,则模型会生成不同的解决方案,直到它们通过所有测试或失败。当代码无法编译或错误时,可能会出现错误。

您可以在下图中看到流程工程过程中的不同步骤。它主要分为预处理阶段和代码迭代阶段,在该阶段系统用自然语言分析问题,在该阶段针对公共和人工智能生成的测试运行可能的解决方案。

阿尔法基

指导 AlphaCodium 生成代码来解决问题的所有主要步骤

“我们不会接受问题并进入模型并告诉它,'嘿,请生成最终解决方案,'”弗里德曼告诉 注册。 “我们要求模型用要点重新定义这个问题。”简化模型并将其分解为块可以使模型以后更轻松地为算法的不同部分生成代码。

本质上,流程工程是一个通过将模型分解为明确定义的步骤来指导模型解决问题的过程的过程。我们被告知,提示它“将生成的代码划分为具有有意义的名称和功能的小子函数”,可以减少错误,并使代码更易于测试和修复。

“我们基本上将 95% 的时间花在流程工程上,只有 5% 的时间花在提示工程上,而且我们没有更改每个 [步骤] 的提示,”Friedman 补充道。

Codium 的工程师在两年前 Google DeepMind 编译的 CodeForces 数据集的验证和测试部分中使用的数百个问题上测试了他们的模型的性能。他们声称 AlphaCodium 比 Google DeepMind 的 AlphaCode 和 AlphaCode2 模型更能解决编码问题。

arXiv 报告的结果 [PDF],AlphaCodium 能够正确回答 44% 的问题,而 AlphaCode 为 24%,而与 AlphaCode 针对 107 个验证问题选择的 165 个解决方案相比,仅生成了 29 个解决方案。有趣的是,当涉及 28 个测试问题时,AlphaCodium 解决了 XNUMX%,而 AlphaCode 解决了 XNUMX%,差距缩小了。

AlphaCode 从它生成的数万或数十万个可能的脚本中选择十个最有前途的解决方案 - 使其运行计算量很大。

“我们更加关注整个测试流程,”弗里德曼说。 “对于 [Google],他们在这一代人身上做了很多工作。他们尝试生成数百个其他选项,而我们生成的解决方案很少,但对它们进行了很好的测试,以指导代码的改进。”

他补充说,AlphaCodium 比 Google DeepMind 最新的 AlphaCode2 模型稍好一点,该模型的效率比其前身 AlphaCode 高 10,000 倍。

alphacoodium_2

AlphaCodium 与其他最先进的模型在准确性和效率方面的比较

Friedman 表示,他相信 AlphaCodium 的性能不是由于数据泄漏造成的,因为底层模型已经针对相同问题进行了训练和测试。为 AlphaCodium 提供支持的 GPT-4 版本是根据 2021 年 XNUMX 月之前从互联网上抓取的文本进行训练的,而其测试系统的问题则取自上述很久之后发布的 CodeForces 数据集。

然而,评估流程工程过程的更好的同类比较是考察 GPT-4 在应用和不应用 AlphaCodium 的情况下解决这些相同问题的能力。普通的旧式 GPT-4 只能分别正确回答验证集和测试集中 19% 和 12% 的问题,而 AlphaCodium 驱动的变体的正确率分别为 44% 和 29%。

简而言之,实施一个仔细的管道来生成额外的数据来指导代码的生成方式并改进测试过程似乎比尝试从头开始训练大型语言模型更有效。

Codium 最近发布了一款支持 Python 开发人员的新工具,他们现在可以调用 AlphaCodium 直接解决其 IDE 中的编码问题。你可以玩它 这里。 ®

时间戳记:

更多来自 注册