当前位置: 首页 > news >正文

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
  • Prompt optimization for reasoning

fig1

Solution optimization

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

在这种情况下,我们优化的参数是解决方案,而损失函数则通过对该解决方案的评估来获得。在每次迭代中,会向大型语言模型输入问题、当前的解决方案以及一条测试时指令,要求其对当前迭代的结果进行评判。尽管 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

大型语言模型在推理任务中展现出了令人瞩目的性能,但其性能可能会对用于引导其行为的提示词十分敏感。使用合适的提示词,它们的推理能力能够得到显著提升 。在提示词优化中,目标是找到一个能引导大型语言模型行为的提示词,使其在给定任务上表现出色。通常,我们会有如下这样的一个计算图:
eq3
其中包含一个问题、该问题的一个答案,以及一项评估,这项评估根据真实答案来表明输出内容的质量。例如,对于一个问答任务,评估指标可以是答案的准确率。

在这里,给定一些用于优化提示词(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 这样的开源模型上,从而提升它们的性能。

figb

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

figc

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

http://www.dtcms.com/a/96686.html

相关文章:

  • 生成信息提取的大型语言模型综述
  • Java异常架构
  • 音频知识 参数分析
  • 决策树算法详解:从西瓜分类到实战应用
  • 第一天学习 TypeScript :从零基础到环境搭建与基础语法实践
  • 2025 年吉林省燃气企业从业人员考试:实用备考攻略与考试提分要点​
  • ai画图comfyUI 精准定位gligen。允许指定图像中多个对象的位置和大小
  • 近场探头的选型
  • cnas实验室认证是什么?cnas认证有什么意义?对企业发展的好处
  • 详解c++中万能引用、完美转发、类型推导
  • ubuntu24.04.2 NVIDIA GeForce RTX 4060笔记本安装驱动
  • TCP 的 time_wait 有什么作用
  • Zookeeper特性与节点数据类型
  • 【模板】最小生成树
  • docker-Dify外接Fastgpt知识库
  • img 的 onerror属性
  • 实战打靶集锦-33-Bottleneck
  • CD19.【C++ Dev】类和对象(10) 日期类对象的成员函数(日期+天数)
  • django orm的优缺点
  • 数据结构与算法——顺序表的实现以及增、插、删、查、印、毁
  • MySQL-- 多表查询的分类,SQL92与SQL99,7种JOIN的实现,SQL99语法的新特性
  • Postman 全局 Header 如何设置?全局设置了解一下
  • 接口用例设计原则
  • 旋转变换原理
  • 养老更安心!智绅科技“智慧”养老系统,智在何处?
  • A SAM-guided Two-stream Lightweight Model for AnomalyDetection
  • springBoot统一响应类型3.3版本
  • 4、网工软考—VLAN配置—hybird配置
  • 以科技赋能,炫我云渲染受邀参加中关村文化科技融合影视精品创作研讨会!
  • 《白帽子讲 Web 安全》之跨站请求伪造