挥舞起代码语料的魔杖,大模型和智能体将召唤出更强大的能量公众号新闻2024-01-10 12:01机器之心专栏作者:杨可、刘嘉腾正如瑞斯福兹魔杖缔造了诸如邓布利多在内的历代非凡魔法师的传奇,具有巨大潜能的传统大型语言模型,在经过代码语料的预训练 / 精调后,掌握了更超出本源的执行力。具体来说,进阶版的大模型在编写代码、更强推理、自主援引执行接口、自主完善等方面都获得了提升,这将为它作为 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 在下游应用中的表现,体现于如决策、执行和自我提升等特定操作步骤。回顾以往的研究之外,研究人员也提出了该领域的几个挑战,作为未来潜在发展方向的指导要素。更多细节请参考原文!© THE END 转载请联系本公众号获得授权投稿或寻求报道:[email protected]微信扫码关注该文公众号作者戳这里提交新闻线索和高质量文章给我们。来源: qq点击查看作者最近其他文章