谷歌让NLP模型也能debug,只要给一张“草稿纸”就行( 二 )

文章图片
最后就是读Python代码了 。
代码的训练示例中 , 记录了正在执行的是哪行代码 , 以及此时各变量的值 , 用json格式表示 。

文章图片
此前的语言模型读代码的能力都表现不佳 。 “打断点”的方式可以让它们一改常态么?
首先 , 经过200个程序(都是人工编写的 , 包括简单的while循环和if语句)的测试发现 , “断点法”整体执行精度更高 。
与直接执行的模型相比 , 微调还可以将模型性能从26.5%提高到41.5% 。

文章图片
一个真实例子:

文章图片
“断点”法经过3次while循环 , 最终给出了正确的变量值 。

文章图片
接着 , 他们又用包含了1000个程序的MBPP数据集进行训练和测试 。
这些程序涉及多种数据类型的计算 , 包括整数、字符串、浮点数等 , 以及涉及循环、API调用和递归等流程结构 。
并添加训练数据之外的“singleline”程序集和CodeNet程序集进行测试 。
结果发现 , 模型也可以很好地扩展 。

文章图片
当然 , 这个方法也有局限性:
比如复杂的计算可能需要很“长”的暂存器 , 这可能需要进一步改进Transformer生成窗口的大小 。 好在这也是NLP领域的一个活跃研究领域 。
而在未来 , 他们可能会尝试在无监督情况下用强化学习让语言模型学会“打断点” 。
总之 , 语言模型的计算能力、读代码的能力会越来越强 。
论文地址:
https://arxiv.org/abs/2112.00114
—完—
- 炸锅|酷暑之下,莫让这些谣言再增“热”度
- 谷歌警告运营商小心Hermit间谍软件
- 科学家为何要在太空放火?会有什么后果?答案让人意外
- 南极洲第二入口被发现?谷歌人为掩盖地点,真有秘密基地?(上)
- 黄渤让四位导师演戏演到崩溃,王一博撒娇,钟汉良一秒入戏
- 让骁龙8+“凉”了 ROG游戏手机6预热:散热升级
- 虽然正式版还尚早|iOS 16第二个测试版更新细节揭晓:苹果让锁屏更个性化
- 腾讯|8个免费的神级APP,让你的ipad不再吃灰
- OPPO|iPhone14ProMax渲染图:两个王炸让我破防,苹果将再次成功
- 空调|空调移机“坑”巨多,这些套路一定要牢记,别让自己再花冤枉钱了
