Press "Enter" to skip to content

这篇AI论文介绍了DSPy:一种将语言模型流水线抽象为文本转换图的编程模型

语言模型 (LMs) 让研究人员能够使用更少的数据和更高级的理解水平创建自然语言处理系统。这导致了一个不断增长的“提示”方法和轻量级微调技术的领域,以使 LMs 适用于新任务。然而,问题在于 LMs 对于每个任务如何提问可能非常敏感,而且当在一个单一过程中进行多个 LM 交互时,这个问题变得更加复杂。

机器学习(ML)社区一直在积极探索提示语言模型 (LMs) 和构建处理复杂任务的流水线的方法。不幸的是,现有的 LM 流水线常常依赖于通过试错方法发现的冗长的“提示模板”。为了寻求一种更系统的开发和优化 LM 流水线的方法,包括斯坦福大学在内的多个机构的研究人员引入了 DSPy,这是一个将 LM 流水线抽象为文本转换图的编程模型。这些本质上是命令式计算图,其中通过声明性模块调用 LMs。

DSPy 中的模块是参数化的,这意味着它们可以通过创建和收集演示来学习如何应用组合的提示、微调、增强和推理技术。他们设计了一个编译器,用于优化任何 DSPy 流水线以最大化指定的度量。

DSPy 编译器的目标是提高任何 DSPy 程序的质量或成本效益。编译器以程序本身作为输入,还包括一小组训练输入,可能包括可选的标签和用于性能评估的验证指标。编译器的操作是使用提供的输入模拟程序的不同版本,并为每个模块生成示例跟踪。这些跟踪用于自我改进,并用于在流水线的各个阶段创建有效的少样本提示或微调较小的语言模型。

值得一提的是,DSPy 优化的方式非常灵活。他们使用了称为“电视提示器”的工具,这些工具可确保系统的每个部分以最佳方式从数据中学习。

通过两个案例研究,已经证明了简明的 DSPy 程序可以表达和优化复杂的 LM 流水线,能够解决数学问题、处理多跳检索、回答复杂问题和控制代理循环。在编译后的几分钟内,几行 DSPy 代码使 GPT-3.5 和 llama2-13b-chat 能够自我引导流水线,其性能较标准的少样本提示提高了 25% 和 65%。

总之,这项工作将 DSPy 编程模型及其相关的编译器引入自然语言处理领域,提出了一种创新的方法。通过将复杂的提示技术转化为参数化的声明性模块,并利用通用的优化策略 (电视提示器),这项研究提供了一种新的构建和优化 NLP 流水线的非常高效的方式。

Leave a Reply

Your email address will not be published. Required fields are marked *