自从 DSPy 于 2022 年从 Demonstrate–Search–Predict (DSP) 的研究中诞生以来,它已经成为模块化语言模型(LM)程序开发和自动优化的重要框架。在过去的一年中,DSPy 通过 200 多位贡献者的努力,吸引了数以万计的开发者,推动了从提示优化到权重优化的技术进步。如今,DSPy 每月下载量已达 16 万次,GitHub 上的 Star 数量也突破了 1.6 万,成为许多开发者心目中提示优化的代名词。
本文将概述 DSPy 未来几个月的发展计划,包括即将推出的 2.5 版本以及 3.0 的长期目标。如果您有任何建议或希望参与开源贡献,请随时通过提交 Issue 或 Pull Request 的方式加入我们!
🎯 技术目标
DSPy 的核心理念是:为了让语言模型(LM)更有用,我们需要从零散的提示(prompting)转向模块化的 LM 编程(programming)。DSPy 的目标是通过模块和优化器,帮助开发者迭代探索问题,将复杂任务分解为清晰的子任务,并以编程的方式调用 LM。以下是即将推出的版本中需要实现的关键目标:
- 优化核心功能:提升用户体验,让 DSPy 开箱即用。
- 开发更高效、低成本的优化器:在质量、成本和鲁棒性之间实现更好的平衡。
- 构建从 ML 工作流到部署的端到端教程:帮助用户更好地掌握 DSPy 的使用。
- 向交互式优化和跟踪转变:增强实时观测和人机交互能力。
🧑💻 团队与组织
DSPy 的独特之处在于它结合了学术研究与工业实践。作为一个框架,DSPy 不仅推动了语言模型程序的核心研究(如 Demonstrate–Search–Predict 概念、DSPy Signatures 和 LM Assertions),还通过几十位工业贡献者的努力,将这些研究转化为实际应用。
以下是主要团队成员及其贡献领域:
- 项目负责人:Omar Khattab(Stanford & Databricks)
- 项目导师:Chris Potts(Stanford)、Matei Zaharia(UC Berkeley & Databricks)、Heather Miller(CMU & Two Sigma)
- 核心开发团队:Arnav Singhvi、Herumb Shandilya、Hanna Moazam 等
- 优化器开发:Krista Opsahl-Ong、Michael Ryan 等
- 微调与强化学习:Dilara Soylu、Isaac Miller 等
1️⃣ 优化核心功能
在接下来的一个月中,我们的主要目标是完善 DSPy 的核心功能,提升用户体验。DSPy 的核心概念非常精简,仅包括以下四个部分:
- 语言模型(LMs)
- Signatures 和 Modules
- Optimizers(优化器)
- Assertions(断言)
关于语言模型
目前,DSPy 的代码库约有 2 万行,其中一部分是为了支持自定义 LM 接口。然而,随着 LiteLLM 等强大库的出现,我们计划将许多底层接口转移到这些库中,从而减少约 6000 行代码。这将显著提升 DSPy 的模块化程度,并支持更高效的缓存、流式请求和异步操作。
关于 Signatures 和 Modules
DSPy 的 Signatures 是为 LM 交互设计的结构化输入输出接口,首次引入于 2023 年 1 月。未来,我们将进一步优化 Signatures 的抽象,并引入 LM Adapters,作为 Signatures 和 LM 接口之间的转换器。这将支持更复杂的交互,例如多模态 API、非英语语言和结构化输出。
关于微调与部署
虽然 DSPy 已展示了微调对小型 LM 的显著提升,但当前大多数用户仍集中于提示优化。这主要是因为微调的基础设施需求较高。未来,我们将专注于改进数据管理和模型选择流程,使微调更加易用和高效。
2️⃣ 开发更高效、低成本的优化器
优化器是 DSPy 的核心研究方向之一。以下是我们未来六个月的优化目标:
- 质量提升:在相同条件下,优化器的性能比当前版本(如 MIPROv2 和 BetterTogether)提升 20%。
- 成本降低:在数据量少(如仅 10-20 个标注样本)或零样本程序表现较弱的情况下,优化器仍能达到最佳性能。
- 鲁棒性增强:优化器能够在不同的数据分布和任务中保持稳定表现。
3️⃣ 构建端到端教程
虽然 DSPy 的核心语言相对简单,但其工作流涉及许多新兴的 ML 概念。我们计划推出一系列端到端教程,涵盖从数据收集到部署的完整流程。这些教程将帮助用户更好地理解 DSPy 的设计空间和实践方法。
4️⃣ 向交互式优化和跟踪转变
目前,DSPy 提供了一些优化过程的观测和调整工具,例如 inspect_history
和集成的日志记录功能。然而,我们计划进一步提升以下能力:
- 实验跟踪与成本管理:通过与 MLFlow 等工具的深度集成,实现更高效的实验管理。
- 人机交互优化:在 DSPy 3.0 中引入支持实时反馈的新型优化器,推动交互式优化的研究与应用。
🌟 总结
DSPy 的目标是为语言模型开发提供一个模块化、高效且易用的框架。从核心功能的优化到新型优化器的研发,再到交互式优化的探索,DSPy 正在不断推动语言模型编程的边界。如果您对 DSPy 的未来计划感兴趣,欢迎加入我们的开源社区,共同推动这一框架的发展!