跳至内容

DSPy中的优化

一旦你有了一个系统和评估方法,就可以使用DSPy优化器来调整程序中的提示或权重。现在,除了你一直在用于探索的开发集之外,将数据收集工作扩展到构建训练集和保留测试集是很有用的。对于训练集(及其子集,验证集),通常30个示例就能带来显著价值,但目标是至少300个示例。一些优化器只接受trainset。其他优化器要求提供trainsetvalset。对于提示优化器,我们建议从20%的训练分割和80%的验证分割开始,这通常与深度神经网络的做法相反

在最初的几次优化运行之后,您要么对一切都很满意,要么已经取得了很大进展,但对最终程序或指标有些不满意。此时,回到步骤1(使用DSPY编程)并重新审视主要问题。您是否很好地定义了任务?是否需要为问题收集(或在线查找)更多数据?是否想更新指标?是否想使用更复杂的优化器?是否需要考虑像DSPY断言这样的高级功能?或者,也许最重要的是,是否想在DSPY程序本身中添加更多复杂性或步骤?是否想按顺序使用多个优化器?

迭代开发是关键。DSPy为您提供了逐步实现这一目标的组件:迭代您的数据、程序结构、断言、指标和优化步骤。优化复杂的语言模型程序是一个全新的范式,在撰写本文时仅存在于DSPy中(更新:现在有许多DSPy扩展框架,因此这部分不再成立 :-)),因此关于该做什么的规范仍在形成中。如果您需要帮助,我们最近为社区创建了一个Discord服务器

优云智算