标题:Optimizing Instructions and Demonstrations for Multi-Stage Language Model Programs
作者:Krista Opsahl-Ong, Michael J Ryan, Josh Purtell, David Broman, Christopher Potts, Matei Zaharia, Omar Khattab
摘要:
语言模型程序(即由模块化语言模型调用组成的复杂流水线)正日益推动 NLP 任务的发展,但它们需要精心设计对所有模块都有效的提示。本文研究了语言模型程序的提示优化问题,即如何在无法获取模块级标签或梯度的情况下更新这些提示,以最大化下游指标。为了使该问题易于处理,我们将问题分解为优化每个模块的自由形式指令和少样本演示,并引入了多种策略来构建任务相关的指令,并在模块间进行信用分配。我们的策略包括:(i) 用于提出有效指令的程序感知和数据感知技术;(ii) 用于学习目标函数代理模型的随机小批量评估函数;(iii) 一种元优化过程,用于随时间改进语言模型构建提案的方式。基于这些见解,我们开发了一种新颖的语言模型程序优化算法 MIPRO。在使用顶尖开源模型(Llama-3-8B)的七个多样化多阶段语言模型程序中,MIPRO 在五个程序上优于基线优化器,准确率最高提升 13%。我们已在 DSPy 框架中发布了新的优化器和基准测试,地址为 http://dspy.ai。
主题/分类:
- 主要:计算与语言 (cs.CL)
- 其他:人工智能 (cs.AI);机器学习 (cs.LG)
备注:
本文发表于 EMNLP 2024。Krista 和 Michael 对此工作贡献相同。
提交/修订日期:
- 提交:2024年6月17日 (v1)
- 修订:2024年10月6日 (v2)