3 个月前

DSPy:将声明式 LLM 调用编译为自提升流水线

DSPy:将声明式 LLM 调用编译为自提升流水线

摘要

机器学习社区正迅速探索用于提示语言模型(Language Models, LMs)的技术,以及将多个模型堆叠为流水线以解决复杂任务的方法。然而,现有的语言模型流水线通常依赖于硬编码的“提示模板”——即通过反复试验获得的冗长字符串,这种方式缺乏系统性与可扩展性。为推动语言模型流水线的系统化开发与优化,我们提出了 DSPy,一种编程模型,将语言模型流水线抽象为文本变换图(text transformation graphs),即通过声明式模块调用语言模型的命令式计算图。DSPy 模块是参数化的,能够通过生成并收集示例(demonstrations)来学习如何组合运用提示工程、微调、数据增强和推理等技术。我们设计了一个编译器,可对任意 DSPy 流水线进行优化,以最大化指定的性能指标。我们开展了两项案例研究,结果表明:简洁的 DSPy 程序能够有效表达并优化复杂的语言模型流水线,实现对数学应用题的推理、多跳信息检索、复杂问题回答以及智能体循环控制等功能。在短短几分钟的编译时间内,仅需几行 DSPy 代码,即可使 GPT-3.5 和 llama2-13b-chat 自行构建出性能更优的流水线,其表现显著优于标准的少样本提示(分别提升超过 25% 和 65%),也优于由专家手工设计的示范提示流水线(分别提升 5%–46% 和 16%–40%)。此外,将 DSPy 程序编译至开源且参数量相对较小的模型(如 7.7 亿参数的 T5 和 llama2-13b-chat)后,其性能仍可与依赖专有 GPT-3.5 的专家编写提示链的方法相媲美。DSPy 已开源,项目地址为:https://github.com/stanfordnlp/dspy

代码仓库

stanfordnlp/dsp
pytorch
GitHub 中提及
stanfordnlp/dspy
官方
pytorch
GitHub 中提及

基准测试

用 AI 构建 AI

从想法到上线——通过免费 AI 协同编程、开箱即用的环境和市场最优价格的 GPU 加速您的 AI 开发

AI 协同编程
即用型 GPU
最优价格
立即开始

Hyper Newsletters

订阅我们的最新资讯
我们会在北京时间 每周一的上午九点 向您的邮箱投递本周内的最新更新
邮件发送服务由 MailChimp 提供
DSPy:将声明式 LLM 调用编译为自提升流水线 | 论文 | HyperAI超神经