机器之心PRO · 会员通讯 Week 03
---- 本周为您解读 ③个值得细品的 AI & Robotics 业内要事 ----
1. 推动 LLM-as-Agent 进入下一步的会是代码语料吗?
什么是以代码为中心的范式?代码语料较自然语言优势何在?以后做 LLM 必须要有代码语料吗?代码预训练的 LLM 做 Agent 会更强吗?...
2. VLM 的下一步是会更靠向支持 Robotics 吗?
RoboFlamingo 有哪些核心突破?VLM 与具身智能的关系是什么?VLM 在具身智能领域有哪些价值和潜力?VLM 下一步可以往哪走?...
3. 「AI for ALL」的 CES 2024 为何褒贬不一
CES 2024 展会整体情况如何?为何外媒、网友评价“让人眼前一亮的 AI 产品并不多”?展会中有哪些亮点产品?反映了今年 AI 的哪些趋势?...
...本期完整版通讯含 3 项专题解读 + 31 项本周 AI & Robotics 赛道要事速递,其中技术方面 10 项,国内方面 5 项,国外方面 16 项...
本期通讯总计 26874 字,可免费试读至 10 % 
 消耗 99 微信豆即可兑换完整本期解读(约合人民币 9.9 元) 

要事解读 ①推动 LLM-as-Agent 进入下一步的会是代码语料吗?

时间:1 月 8 日
事件:UIUC 的研究者近期发布综述文章,探讨近期出现的以代码为中心的 LLM 范式,剖析了代码语料如何为 LLM 的推理能力带来帮助,以及盘点经过代码预训练的 LLMs 作为 Agents 的决策中心有何优势。
什么是以代码为中心的范式?
UIUC 的研究者观察到一种普遍趋势,即近期有许多工作开发的 LLMs 通过生成编程语言或使用预定义函数来与其他功能端建立连接,他们将这种模式被称为代码中心范式。
1、近期的研究表明,将 LLMs 连接到其他功能端(即通过外部工具和执行模块增强 LLMs)有助于 LLMs 更准确、更可靠地执行任务。
① 这些功能端使 LLMs 能够访问外部知识、与不同模态交互,并有效地与各种环境互动。
② 与严格在 LLMs 的推理机制中硬编码工具调用的做法相比,代码中心范式允许 LLMs 动态生成调用执行模块的 token,增强了它们的应用灵活性和可扩展性。
2、在连接数字端点方面,以代码为中心的范式够更好地链接 LLMs 与基于文本的工具和多模态工具。
① 基于文本的工具:以代码为中心的 LLM 范式可让 LLMs 对文本工具的调用变得更加精确和清晰。这包括使用 API 调用来整合多个文本工具,并通过特定的标记来调用这些 API,如调用计算器、日历、机器翻译系统等各种外部文本模块。
② 多模态工具:早期工作会利用以代码为中心的范式来解决视觉问答任务(如 ViperGPT、和 CodeVQA),最近的工作还以协作方式考虑了视频、视觉文本、音乐等不同模态的工具与下游任务。
3、在连接物理端点方面,以代码为中心的范式则让 LLM 更具适应性地调用物理世界的工具和执行模块,引发了探索 LLMs 与机器人和自动驾驶集成的研究浪潮。
① 这种连接的成功案例之一是 PaLM-SayCan,它使用 LLMs 生成策略代码来执行现实世界的机器人任务。后续的 ProgPrompt 则用 LLMs 的代码生成能力作为机器人规划和控制的大脑。
② 尽管存在诸如延迟、准确性问题和缺乏足够的模拟环境、数据集和基准的挑战,LLMs 在理解高级指令和执行代码相关 API 方面表现出在复杂领域如机器人和自动驾驶的潜力。
表:连接 LLM 与不同功能端,以执行非零碎任务的代表性工作汇总。最初的尝试大多在 LLM 的推理机制中严格嵌入工具调用(标记为「∗」),导致灵活性降低和工具可访问性受限。近期以代码为中心的范式通过编程语言或预定义的函数(标记为「†」)建立了 LLM 与功能端之间的连接。这种方法增强了 LLM 在不同工具和执行模块上调用功能端的可扩展性。
是什么特征让代码语料愈发受到重视?
伊利诺伊大学厄巴纳-香槟分校(UIUC)的研究者在综述《If LLM Is the Wizard, Then Code Is the Wand: A Survey on How Code Empowers Large Language Models to Serve as Intelligent Agents》中将代码比喻为巫师(LLM)的魔杖。作为人类和计算机之间的媒介,代码将高层次目标转化为可执行步骤,具有标准语法、逻辑一致性、抽象性和模块化特征。结合自然语言和形式语言(代码)训练得到的 LLMs 除了具备更好的代码生成能力,其作为 Agent 的感知、决策、执行能力均有提升。
1、研究者在综述中将代码定义为既能被机器执行又能被人类理解的任何形式语言。
① 定义的代码包括人类可读的编程语言,但不包括像基于二进制指令的机器语言这样的低级语言,因为后者缺乏人类可解释性。
② 预定义的形式语言,如 WebGPT 中使用的函数集,也被包括在内,因为它们可以以基于规则的方式被解析和执行。
2、代码作为形式语言,它的内在特性在其明确性,对每一行都有清晰的定义,而自然语言通常是自由形式的,可能非常含糊。
① 这种明确性使得代码更擅长表达详细的命令和传输控制信号,从而显著提高了 LLMs 在受控规划和动作执行方面的能力。
4、在形式语言中,编程语言特有的结构定义,如逻辑运算符、循环、嵌套,以及类定义和继承等,使其非常适合表达嵌套和复杂结构。这些特点赋予了 LLMs 更好地理解和生成结构化表示的能力,进而能够提高推理和决策能力。
5、此外,以代码为中心的范式使 LLM 能够以更简洁的方式与其他功能端点进行交互,增强其应用的灵活性和可扩展性。
LLM-as-Agent 非得用代码语料吗?[1] [3]
用代码语料预训练的 LLMs 做 Agent 的固然具有明显的优势,但 UIUC 的研究者同样总结了代码在 LLM 和 LLM-as-Agent 中所存在的局限。此外 Logenic AI 联合创始人李博杰同样在其博文中探讨了他对代码和 Agent 之间关系的看法。
1、代码预训练能够提升 LLMs 的推理能力,但两者间的因果关系尚不明确。研究者发现很多采用代码语料训练的模型具备优越的推理能力,但在直接证明代码特性获取如何提升 LLMs 推理能力方面仍存在明显的研究缺口。
① 尽管直觉上认为某些代码属性可能有助于 LLMs 的推理能力,但这些属性对于增强推理技能的具体影响范围仍然模糊不清。
2、代码预训练的 LLM 尽管推理能力变强,但仍缺乏真正广义人工智能所期望的类人推理能力。
① 综述指出,除了代码之外,其他文本数据源也有潜力增强 LLMs 的推理能力。然而,如果我们坚持在大型语料库上训练语言模型的范式,很难想象有一种比代码这样的形式语言更抽象、更结构化、更符合符号语言的顺序可读语言。
② 探索替代数据模态、多样化的训练目标和新颖的架构将为进一步增强这些模型的推理能力提供额外机会。
3、以代码为中心的范式仍需要学习如何正确调用众多功能,如选择正确的函数端点并在适当的时间传递正确的参数。
① 对于简单任务,LLM 通常也需要使用有限的示例以及强大的基础 LLM,才能准确把握这些原语的使用方式。
② 对于更复杂的任务,如化学、生物学和天文学等数据密集型领域,增强 LLMs 学习正确调用这些领域特定 Python 库中的多样化功能和复杂调用的能力是一个有前景的方向。
4、多轮互动和自我纠正能力有,但不多。虽然代码执行提供了可靠和可定制的反馈,但尚未建立起一种完善的方法来充分利用这种反馈。
① 基于选择的方法虽然有用,但并不能保证性能的提升,并且可能效率低下。
② 基于提示的方法严重依赖于 LLM 的上下文学习能力,可能会限制适用性。
③ 微调方法一直有改进,但数据收集和微调是资源密集型的,成本高昂。
5、Logenic AI 联合创始人李博杰在其博文中表示,代码能力较强的模型规划能力一般也较强,因此代码可能是训练任务规划的重要数据。但长期来看,任务规划的能力还是需要在 AI 与环境的交互中通过强化学习来获得。
① 人类使用工具的习惯会以非自然语言的形式保存于程序记忆,很难用语言清楚描述,比如骑单车。但是现在的大模型完全依靠 system prompt 使用工具,对工具的选择,适用度都没有记忆,难以提高工具使用水平。
② 目前有工作尝试用代码生成的方法实现程序记忆,但代码只能表达 「工具怎么用」,并不能表达 「什么情况下该用什么工具」。也许需要把使用工具的过程拿来做 fine-tuning,更新 LoRA 的权重,这样才能真正记住工具使用的经验。
③ 除了使用工具,创造工具是更高级的智能形式。大模型创作文章的能力很强,那创造工具是否可能呢?
继续阅读
阅读原文