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

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)的示例。
相关文章:
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 optimizationPrompt optimization for rea…...
kafka 4.x docker启动kafka4.0.0 docker-compose启动最新版kafka 如何使用docker容器启动最新版kafka
1. 镜像选择标签: https://hub.docker.com/r/bitnami/kafka/tags 2. 命令: docker pull bitnami/kafka:4.0.0 3. docker-compose.yml 启动kafka4.0.0: version: 3services:kafka:image: bitnami/kafka:4.0.0container_name: kafkaports:- &…...
Next.js 中间件鉴权绕过漏洞 (CVE-2025-29927) 复现利用与原理分析
免责声明 本文所述漏洞复现方法仅供安全研究及授权测试使用; 任何个人/组织须在合法合规前提下实施,严禁用于非法目的; 作者不对任何滥用行为及后果负责,如发现新漏洞请及时联系厂商并遵循漏洞披露规则。 漏洞原理 Next.js 是一个…...
C#Lambda表达式与委托关系
1. 核心关系图示 A[委托] --> B[提供方法容器] B --> C[Lambda表达式] C --> D[委托实例的语法糖] A --> E[类型安全约束] C --> F[编译器自动生成委托实例] 2. 本质联系 2.1 类型关系 Lambda表达式是编译器生成的委托实例表达式自动匹配符合签名的…...
AOA与TOA混合定位,MATLAB例程,自适应基站数量,三维空间下的运动轨迹,滤波使用EKF
本代码实现了一个基于 到达角(AOA) 和 到达时间(TOA) 的混合定位算法,结合 扩展卡尔曼滤波(EKF) 对三维运动目标的轨迹进行滤波优化。代码通过模拟动态目标与基站网络,展示了从信号测量、定位解算到轨迹滤波的全流程,适用于城市峡谷、室内等复杂环境下的定位研究。 文…...
Uni-app入门到精通:subPackages节点为小程序的分包加载配置
subPackages节点用于为小程序的分包加载配置。因小程序有体积和资源加载限制,各小程序平台提供了分包方式,以加快小程序的下载和启动速度。主包用于放置默认启动页面、babBar页面,以及一些所有分包都会用到的公共资源或JS脚本;而分…...
如何编写单元测试
一、前言知识 1.开发过程 需求分析->设计->开发->测试->上线 2.测试种类 单元测试(测试模块编码)、黑盒测试(测试功能是否满足需求)、白盒测试(测试程序内部的逻辑结构)、回归测试(提出的缺陷进行二次验证)、集成测试(测试主要的业务功能及模块间的整合性)、系…...
Linux系统编程 | 线程的基本概念
💓个人主页:mooridy 💓专栏地址:Linux 关注我🌹,和我一起学习更多计算机的知识! 🔝🔝🔝 什么是线程 程序中的一个执行路线就叫做线程 一个进程至少要有一个执行线程,单…...
C语言之数据结构:双向链表
个人主页:云纳星辰怀自在 座右铭:“所谓坚持,就是觉得还有希望!” 前言 前文阐述了数据结构中单向链表的定义、分类和实际应用。本文将重点阐述带哨兵节点的双向循环链表。 1. 带头双向循环链表 带头双向循环链表 是一种特殊的链…...
剑指Offer62 -- 约瑟夫环
1. 题目描述 圆圈中最后剩下的数字 2. 约瑟夫环 人们站在一个等待被处决的圈子里。 计数从圆圈中的指定点开始,并沿指定方向围绕圆圈进行。 在跳过指定数量的人之后,处刑下一个人。 对剩下的人重复该过程,从下一个人开始,朝同一方…...
RAG生成中的多文档动态融合及去重加权策略探讨
目录 RAG生成中的多文档动态融合及去重加权策略探讨 一、RAG生成概述 二、多文档动态融合策略 1. 拼接与分段编码 2. 独立编码与后续融合 3. 基于查询的动态加权 三、检索结果的去重与加权策略 1. 去重策略 2. 加权策略 四、实践中的挑战与思考 五、结语 RAG生成中的…...
jdk21使用Vosk实现语音文字转换,免费的语音识别
1.下载vosk的model vosk官网:https://alphacephei.com/vosk/models 我这里使用较小的vosk-model-small-cn-0.22 2.添加相关pom文件 <!-- 获取音频信息 --><dependency><groupId>org</groupId><artifactId>jaudiotagger</artifac…...
I.MX6ULL 开发板上挂载NTFS格式 U 盘
I.MX6ULL 开发板上挂载NTFS格式 U 盘 挂载失败安装NTFS-3G安装失败成功安装 移植挂载成功卸载U盘 挂载失败 我使用的U盘的格式是NTFS格式的 插入U盘时会有信息 我使用的是闪迪的U盘,大小标称是 32G ,实际能用的只有 28G 左右 可以使用lsblk命令查看磁盘…...
性能测试~
1.什么是性能测试 1.什么是性能 就像这两个车一样,虽然都是代步工具,构造都是一样的,但是路虎的发动机要比捷达好.路虎的百米加速却是比捷达快的,我们就知道路虎的性能要比捷达好 . 那么什么是软件的性能呢?我们分析一下 2.常见的性能测试指标 2.1并发数 并发数是指在同一…...
排查使用RestTemplate远程调用,@RequestBody注解接收不到实体类
做项目学习,使用RestTemplate远程调用,从order订单系统调用pay支付系统,出现使用Request做远程接收。 代码的逻辑很简单,但就是没有接收到实体类 1. 猜想是不是没有序列化和初始化方法? 这个好排查,看Pay和…...
数据库同步中间件PanguSync:如何跳过初始数据直接进行增量同步
某些用户在使用数据库同步中间件PanguSync时说,我不想进行初次的全量同步,我已经源备份还原到目标库了,两边初始数据一样,想跳过初始数据,直接进行增量同步,该怎么设置。 直接上干货,按如下步骤…...
javaWeb Router
一、路由简介 1、什么是路由? - 定义:路由就是根据不同的 URL 地址展示不同的内容或页面。 - 通俗理解:路由就像是一个地图,我们要去不同的地方,需要通过不同的路线进行导航。 2、路由的作用 - 单页应用程序…...
qwen2.5vl技术报告解读
一. 首先qwen2.5vl模型特点 全能文档解析能力 升级文本识别至全场景文档解析,擅长处理多场景、多语种及复杂版式文档(含手写体、表格、图表、化学方程式、乐谱等),实现跨类型文档的精准解析。 跨格式精准目标定位 突破格式限制,大幅提升对象检测、坐标定位与数量统计精度,…...
【Linux】进程的详讲(上)
目录 📖1、冯诺依曼体系结构 📖2、硬件介绍 📖3、内存的重要性 📖4、程序运行的步骤 📖5、QQ聊天时的数据流动 📖6、操作系统 📖7、操作系统的目的 📖8、操作系统是如何…...
高精度除法
除数与被除数都是大整数 代码 #include<bits/stdc.h> using namespace std; typedef long long ll; string a,b; vector<int>dend,sor; bool aisbigger(vector<int>&a,vector<int>&b){if(a.size()!b.size())return a.size()>b.size();for…...
Android面试总结之Glide源码级理解
当你的图片列表在低端机上白屏3秒、高端机因内存浪费导致FPS腰斩时,根源往往藏在Glide的内存分配僵化、磁盘混存、网络加载无优先级三大致命缺陷中。 本文从阿里P8级缓存改造方案出发,结合Glide源码实现动态内存扩容、磁盘冷热分区、智能预加载等黑科技&…...
Pyside6 开发 使用Qt Designer
使用Qt Designer 在Scripts目录下打开pyside6-designer.exe 分别将姓名、年龄、爱好对应的输入框的ObjectName 设置为 uname、uage、ulike 提交按钮Object设置为 btnSubmit 点击保存文件 ,命名为student.ui 将.ui文件编程成.py文件 pyside6-uic student.ui -o st…...
PyQt6实例_批量下载pdf工具_使用pyinstaller与installForge打包成exe文件
目录 前置: 步骤: step one 准备好已开发完毕的项目代码 step two 安装pyinstaller step three 执行pyinstaller pdfdownload.py,获取初始.spec文件 step four 修改.spec文件,将data文件夹加入到打包程序中 step five 增加…...
局域网共享失败?打印机/文件夹共享工具
很多时候,在办公或家庭环境中,我们需要进行打印机和文件夹的共享,以便更高效地协作和处理文件。然而,寻找对应版本的共享设置或是不想花费太多时间去进行复杂的电脑设置,总是让人感到头疼。今天,我要向大家…...
DeepSeek-V3-250324: AI模型新突破,性能超越GPT-4.5
DeepSeek 于 3 月 25 日宣布完成 V3 模型的小版本升级,推出 DeepSeek-V3-250324 版本。新版本在推理能力、代码生成、中文写作及多模态任务上实现显著优化,尤其在数学和代码类评测中得分超越 GPT-4.5,引发行业高度关注。 DeepSeek-V3-250324…...
第R9周:阿尔兹海默症诊断(优化特征选择版)
🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 文章目录 1、导入数据2、数据处理2.1 患病占比2.2 相关性分析2.3 年龄与患病探究 3、特征选择4、构建数据集4.1 数据集划分与标准化4.2 构建加载 5、构建模型6…...
19726 星际旅行
19726 星际旅行 ⭐️难度:困难 🌟考点:Dijkstra、省赛、最短路问题、期望、2024 📖 📚 import java.util.*;public class Main {static int N 1005;static ArrayList<Integer>[] g new ArrayList[N]; // …...
DeepSeek大模型应用开发新模式
DeepSeek大模型应用全景技术架构 DeepSeek大模型 VS 主流大模型 DeepSeek大模型系统提示词 VS 主流大模型 DeepSeek大模型迭代版本 DeepSeek专业化模型分类 DeepSeek大模型部署所需显存资源 DeepSeek不同参数模型及应用场景 DeepSeek大模型安装部署技术选型...
代码随想录动态规划05
74.一和零 视频讲解:动态规划之背包问题,装满这个背包最多用多少个物品?| LeetCode:474.一和零_哔哩哔哩_bilibili 代码随想录 给你一个二进制字符串数组 strs 和两个整数 m 和 n 。 请你找出并返回 strs 的最大子集的大小&#…...
Next.js 深度解析:全栈React框架的架构哲学与实践精髓
Next.js 作为 React 生态中最流行的全栈框架,已经超越了简单的SSR工具,发展成为完整的Web开发解决方案。以下从八个维度进行深度剖析: 一、核心架构设计 双引擎驱动模型 页面路由系统:基于文件系统的约定式路由渲染引擎ÿ…...
