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)的示例。

相关推荐
奥惟斯9 分钟前
GEO 上线前,先把这 3 类实体信号地基补上
人工智能·深度学习·机器学习·自然语言处理·数据挖掘·数据分析·知识图谱
孟陬9 分钟前
Foobar 技术周刊#159:当看不懂代码时,如何高效排障调试。脏页陷阱:一条只读查询,写入数 TB 数据。推测解码:大模型加速利器
前端·人工智能·后端
像风一样自由202014 分钟前
4.DockerCompose是什么为什么算法服务需要多个容器
人工智能·rag·智能体
FII工业富联科技服务18 分钟前
工业智能体技术架构解析:六级部署、核心模块与制造场景实践
人工智能·架构·制造
长不大的杨瑞杰26 分钟前
OpenCode v2 配置工程实战:Config 优先级、JSONC、变量替换与多环境治理
人工智能·安全·云计算·软件工程·devops
.Bryce.34 分钟前
从零到一开发技术名词大全:从需求分析到 AI Agent 工程
java·网络·人工智能·agent·需求分析·agent评测
高升说42 分钟前
手眼方案怎么选:眼在手上与眼在手外的工程对比
人工智能·数码相机
Highcharts.js1 小时前
智能数据分析组件Orbit 正式发布与快速上手体验教程
前端·人工智能·信息可视化·数据分析系统·highcharts·orbit·智能可视化
apple_692658851 小时前
基于 Qwen-Image-2.1 的人物替换 LoRA 模型及部署工作流 人物替换的效果 吊打闭源
人工智能·计算机视觉
甲维斯1 小时前
绝了!Codex找苹果客服解决Claude订阅问题!
人工智能