本文是LLM系列文章,针对《DSPY: COMPILING DECLARATIVE LANGUAGE MODEL CALLS INTO SELF-IMPROVING PIPELINES》的翻译。
DSPY:将声明性语言模型调用编译到自我改进的流程中
摘要
ML 社区正在快速探索促进语言模型 (LM) 并将其堆叠到解决复杂任务的管道中的技术。不幸的是,现有的 LM 管道通常使用硬编码的“提示模板”来实现,即通过反复试验发现的冗长字符串。为了采用更系统的方法来开发和优化 LM 管道,我们引入了 DSPy,这是一种将 LM 管道抽象为文本转换图的编程模型,即通过声明性模块调用 LM 的命令式计算图。 DSPy 模块是参数化的,这意味着它们可以学习(通过创建和收集演示)如何应用提示、微调、增强和推理技术的组合。我们设计了一个编译器,可以优化任何 DSPy 管道以最大化给定的指标。我们进行了两个案例研究,表明简洁的 DSPy 程序可以表达和优化复杂的 LM 管道,这些管道可以推理数学单词问题、处理多跳检索、回答复杂问题和控制代理循环。编译后几分钟内,几行 DSPy 允许 GPT-3.5 和 llama2-13b-chat 自引导管道,其性能优于标准的几次提示(通常分别超过 25% 和 65%)和具有专家创建的演示的管道(分别高达 5-46% 和 16-40%)。最重要的是,为开放且相对较小的 LM(例如 770M 参数 T5 和 llama2-13b-ch