Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

挥舞起代码语料的魔杖,大模型和智能体将召唤出更强大的能量

正如瑞斯福兹魔杖缔造了诸如邓布利多在内的历代非凡魔法师的传奇,具有巨大潜能的传统大型语言模型,在经过代码语料的预训练 / 精调后,掌握了更超出本源的执行力。

具体来说,进阶版的大模型在编写代码、更强推理、自主援引执行接口、自主完善等方面都获得了提升,这将为它作为 AI 智能体、执行下游任务时方方面面带来增益。

近日,伊利诺伊大学厄巴纳 - 香槟分校(UIUC)的研究团队发布了一项重要综述。

图片

论文链接: https://arxiv.org/abs/2401.00812

这篇综述探讨了代码(Code)如何赋予大型语言模型(LLMs)及其基于此的智能体(Intelligent Agents)强大的能力。图片
其中,code 特指机器可执行且人类可读的形式语言,如编程语言、预定义函数集等。类似于我们指导 LLMs 理解 / 生成传统自然语言,让 LLMs 精通 code,仅需要将相同的语言建模训练目标应用在 code 数据上。

和传统语言模型不同,当今通用的 LLMs,如 Llama2、GPT4,不仅在体量上显著提升,并且它们经历了独立于典型自然语言语料的 code 语料训练。Code 具有标准化的语法、逻辑一致性、抽象性和模块化特性,并且能将高层次的目标转化为可执行的步骤,使之成为连接人类和计算机的理想媒介。

如图 2 所示,在本篇综述中,研究人员通过辑录相关工作,详细分析阐明了将 code 纳入 LLMs 训练数据的各种优点。

图片

具体来说,研究人员观察到 code 的独特属性有助于:

1. 增强 LLMs 的 code 编写能力、推理能力,以及结构化信息处理能力,使其能够应用于更复杂的自然语言任务;
2. 引导 LLMs 产生结构化的、精确的中间步骤,这些步骤可以通过函数调用与外部执行端连接;
3. 利用 code 的编译、执行环境,为模型自主改进提供多样化反馈。

此外,研究人员也深察了这些由 code 赋予的 LLMs 的优化项,如何强化它们作 Intelligent Agent 的决策中心,理解指令、分解目标、规划和执行行动以及从反馈中改进的一系列能力。

如图 3 所示,在第一个部分中,研究人员发现 LLMs 在 code 上的预训练,已将 LLMs 的任务范围扩展到自然语言之外。这些模型能够支持多样化的应用,包括为数学理论生成 code、常规编程任务,以及数据检索等。Code 需要产生逻辑上连贯、有序的步骤序列,这对于有效执行至关重要。此外,code 中每个步骤的可执行性允许逐步验证逻辑。在预训练中利用并嵌入这些 code 属性提高了 LLMs 在许多传统自然语言下游任务中的思维链(CoT)表现,验证了它们在复杂推理技能上的改进。同时,通过对 code 结构化格式的隐式学习,codeLLMs 在常识性结构化推理任务上表现更佳,如与标记语言、HTML 和图表理解相关的任务。
图片
如图 4 所示,将 LLMs 与其他功能端相连接(即通过外部工具和执行模块扩展 LLMs 能力)有助于 LLMs 更准确、可靠地执行任务。

图片

在第二个部分中,如表 1 所示,研究人员观察到一种普遍趋势:LLMs 通过生成编程语言或利用预定义函数与其他功能端建立连接。这种 “以 code 为中心的范式” 不同于严格在 LLMs 推理机制中硬编码工具调用的刻板做法,它允许 LLMs 动态生成调用执行模块的令牌,具有可调整的参数

图片

这种范式为 LLMs 与其他功能端的互动提供了一种简单明确的方式,增强了它们应用的灵活性和可扩展性。更为重要的是,它也允许 LLMs 与涵盖多种模态和领域的众多功能端进行互动。通过扩展 LLMs 可访问的功能端的数量和种类,LLMs 能够处理更复杂的任务。

如图 5 所示,将 LLMs 嵌入 code 执行环境可以实现自动化反馈和模型自主改进。LLMs 的表现超出了其训练参数的范围,部分原因是它们能够接纳反馈。然而,必须谨慎选择反馈,因为嘈杂的提示输入可能会妨碍 LLMs 在下游任务上的表现。此外,由于人力资源代价高昂,反馈需要在保持真实性的同时满足自动收集。在第三个部分中,研究人员发现将 LLMs 嵌入 code 执行环境可以获得满足所有这些标准的反馈。

图片

首先,由于 code 执行是确定性的,从执行 code 的结果中获取反馈能够直白忠实反映 LLM 执行的任务。此外,code 解释器为 LLMs 提供了一种自动查询内部反馈的途径,消除了在利用 LLMs 调试或优化错误 code 时需要昂贵的人工注释的需求。Code 编译与执行环境也允许 LLMs 纳入多样化和全面的外部反馈形式,如简单的生成二值的正确和错误评价、稍复杂的对执行结果的自然语言解释,以及各种带有回馈值的排名方法,他们都使得提高性能的方法高度可定制化。

通过分析 code 训练数据集成如何增强 LLMs 能力的各种方式,研究人员进一步发现,code 赋能 LLMs 的优势在 Intelligent Agent 的研发这项关键的 LLM 应用领域尤为明显。

图 6 显示了一个智能助理的标准工作流程。研究人员观察到,通过 code 训练在 LLMs 中带来的改进,也同时一一作用于它们作为智能助理时的实际步骤。

图片

这些步骤包括:(1) 增强 IA 在环境感知规划方面的决策能力, (2) 通过将行动落实于模块化动作原语和高效组织记忆来优化策略执行,以及 (3) 通过从 code 执行环境自动派生的反馈优化性能。

总的来说,在本篇综述中,研究人员分析并阐明了 code 如何赋予 LLMs 强大能力,以及 code 如何协助 LLMs 作为 Intelligent Agents 决策中心工作。

通过全面的文献回顾,研究人员观察到经过 code 训练后,LLMs 提高了它们的编程技能和推理能力,获得了实现与跨模式和领域的多种功能端的灵活连接能力,以及强化了与 code 执行环境中集成的评估模块进行互动并实现自动自我提升的能力。

此外,code 训练带来的 LLMs 能力提升有助于它们作为 Intelligent Agent 在下游应用中的表现,体现于如决策、执行和自我提升等特定操作步骤。回顾以往的研究之外,研究人员也提出了该领域的几个挑战,作为未来潜在发展方向的指导要素。

更多细节请参考原文!
工程UIUC
相关数据
感知技术

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

规划技术

人工智能领域的「规划」通常是指智能体执行的任务/动作的自动规划和调度,其目的是进行资源的优化。常见的规划方法包括经典规划(Classical Planning)、分层任务网络(HTN)和 logistics 规划。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

数据集成技术

数据集成是把不同来源、格式、特点性质的数据在逻辑上或物理上有机地集中,从而为企业提供全面的数据共享。在企业数据集成领域,已经有了很多成熟的框架可以利用。目前通常采用联邦式、基于中间件模型和数据仓库等方法来构造集成的系统,这些技术在不同的着重点和应用上解决数据共享和为企业提供决策支持。

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

暂无评论
暂无评论~