返回
Prompting Is Programming: A Query Language for Large Language Models
DOI:10.1145/3591300.png)
摘要
En 中文
大型语言模型在问答、代码生成等一系列任务中展现了卓越的性能。从高层次来看,给定一个输入,语言模型可以以统计上可能的方式自动完成序列。在此基础上,用户通过语言指令或示例提示这些模型,以实现各种下游任务。先进的提示方法甚至可以隐含语言模型、用户与外部工具(如计算器)之间的交互。然而,要获得最先进性能或使语言模型适应特定任务,必须实现复杂的、与任务和模型相关的程序,这可能仍然需要特定的交互。基于此,我们提出了语言模型编程(LMP)的新颖思想。LMP将语言模型提示从纯文本提示推广到文本提示和脚本直观结合的形式。此外,LMP允许对语言模型输出指定约束。这使得能够轻松适应许多任务,同时抽象语言模型内部实现并提供高级语义。为了实现LMP,我们开发了LMQL(语言模型查询语言的缩写),它利用LMP提示中的约束和控制流,生成一个高效的推理过程,以最小化对底层语言模型的高成本调用次数。我们证明,LMQL能够以直观的方式捕获一系列最先进的提示方法,特别是便于实现使用现有高级API难以实现的可交互流程。我们的评估表明,我们在多个下游任务上保持了或提高了准确率,同时在计算量或成本方面(针对按使用付费的API)显著降低(节省26-85%的成本)。
期刊
暂无期刊信息
机构
暂无机构信息
引用论文
暂无论文信息

