斯坦福大学研究人员提出人工智能框架来实现和验证复杂的算法
Parsol是由斯坦福大学的一组研究人员创建的AI框架,它使用大型语言模型(LLM)推理将自然语言中的分层函数描述转换为代码中的实现。此外,研究人员认为,Parcel可用于机器人规划和定理证明。
正如InfoQ已经介绍的那样,许多LLM已经可用于将程序的文本描述转换为代码,例如OpenAI Codex,开源PolyCoder,GitHub Copilot和其他基于GPT-3的模型。
Parcel试图通过镜像人类程序员用来生成复杂程序的模式来超越LLM已经提供的代码,即“分解抽象计划,直到它可以自动解决”,研究人员在他们的论文中解释说。
Parcel背后的一般思想如下:人类或LLM使用Parcel语言来描述任务如何在子任务中分解,称为强连接组件(SCC)。然后,Parcel编译器使用代码LLM和约束求解器来实现每个SCC。最后,将实现的 SCC 组合回执行原始任务的程序。
LLMs只需几个例子就可以生成Parsol,并且他们的解决方案优于APPS数据集中竞争级问题的先前工作,包括AlphaCode和两者(组合)。而且,两个版本的法典。
Parcel编译器接受要实现的函数的自然语言描述和一组必须满足的约束,例如单元测试的集合。给定此输入,将提示代码LLM为每个函数生成实现并组合它们,直到找到满足约束的函数。
这是如何描述康威生命game的一部分的示例,包括一个约束,指示函数在使用输入调用时应返回一个整数:([[1, 0], [0, 1]], 0, 0)
count_living_neighbors(grid, i, j): count the number of living neighbors of the cell at the index (i, j)
type_fn_output(fn, args): returns the type of the output of a function called with args
count_living_neighbors, ([[1, 0], [0, 1]], 0, 0) -> int
Parcel最简单的情况是所有函数都有约束,并且没有一个是递归的。
在这种情况下,[...]调用图中没有任何循环,我们可以首先实现叶函数,然后是它们的父函数,依此类推,直到程序实现。
递归和没有约束的函数使事情变得更加困难。在这种情况下,重组 SCC 的复杂性随着最大 SCC 的大小呈指数级增长。为了使重组易于处理,Parcel考虑了其定义相互依赖的函数集,并假设它们之间的状态性不会干扰依赖断言,以便能够找到满足所有约束的集合。
Parcel提供正确程序的一个关键步骤是分解。事实上,如果一个函数描述太复杂,研究人员说,LLM用来将其转换为代码的代码就无法正确地做到这一点。在这种情况下,解决方案将进一步将复杂函数分解为更简单的函数。
与此相关,代码LLM生成的代码质量通常可能与输出语言有很大差异,训练数据中代表性不足的语言表现更差。
研究人员说,虽然Parcel已被证明能够实现稳健的算法推理,但仍有许多问题悬而未决,并且有很多机会可以扩展和改进框架。
- 分享
- 举报
-
浏览量:2665次2020-01-06 10:09:20
-
浏览量:1141次2023-02-27 18:11:15
-
浏览量:2796次2020-04-10 10:31:32
-
浏览量:1941次2020-03-17 09:12:22
-
浏览量:3524次2020-10-21 09:53:48
-
浏览量:4006次2021-09-04 10:17:59
-
浏览量:1679次2020-03-19 09:24:50
-
浏览量:2626次2018-01-27 13:19:46
-
浏览量:609次2023-09-01 10:53:05
-
浏览量:1699次2018-01-20 11:56:02
-
浏览量:1862次2019-12-12 15:32:04
-
浏览量:517次2023-09-19 09:56:50
-
浏览量:1237次2022-12-06 19:29:47
-
浏览量:4436次2020-10-26 10:55:25
-
浏览量:3123次2019-06-19 16:37:18
-
浏览量:6184次2021-06-07 11:48:50
-
浏览量:562次2023-10-10 10:06:48
-
浏览量:620次2023-10-24 13:59:57
-
2020-11-18 14:29:08
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
艾
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明