智能AI
morning
斯坦福让GPT-6 Astra直接修改机器人参数:只动65行词嵌入,修复一类指令失灵
摘要
含被改词元的 335 条留出指令,成功率从 74.3%升至 87.5%;另外 430 个回合,成败结果逐一不变。 只改 65 行词嵌入,GPT-6 Astra 修复了一类机器人「换种说法就失败」的问题。 任务是打开炉灶。研究者给机器人的指令是「activate the cooking appliances heat source」——启动烹饪设备的热源。原始策略却伸手去拿盘子,执行 300 步后仍...
Astra
cooking
https
LIBERO
被移向
335
成功率从
430
GPT
300
2026-11-13
1 阅读
约10分钟阅读
机器之心
字号:
含被改词元的 335 条留出指令,成功率从 74.3%升至 87.5%;另外 430 个回合,成败结果逐一不变。 只改 65 行词嵌入,GPT-6 Astra 修复了一类机器人「换种说法就失败」的问题。 任务是打开炉灶。研究者给机器人的指令是「activate the cooking appliances heat source」——启动烹饪设备的热源。原始策略却伸手去拿盘子,执行 300 步后仍未完成任务。 换上修改后的权重,同一个场景、同一条指令、同一个随机种子,机器人在第 78 步完成了任务。编辑过程中没有做梯度更新,也没有新增机器人示范数据。 动图 1|同一条留出指令,修改前后的机器人行为。左侧原始策略在 300 步超时;右侧编辑后在 78 步成功,随后停留终帧。场景、随机种子 7 和初始状态 0 相同,画面来自真实仿真录像。这是选出的修复案例,完整统计也包括退化回合。 这项研究由 Jusheng Zhang、Keze Wang 和 Liang Lin 共同完成,论文题为《Can LLMs Debug Robots by Editing Their Weights?》。在效果最好的实验中,335 条包含被改词元的留出指令,成功率从 74.3%提高到 87.5%;另外 430 个回合的成败结果逐一不变。这里的「零变化」,指每个回合的成功或失败结果。 论文、实际评测过的权重修改、代码和全部 16 次实验记录均已公开。研究关心的是一个具体问题: 机器人已经具备的操作能力,能否通过局部权重修改,被不同的语言表达更可靠地调用? 论文:https://arxiv.org/abs/2611.09376 GitHub:https://github.com/jushengzhang/robot-weight-debugging 项目介绍与过程回放:https://jushengzhang.github.io/posts/robot-weight-debugging/zh.html 把 LLM 放在调试器的位置 研究使用 OpenPI 发布的π₀.₅ LIBERO 检查点。它是一种视觉—语言—动作模型:接收相机画面、语言指令和机器人状态,输出接下来要执行的动作。基座已经经过预训练和微调;本次编辑以 LIBERO 操作任务和 LIBERO-Plus 指令改写为测试环境。 [1][5][6] 在这套实验里,Astra 负责检查和修改策略的权重。研究者为它提供一个持续保留状态的 Python 工作区,以及可调用的前向工具。Astra 可以查看张量、写入替换值,再检查仿真任务的结果、动作或内部信号。修改确定后,动作仍由被编辑的机器人策略计算。 每次语言编辑有 50 次计入预算的工具请求,一次请求可以包含多个回合或输入。Astra 依靠练习样本的反馈选择候选,最终留出测试的结果不会返回给它。因而, 「没有梯度更新」不等于「没有反馈」,更不意味着机器人从未接受过训练。 这使问题从「机器人有没有学过这个动作」,转向了「这条指令在模型里被表示成什么,能不能更可靠地调用已有行为」。 动图 2|GPT-6 Astra调试机器人权重的真实过程回放。研究者公开了50次工具请求中的关键节点,展示Astra如何根据仿真反馈调整词嵌入、检查候选效果,并最终保留65行修改。左侧为同一指令修改前后的机器人行为,底部展示练习样本结果与工具反馈。 65 行,改在语言进入模型的地方 一条指令进入模型后,会先被拆成词元(token)。词元不一定等于完整英文单词。随后,模型按词元 ID 从嵌入表中取出对应的一行向量,后续网络处理的就是这些数值表征。 Astra 最终保留的修改,集中在这张嵌入表上。它选出一部分词元,把向量移向更常见的任务表达,例如 cooker→stove、basin→bowl、fermented→wine。有些行采用目标向量,有些保留一部分原向量;遇到歧义,也可以使用多个目标向量的均值。 开场炉灶指令里的 cooking,就是一个具体例子。对应词元的嵌入被改为 25%的原向量,加上 75%的 stove 向量。输入给机器人的文字仍然包含 cooking,但进入后续网络的数值表示发生了变化。这一行属于整份 65 行修改,研究没有单独评估它的效果。 其余案例也保留了可检查的对应关系:酒瓶指令中的 fermented、grapes 被移向 wine;取碗指令中的 rounded 被移向 bowl,uppermost 被移向 top。完整词元映射和配对录像均已公开。 65 行共改变 132,768 个参数值,占导出检查点的 0.00367%。这里的「行」是嵌入表的行数,并非 65 个参数,也不是 65 行代码。提交的语言修复只改变这些嵌入值;具体词元 ID、目标行和混合比例都已公开。 此前已有研究探索让通用 LLM 直接读取和改写神经网络权重,即 权重空间编程(Weight-Space Programming) 。 [2] ROME、MEMIT、MEND 等工作也研究模型编辑问题。 [8][9][10] 本研究检验的是 LLM 借助权重检查与仿真反馈构造机器人策略修改的可行性,没有与这些编辑算法做直接比较。 765 条留出指令:48 次修复,4 次退化 一例成功视频还不能回答修改是否可靠。研究从同一个原始检查点分别开始三次编辑,三次搜索彼此不继承笔记和修改。候选确定后,再在同一组 765 条留出改写指令上与原始策略配对比较。 表 1|三次独立编辑搜索的留出结果。测试使用相同的 765 条指令和随机种子 7;三项主要检验经 Holm 多重比较校正后仍显著。三次搜索共享同一测试集,不能当作三组独立测试数据。 效果最好的 C,将成功数从 660 提高到 704:48 个原本失败的回合成功了,同时有 4 个原本成功的回合失败,净增加 44 次成功。整体成功率从 86.3%升至 92.0%,提升 5.8 个百分点,精确配对检验 p=1.31×10⁻¹⁰。 把指令按是否读到被修改的嵌入行分开,变化的位置更清楚:包含被改词元的 335 个回合,成功数从 249 增至 293,对应 74.3%→87.5%;不包含这些词元的 430 个回合,成败结果逐一不变。 表 2|编辑 C 的词元覆盖分组。完整结果同时计入修复和退化,430 个回合的「零变化」仅指逐回合成败结果。 图 2|编辑 C 的结果变化集中在含被改词元的指令中。最难一级改写的成功率从 59.8%提高到 78.2%;图中数字来自逐回合记录。 这种局部性有一个直接解释: 如果指令没有读取被改动的行,查表得到的文本向量就相同。 在相机观察、采样噪声等输入固定时,其余未改动的网络得到的计算输入也相同。但包含这些词元的其他新语境仍可能受到影响,不能据此保证模型在所有任务上都没有副作用。 从炉灶到取碗、酒瓶:修复发生在哪里? 取碗任务中,指令用「darkcolored rounded container」和「uppermost storage compartment」描述目标及位置。被改词元 rounded、uppermost 分别移向 bowl、top 的嵌入。相同场景下,原始策略在 220 步超时
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱