Efficient Skill Grounding via Code Refactoring with Small Language Models
本文介绍了 RECENT,这是一个以重构为中心的框架,它通过通过局部代码修改而非全量再生来解耦语义意图与执行绑定,从而使小语言模型能够在具身智能体中实现鲁棒的长时程技能落地。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
核心问题:“千篇一律却又不合身”的机器人
想象你有一位能做出完美意式千层面的大厨。你用一种非常具体的方式写下了他们的食谱:“使用左侧的红刀,以向下的动作切割番茄,然后将它们放入蓝色碗中。”
现在,想象你想把这个食谱发送到另一个厨房。
- 厨房 A 有一把位于右侧的蓝刀和一个方碗。
- 厨房 B 完全没有刀具,只有一个食物加工机。
如果你直接把原始食谱交给新厨房,它就会失败。机器人(大厨)会试图去抓取并不存在的“红刀”,或者尝试使用它并不具备的工具进行切割。
在机器人领域,这被称为具身差异(Embodiment Gap)。机器人的“身体”(它的手臂、夹爪、传感器)与最初设计该技能时的机器人不同。通常,为了解决这个问题,工程师必须要么:
- 每次都从头重写整个食谱(速度慢且成本高)。
- 使用超级聪明、昂贵的 AI(即“大语言模型”或 LLM)来实时搞定所有的变化(这需要庞大的计算机资源和互联网连接,而这对于工厂车间里的机器人来说可能并不现实)。
解决方案:RECENT(“编辑者”方法)
作者创建了一个名为 RECENT 的新系统。RECENT 不再要求超级智能的 AI 每次都重写整本书,而是像一个聪明的编辑,只修改那些不符合新厨房环境的具体词汇。
它是这样运作的,分步骤如下:
1. “大师级食谱库”(离线技能库)
在机器人开始工作之前,系统会创建一个技能库(例如“拿起杯子”或“切割蔬菜”)。这些技能是以计算机代码的形式编写的。
- 神奇之处: 代码被分为两个部分:
- “为什么”(语义/Semantics): 关于什么需要发生的逻辑(例如:“抓住物体并将其移动到桌子上”)。这部分永远保持不变。
- “如何做”(执行/Execution): 关于如何执行的具体指令(例如:“使用
panda_gripperAPI”)。这是会发生变化的部分。
你可以把它想象成一个填空式故事。情节是固定的,但人物的名字和场景设置留白,等待稍后填充。
2. “聪明编辑”(小语言模型)
当机器人需要执行任务时,它不会去调用巨大的、昂贵的超级计算机。相反,它使用一个小语言模型(sLM)。这就像是一个高效、快速的编辑,可以在笔记本电脑甚至平板电脑上运行。
这位编辑会查看“大师级食谱”和“新厨房”(新机器人)。
- 场景: 新机器人使用的是真空吸盘而不是机械爪。
- 旧方法: AI 会尝试重写关于“如何拿起杯子”的整个故事,这可能会导致它产生混乱,甚至产生错误的幻觉步骤。
- RECENT 的方法: 编辑看到“如何做”部分写着
claw_grab()。它通过参考指南(称为本体论/Ontology)得知,对于真空机器人,这应该改为vacuum_attach()。它仅仅是替换了这两个词,并保持故事的其他部分原封不动。
这被称为代码重构(Code Refactoring)。这就像是在电子表格公式中修改单行公式,而不是重建整个电子表格。
3. “实时修复”(原位自适应/In-Situ Adaptation)
有时,机器人在工作过程中会遇到意外情况。也许物体很滑,或者光线太暗。
- 旧方法: 机器人会停止工作,陷入恐慌,并请求超级计算机重写整个计划。这需要很长时间,会导致机器人停工。
- RECENT 的方法: 机器人的代码中内置了一些“安全检查”(单元测试)。如果某个检查失败(例如,“物体是否真的在那里?”),机器人会暂停片刻。小编辑会查看接下来的几行代码,并立即对其进行补丁修复以应对打滑情况,然后机器人继续移动,无需完全停止。
为什么这很重要(研究结果)
论文在机器人执行长距离、复杂任务(如在房间内移动物体)的两种场景下测试了该系统:
- 不同的手臂: 从 Panda 机器人手臂切换到 UR5 或 Sawyer 手臂。
- 不同的夹爪: 从机械爪切换到真空吸盘。
结果如下:
- 速度与效率: RECENT 极其迅速。与尝试重写一切的方法相比,它在修复代码时使用的计算资源(Token)减少了 99%。
- 成功率: 它完成任务的成功率约为 73% 到 82%,这比其他小模型方法要高得多,且几乎可以媲美那些庞大且昂贵的超级计算机(LLM)。
- 无停顿: 机器人很少需要停止等待。它能持续移动,因为它只是进行了微小的局部修复,而不是重启整个程序。
总结
想象你在开车。
- 旧方法: 每当你从轿车换成卡车时,你都必须雇佣一名技师来重建整个发动机,因为零件不同。
- RECENT 方法: 你拥有一个工具箱,它知道该更换哪个螺栓以及如何重新布线。你只需 5 分钟就能完成更改,然后卡车就能像轿车一样行驶。
这篇论文表明,我们不需要庞大、昂贵的 AI 也能让机器人在不同的身体中工作。我们只需要一种聪明、高效的方式来局部编辑指令,从而保证核心逻辑的安全与稳健。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。