谷歌推出了一种使用大型语言模型 (LLM) 的新方法,展示了机器人如何根据人类的指令编写自己的代码。
最新的工作建立在谷歌的 PaLM-SayCan 模型之上,机器人可以理解来自人类的开放式提示,并在物理空间中做出合理、安全的反应。 它还建立在 OpenAI 的 GPT-3 LLM 和自动代码完成方面的相关工作之上,例如 GitHub 的 Copilot 功能。
“如果从人类那里得到指令,机器人可以自主编写自己的代码来与世界互动,那会怎样?” 谷歌的研究人员说。 谷歌表示,最新一代的语言模型,如 PaLM,能够进行复杂的推理,并且还接受了数百万行代码的训练。 “在给定自然语言指令的情况下,当前的语言模型不仅可以非常熟练地编写通用代码,而且正如我们发现的那样,还可以编写可以控制机器人动作的代码。”
此外:谷歌做出大量承诺,使用人工智能支持更多语言
Google Research 将其新开发称为“代码即策略”,并断言代码编写 LLM 可以重新用于编写机器人策略代码以响应自然语言命令。
“当作为输入提供几个示例语言命令(格式化为注释)后跟相应的策略代码(通过少量提示)时,LLM 可以接受新命令并自主重新组合 API 调用以分别生成新的策略代码,”谷歌研究人员 在一篇新论文“代码即策略:用于具体控制的语言模型程序”中注明。
在给出的示例中,用户会说“将块堆叠在空碗上”或“将块放在靠近顶部的水平线上”的方形 2D 周边。 谷歌的语言模型生成程序,然后用 Python 编写代码以准确地指示机器人遵循口头命令。 它依赖于 Python 编程的结构,但也使用像 Shapely 这样的库,在这种情况下用于空间几何推理。
谷歌声称的改进是语言模型可以比直接学习机器人任务并输出自然语言动作更好地完成这项任务。
“CaP 扩展了我们之前的工作 PaLM-SayCan,它使语言模型能够使用通用 Python 代码的完整表达来完成更复杂的机器人任务。借助 CaP,我们建议使用语言模型通过少镜头直接编写机器人代码 提示,”谷歌研究指出。
谷歌表示,除了概括新指令外,这些模型还可以根据“更快”或“向左”等模棱两可的描述翻译精确值,例如速度。 CaP 还支持非英语语言甚至表情符号的说明。
据谷歌称,虽然该模型可以编写代码来指示机器人将不同颜色的积木推到 2D 正方形的顶部,但它无法翻译更复杂的指令,如“用积木盖房子”,因为它没有 3D 参考 .
它还警告说,虽然 CaP 为机器人提供了额外的灵活性,但这也“增加了潜在的风险,因为合成程序(除非每次运行时手动检查)可能会导致物理硬件出现意外行为。”