程序员现在可以使用大语言模型(LLMs)更快地生成计算机代码。然而,只有当生成的代码遵循编程语言的规则且不会导致计算机崩溃时,这才会让程序员的工作变得更轻松。
目前有一些方法可以确保大语言模型(LLMs)生成的文本符合相应语言的规则,但这些方法中,许多要么会扭曲模型原本想表达的意思,要么耗时过长,无法应用于复杂任务。
麻省理工学院(MIT)和其他机构的研究人员开发了一种新方法,该方法能自动引导大语言模型(LLM)生成符合相关语言规则(如特定编程语言)且无错误的文本。他们的方法使大语言模型能够将精力集中在生成最有可能有效且准确的输出上,同时在生成过程早期就舍弃没有希望的输出。这种概率方法提高了计算效率。
由于这些效率提升,研究人员设计的架构使得小型大语言模型在为包括分子生物学和机器人技术在内的多个实际应用场景生成准确且结构合理的输出时,表现优于大得多的模型。
从长远来看,这种新架构可以帮助非专业人士控制人工智能生成的内容。例如,它可以让商务人士仅使用自然语言提示,就能编写用于数据库操作的SQL复杂查询语句。
麻省理工学院研究生若昂·洛拉(João Loula)是一篇关于该框架论文的共同主要作者,他表示:“这项工作的意义不仅限于研究。它可以通过确保人工智能生成的输出既有用又正确,来改进编程助手、人工智能驱动的数据分析以及科学发现工具。”
参与这篇论文撰写的除了卢拉,还有共同第一作者本杰明·勒布伦(Benjamin LeBrun),他是米拉-魁北克人工智能研究所的研究助理;以及约翰霍普金斯大学的研究生杜力。共同资深作者包括2005年本科毕业、2009年获硕士和博士学位的维卡什·曼辛格卡(Vikash Mansinghka),他是麻省理工学院脑与认知科学系概率计算项目的首席研究科学家和负责人;亚历山大·K·卢(Alexander K. Lew),2020年获理学硕士学位,现任耶鲁大学助理教授;蒂姆·维埃拉(Tim Vieira),苏黎世联邦理工学院博士后;以及麦吉尔大学副教授、米拉研究所加拿大CIFAR人工智能主席蒂莫西·J·奥唐奈(Timothy J. O’Donnell),他领导了这个国际团队。此外还有其他几位研究人员。这项研究将在国际学习表征会议上展示。
强化结构与语义
一种控制大语言模型生成结构化文本的常见方法是检查整个输出,比如一段计算机代码,以确保其有效且能无错误运行。如果不能,用户必须重新开始,这会消耗大量计算资源。
另一方面,程序员可以在编写过程中停下来检查输出。虽然这可以确保代码符合编程语言的规范并且结构有效,但逐步修正代码可能会导致其偏离用户预期的含义,从长远来看会影响其准确性。
“执行结构比执行意义要容易得多。我们可以快速检查某些内容是否采用了正确的编程语言,但要检查其意义,你必须执行代码。我们的工作也涉及处理这些不同类型的信息。” 卢拉说道。
研究人员的方法包括将知识融入大语言模型(LLM),引导其生成最有价值的输出。这些输出更有可能遵循用户定义的结构限制,并符合用户期望的含义。
“我们并非试图训练大语言模型来做这件事。相反,我们正在设计一些专家才具备的知识,并将其与大语言模型的知识相结合,这提供了一种与深度学习中截然不同的扩展方式。” 曼辛格卡补充道。
他们使用一种称为序贯蒙特卡罗的技术来实现这一点,该技术使来自大语言模型(LLM)的并行生成能够相互竞争。该模型根据输出的前景,动态地将资源分配给不同的并行计算线程。
每个输出都会被赋予一个权重,该权重代表其在结构上有效且语义准确的可能性。在计算的每一步中,模型会关注那些权重较高的输出,并舍弃其余的输出。
从某种意义上说,这就好比大语言模型(LLM)有一位专家在旁监督,确保它在每一步都做出正确选择,同时使其专注于总体目标。用户指定所需的结构和含义,以及如何检查输出,然后研究人员设计的架构会引导大语言模型(LLM)完成其余工作。
“我们已经解决了复杂的数学问题,这样,无论你想加入何种约束条件,都能得到合适的权重。最终,你会得到正确的答案。” 卢拉说道。
提升小型模型
为了测试他们的方法,他们将该框架应用于大型语言模型,这些模型的任务是生成四种类型的输出:Python代码、SQL数据库查询、分子结构以及机器人遵循的计划。
与现有方法相比,研究人员的方法在需要较少计算量的同时表现得更加准确。
例如,在Python代码生成方面,研究人员的架构使得一个小型开源模型的表现优于一个规模是其两倍多的专业商业闭源模型。
“我们能够让这些小模型发挥远超其规模的作用,这让我们非常兴奋,” 卢拉说道。
展望未来,研究人员希望使用他们的技术来控制更长篇幅的生成文本,而不是一次只处理一小段。他们还希望将他们的方法与学习相结合,这样在控制模型生成的输出时,模型就能学习变得更加准确。
从长远来看,该项目对于非技术用户可能具有更广泛的应用。例如,它可以与 “自动化数据建模” 系统以及 “数据库生成模型查询” 系统相结合。
曼辛格卡补充说,这种方法还可以实现机器辅助数据分析系统,在该系统中,用户可以与能够准确模拟数据含义以及用户所提问题的软件进行对话。
“语言学的基本问题之一是,单词、短语和句子的意义如何能在世界模型中找到依据,同时解释意义和所指中的不确定性与模糊性。大语言模型只是预测可能的词元序列,并未解决这个问题。我们的论文表明,在狭义的符号领域,从技术层面上可以将词汇映射到基于现实意义的分布上。这朝着认知科学、语言学和人工智能领域中更深层次的问题迈出了一小步,而这些问题对于理解机器如何能像我们一样与世界进行交流至关重要。” 奥唐奈说道。