LLM-AutoDiff: Auto-Differentiate Any LLM Workflow

2025年01月28日
  • 简介
    大型语言模型(LLMs)已经重塑了自然语言处理领域,推动了从多跳检索和问答到自主代理工作流等多种应用的发展。然而,提示工程——即精心设计文本输入以有效指导LLMs的任务——仍然困难且劳动密集,尤其是在涉及多个LLM调用与功能操作(如检索和数据格式化)相结合的复杂管道中。我们引入了LLM-AutoDiff:一种新颖的自动提示工程技术框架(APE),该框架扩展了基于文本梯度的方法(例如Text-Grad),适用于多组件、可能循环的LLM架构。LLM-AutoDiff在AdalFlow库中实现,将每个文本输入视为可训练参数,并使用冻结的反向引擎LLM生成类似于文本梯度的反馈,以指导迭代提示更新。与之前的单节点方法不同,LLM-AutoDiff固有地适应功能节点,在重复调用中保留时间序列行为(例如,多跳循环),并通过隔离不同的子提示(指令、格式或少量示例)来解决“中间迷失”问题。它还通过选择性梯度计算专注于易出错的样本,从而提高训练效率。在包括单步分类、多跳检索问答和代理驱动管道在内的各种任务中,LLM-AutoDiff在准确性和训练成本方面始终优于现有的文本梯度基线。通过以图为中心的视角统一提示优化,LLM-AutoDiff提供了一种强大而新颖的范式,用于扩展和自动化LLM工作流——类似于自动微分库长期以来在神经网络研究中所起的变革性作用。
  • 图表
  • 解决问题
    论文试图解决的问题是自动化和优化大型语言模型(LLM)的提示工程(prompt engineering),这是一个复杂且耗时的任务,特别是在涉及多步骤或多组件的工作流程中。这并不是一个全新的问题,但现有的方法在处理复杂的、多阶段的LLM应用时效果不佳。
  • 关键思路
    关键思路是引入了一个名为LLM-AutoDiff的新框架,该框架通过将每个文本输入视为可训练参数,并利用冻结的反向引擎LLM生成类似文本梯度的反馈来指导迭代式的提示更新。这种方法不仅适用于单个LLM调用,还能够处理包含多个LLM调用及功能性操作(如检索和数据格式化)的复杂工作流。相比现有方法,LLM-AutoDiff更高效地解决了‘中间迷失’问题,并通过选择性梯度计算提高了训练效率。
  • 其它亮点
    论文的亮点包括:1) LLM-AutoDiff能够在多种任务上超越现有的文本梯度基线方法,在准确性和训练成本方面表现出色;2) 实验设计涵盖了从单一分类到多跳检索问答再到代理驱动管道等多种任务;3) 使用了AdalFlow库实现,并且开源代码可以促进进一步的研究;4) 提出了隔离不同子提示的方法,有助于更好地理解和改进复杂的工作流。未来值得继续深入研究的方向包括扩展框架以支持更多类型的LLM架构和应用场景。
  • 相关研究
    最近在这个领域内还有其他相关研究,例如Text-Grad等文本梯度方法,它们为LLM-AutoDiff提供了理论基础。其他相关研究还包括:《Automated Prompt Engineering for Large Language Models》、《Prompt Tuning: A Parameter-Efficient Alternative to Fine-Tuning for Natural Language Processing》、《Optimizing Prompts for Few-Shot Learning with Large Pretrained Models》等。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论