TextGrad:案例

原文:Yuksekgonul, M., Bianchi, F., Boen, J. et al. Optimizing generative AI by backpropagating language model feedback. Nature 639, 609--616 (2025). https://doi.org/10.1038/s41586-025-08661-4

目录

  • [Solution optimization](#Solution optimization)
  • [Prompt optimization for reasoning](#Prompt optimization for reasoning)

Solution optimization

在解决方案优化中,目标是改进针对某一问题(例如有关量子力学的问题)的解决方案。我们有如下关系:

在这种情况下,我们优化的参数是解决方案,而损失函数则通过对该解决方案的评估来获得。在每次迭代中,会向大型语言模型输入问题、当前的解决方案以及一条测试时指令,要求其对当前迭代的结果进行评判。尽管 LLM 可能无法在首次尝试时就得出问题的正确解决方案,但它可以通过迭代优化来改进该方案 。

作者在问答数据集中探索解决方案优化。作者使用了谷歌证明问答数据集(GPQA) ,这是一个近期的基准数据集,其中物理、生物和化学方面的选择题由拥有博士学位或正在攻读博士学位的领域专家创建并标注;还使用了大规模多任务语言理解(MMLU) 问答基准数据集中两个具有挑战性的子集(机器学习和大学物理),该基准用于通过本科水平的问题来追踪语言建模的进展情况;同时使用了MathVista 和ScienceQA 来测试科学领域中的视觉问答能力。

借助TextGrad,作者在这些基准测试中提升了gpt-4o的性能。在MMLU子集中,将性能从85.7%提升到了88.4%(机器学习子集),从91.2%提升到了95.1%(大学物理子集),在GPQA数据集中,性能从51.0%提升到了55.0%。对于多模态推理任务,与Reflexion相比,TextGrad在MathVista和ScienceQA-IMG(ScienceQA的多模态设置)上分别实现了2.1%和2.2%的性能提升。

Prompt optimization for reasoning

大型语言模型在推理任务中展现出了令人瞩目的性能,但其性能可能会对用于引导其行为的提示词十分敏感。使用合适的提示词,它们的推理能力能够得到显著提升 。在提示词优化中,目标是找到一个能引导大型语言模型行为的提示词,使其在给定任务上表现出色。通常,我们会有如下这样的一个计算图:

其中包含一个问题、该问题的一个答案,以及一项评估,这项评估根据真实答案来表明输出内容的质量。例如,对于一个问答任务,评估指标可以是答案的准确率。

在这里,给定一些用于优化提示词(prompt)的训练示例,目标是使 LLM 在给定任务上的性能达到最大化。在实验中,目标是利用更强的模型(例如gpt-4o)生成的反馈来提升一个较弱且成本更低的模型(例如gpt-3.5-turbo)的性能 。这项任务在实际应用中很有用,因为在支付了固定成本来优化提示词后,经过提示词优化的较弱模型可以以更低的推理成本投入使用,而无需使用更强但成本更高的模型。值得注意的是,我们可以将一个提示词(prompt)分解为指令(instruction)和上下文示例(in-context examples),并应用相同的策略,利用文本梯度对它们进行联合优化。例如,我们可以使用训练数据集中的输入-输出样本初始化上下文示例(in-context examples),然后使用文本梯度下降法(TGD)对其进行优化。

作者使用了来自"大基准难题集(Big Bench Hard)" 的两个标准推理任务(物体计数和单词排序)以及GSM8k小学算术解题数据集 。在这三个数据集中,TextGrad提升了零样本提示词的性能。TextGrad的表现优于OPRO ,在单词排序任务和GSM8k数据集上,其性能与最先进的提示词优化框架DSPy5相当,而在物体计数任务上,其性能比DSPy5高出7.0%。

作者研究了优化后的提示词的稳健性,发现为gpt-3.5-turbo优化的提示词可以迁移到诸如Qwen-2.5 和Llama-3.2-9B 这样的开源模型上,从而提升它们的性能。

图b:展示了一个针对GSM8k数据集优化后的指令(instruction)示例。

c:展示了一个针对GSM8k数据集优化后的上下文示例演示(in-context examples)的示例。

相关推荐
像风一样自由20203 分钟前
52.Docker部署大模型应用从本地开发到服务化运行
运维·人工智能·docker·容器·大模型·智能体
牛战士coding20 分钟前
AI Agent 如何接入真实业务系统?订单助手三层架构完整拆解
人工智能·架构
·云扬·23 分钟前
Prompt 工程与安全:从 System 设计到注入防御
java·人工智能·安全·ai·prompt
阿明副业观察1 小时前
2026年免费AI视频生成工具功能深度解析:有无水印、中文语音及商业用途考量
大数据·人工智能·ai作画·aigc·音视频·ai写作
收放扳机1 小时前
PCB收放板设备机械手架构选型参考——三轴/四轴/六轴/蜘蛛手对比
人工智能·科技·架构·自动化·制造·pcb工艺
AKAMAI1 小时前
Akamai 宣布与Anthropic达成 116 亿美元多年期协议,以支持其日益增长的需求
人工智能·云计算
甲维斯1 小时前
我把“赶 Deadline”和AI做成了一款游戏
人工智能·游戏开发
Smoothcloud润云2 小时前
PyTorch大模型权重加载与启动耗时优化实战:定位磁盘、内存与显存瓶颈
人工智能·pytorch·python·深度学习·gpu算力
hsfxuebao2 小时前
380K Star 的 OpenClaw 凭什么碾压 Hermes Agent?源码级架构对决——从 Gateway 到 Agent Loop 的五维拆解
人工智能
唠点键盘之外的2 小时前
26 向量数据库实战:从 0 搭一条能用的检索链路(pgvector + Spring AI)
数据库·人工智能·spring