论文:Can Textual Gradient Work in Federated Learning?
作者:Minghui Chen, Ruinan Jin, Wenlong Deng, Yuanyuan Chen, Zhi Huang, Han Yu, Xiaoxiao Li (UBC, Vector Institute, NTU, Penn)
会议:ICLR 2025
arXiv:https://arxiv.org/abs/2502.19980
代码:https://github.com/ubc-tea/FedTextGrad
🔥 一句话总结
FedTextGrad 把 TextGrad(用自然语言反馈当"梯度"来优化 prompt)塞进了 联邦学习(FL)的框架。不用传模型参数,不用算数值梯度,各客户端用本地数据优化 prompt,然后上传文本化的 prompt到服务器聚合。核心挑战:怎么把多个客户端的 prompt 合并成一个?简单拼接会超长,LLM 总结会丢失关键信息。解法是 Uniform Information Density(UID)——让信息在聚合后的 prompt 中均匀分布,既省 token 又保留精华。
🎯 背景:两个问题各玩各的,现在撞上了
问题1:TextGrad —— 没有数值梯度,怎么优化?
传统深度学习用反向传播:loss → 数值梯度 → 更新参数。但如果你的"模型"是黑盒 LLM API(ChatGPT、Claude),你连 loss 都拿不到,更别提梯度了。
TextGrad(Yuksekgonul et al., 2024)的解法很优雅:把"梯度"变成文本反馈。
Query + Prompt → LLM → Response
Response + Evaluation Instruction → LLM → Evaluation Score + Textual Feedback
Textual Feedback → LLM-as-Optimizer → Updated Prompt
这里的 "gradient" 不是数字,而是自然语言:"This response can be improved by adding more step-by-step reasoning..." LLM 把这段反馈当 "gradient",用 TGD(Textual Gradient Descent)更新 prompt。
问题2:联邦学习 —— 数据不出域,怎么协同训练?
传统 FL(FedAvg):各客户端本地训练 → 上传模型参数/梯度 → 服务器聚合 → 下发全局模型。但这要求:
- 能计算数值梯度(需要 loss 可微)
- 模型参数可上传( LLM 参数太大,API 也不让直接传)
当 LLM 是黑盒 API 时,传统 FL 玩不转。
碰撞:能不能把 TextGrad 的"文本梯度"在联邦框架里传?
这就是 FedTextGrad 的问题。不是传模型参数,而是传优化后的 prompt——文本而已,轻量、可解释、不需要访问模型内部。
🧠 架构:FedAvg 的文本版
Round t:
┌─────────────────────────────────────────┐
│ Server: 持有全局 Prompt P^t │
│ 下发 P^t 给所有客户端 │
└─────────────────────────────────────────┘
↓
┌─────────────────────────────────────────┐
│ Client i (本地数据 D_i): │
│ 1. Prompt → LLM → Response │
│ 2. Response → Evaluation → Score + Feedback│
│ 3. Textual Gradient Descent → P_i^{t+1} │
│ (本地跑 E 个 epoch) │
└─────────────────────────────────────────┘
↓ 上传 P_i^{t+1}
┌─────────────────────────────────────────┐
│ Server: PromptAgg([P_1, P_2, ..., P_N]) │
│ 策略1: Concat(拼接)→ 太长,超 context │
│ 策略2: Summarize(LLM 总结)→ 信息丢失 │
│ 策略3: UID Summarize → 信息均匀分布 ✓ │
└─────────────────────────────────────────┘
↓ 下发 P^{t+1}
下一轮...
关键区别
| 维度 | 传统 FL (FedAvg) | FedTextGrad |
|---|---|---|
| 上传什么 | 模型参数/梯度 | 优化后的 prompt(文本) |
| 聚合方式 | 数值平均 | 文本拼接/总结 |
| 对 loss 的要求 | 需要可微 | 不需要——用 LLM 评估 |
| 对模型的要求 | 白盒(参数可访问) | 黑盒 API 即可 |
| 通信成本 | 模型参数量级 | 文本长度(通常更轻) |
| 隐私保护 | 参数上传仍有风险 | 只传 prompt,不泄露原始数据 |
🔬 核心挑战:Prompt 聚合的信息悖论
FedTextGrad 的瓶颈不在本地训练,而在服务器端的 prompt 聚合。
策略1:Concatenation(拼接)
把所有客户端的 prompt 直接拼在一起:
Global Prompt = [Client 1 Prompt] + [Client 2 Prompt] + ... + [Client N Prompt]
问题:N 个客户端,每个 prompt 几百 token,拼接后轻松超过 LLM 的 context window(4K/8K/32K)。尤其当 client 数多、local steps 大时,prompt 爆炸。
策略2:Summarization(LLM 总结)
用 LLM 把多个 prompt 总结成一个:
LLM: "Summarize the following prompts into one concise global prompt..."
问题:总结会丢失关键信息。不同客户端的 prompt 可能有互补的洞察,但 LLM 总结时倾向于"取平均"或"选最频繁的",导致:
- 少数客户端的独特优化被淹没
- 复杂的推理策略被过度简化
- 性能显著下降(实验证实)
策略3:UID Summarization(均匀信息密度)★
这是 FedTextGrad 的核心改进。Uniform Information Density(UID) 是语言学/认知科学的概念:人在交流时,信息会以均匀的速度释放,既不会一段太密(难消化)也不会一段太空(无聊)。
FedTextGrad 把这个原理应用到 prompt 聚合:
核心洞察:总结后的 prompt 性能差,不是因为信息总量不够,而是因为信息分布不均匀——某些段落挤满了多个客户端的 insight,某些段落却空洞无物。
解法:在 summarization prompt 中加入 UID 指导:
"Summarize the following prompts. Ensure that:
1. Each sentence carries a similar amount of information
2. No single paragraph is overloaded with multiple concepts
3. Critical insights from all clients are distributed evenly"
效果:聚合后的 prompt 更短(省 token),但保留的关键信息更多,LLM 推理时不会因为信息过载或欠载而困惑。
📊 实验发现:联邦 Prompt 优化可行,但敏感
任务设置
- 数据集:BBH Object Counting、BBH Multistep Arithmetic、GSM8k Math
- 模型:Llama-3.1-8B(本地部署,同时充当推理引擎和优化器)
- FL 设置:同质/异质数据分布,3-33 个客户端
关键发现
1. Local Steps 不能太多
传统 FL 中,增加 local steps 可以减少通信轮次。但 FedTextGrad 里,local steps 太多会导致客户端漂移(client drift)——每个客户端的 prompt 朝着自己的本地最优跑,越来越发散,聚合后反而更差。
实验:local steps 从 3 增加到 33,性能显著下降。TextGrad 在中心化设置下可以跑很多步,但在 FL 里必须频繁同步。
2. Client 数量有"甜蜜点"
客户端太少:数据多样性不足,泛化差。客户端太多:通信 overhead + 异质性增加,聚合难度指数级上升。
实验:Object Counting 任务上,client 数从 3 增加到 33,性能持续下降。说明该任务对 prompt 的异质性非常敏感。
3. Batch Size 有阈值
小 batch:更新频繁但噪声大。大 batch:更稳定但更新少,适应慢。
实验:batch size 增大初期提升性能,但超过阈值后下降——因为 prompt 更新太慢,无法及时适应数据分布变化。
4. UID Summarization 显著优于 Vanilla
在聚合策略的对比中:
- Concatenation:context window 爆炸,不可用
- Vanilla Summarization:性能损失大
- UID Summarization:在更短的 prompt 长度下,保留更多性能
💡 为什么 FedTextGrad 重要
1. 联邦学习的新范式:从"传参数"到"传提示词"
传统 FL 假设模型是白盒、参数可上传。但 LLM 时代,大多数应用通过 API 访问模型,参数不可见、不可传。FedTextGrad 提出了一条新路:不传模型,传提示词。这让 FL 可以扩展到:
- 云 API 场景(ChatGPT、Claude、Gemini)
- 边缘设备(手机、IoT)——prompt 比模型参数轻量得多
- 跨组织协作(医院、银行)——只共享优化后的提示策略,不共享原始数据或模型
2. TextGrad 的分布式扩展
TextGrad 本身是中心化方法。FedTextGrad 证明:文本梯度可以在分布式环境下聚合,虽然比数值梯度更脆弱(对 summarization 质量敏感),但可行。
3. UID 原理的跨域迁移
Uniform Information Density 本是语言学概念,被借用到 prompt engineering 中。这暗示了一个更大的研究方向:认知科学/语言学原理可以用来设计更好的 LLM 交互策略。信息密度、认知负荷、工作记忆限制——这些人类沟通的基本原则,可能也是 LLM 推理的优化方向。
4. 隐私-效用权衡的新维度
传统 FL 的隐私分析围绕"梯度泄露多少信息"。FedTextGrad 的隐私分析完全不同:
- prompt 泄露了什么?可能比梯度更直观(可读文本),但也可能更少(不包含原始数据)
- 需要新的隐私分析框架来评估"文本更新"的信息泄露
⚠️ 局限与开放问题
1. 任务范围有限
实验只在推理任务(数学、计数、算术)上测试。更复杂的任务:
- 多轮对话:prompt 如何累积对话历史?
- 代码生成:不同客户端的代码风格差异巨大,prompt 聚合可能产生混乱的混合风格
- 创意写作:主观性强,没有 ground truth,evaluation 怎么设计?
2. 评估依赖本地 LLM
实验用 Llama-3.1-8B 本地部署,既做推理又做优化。如果用 API(GPT-4):
- 成本:每个 client、每个 round、每个 batch 都要调用 API,费用可能很高
- 延迟:FL 的同步轮次 × API 调用次数 = 总时间可能很长
3. 聚合策略的鲁棒性
UID summarization 虽然比 vanilla 好,但本质上还是依赖 LLM 的总结能力。如果:
- 客户端 prompt 风格差异极大(中英文混杂、不同 prompt engineering 风格)
- 恶意客户端上传对抗性 prompt
- 客户端数据极度异质(一个做医疗,一个做法律,一个做金融)
聚合的稳定性尚未验证。
4. 缺乏理论保证
传统 FL 有收敛性证明(FedAvg 在 convex 条件下的收敛)。FedTextGrad 的文本优化是非凸、非连续、基于自然语言的,目前没有理论保证收敛。实验中的性能下降(client 数增加、local steps 增加)暗示了收敛的脆弱性。
5. 与已有 FL-for-LLM 方法的对比
论文提到了 OpenFedLLM、FederatedScope-LLM、FedbiOT、FFA-LoRA 等工作。这些方法大多在白盒 LLM(本地部署、可微调参数)上做 FL。FedTextGrad 的优势是黑盒 API 兼容,但代价是性能可能不如参数级 FL 方法。
🎯 应用场景
- 企业级 prompt 优化:多个部门(客服、销售、技术支持)各自优化 prompt,然后安全地聚合出全局最优 prompt
- 跨机构医疗 AI:各医院用本地病例优化诊疗 prompt,共享优化策略但不共享病历
- 教育个性化:每个学生/班级优化自己的学习辅导 prompt,学校层面聚合出通用模板
- 边缘智能:手机/IoT 设备在本地优化提示策略,云端聚合,轻量通信
📚 核心信息
- 论文:Can Textual Gradient Work in Federated Learning? (ICLR 2025)
- 作者:Minghui Chen et al. (UBC, Vector Institute, NTU, Penn)
- 代码:https://github.com/ubc-tea/FedTextGrad
- 基础:TextGrad (Yuksekgonul et al., 2024) + FedAvg (McMahan et al., 2017)
- 核心创新:联邦环境下的文本梯度聚合,UID 指导的 summarization
- 实验模型:Llama-3.1-8B(本地部署,推理+优化一体)
- 任务:BBH Object Counting / Multistep Arithmetic / GSM8k Math
- 关键洞察:local steps 不能多、client 数有阈值、batch size 有阈值、UID summarization > vanilla
"FedTextGrad 证明:即使不碰模型参数,也能在联邦框架下协同优化 LLM。提示词就是新的参数,文本梯度就是新的反向传播,而怎么把多个提示词'平均'成一个——这可能是比数值平均更深刻的挑战。"
#FedTextGrad #联邦学习 #TextGrad #Prompt优化 #LLM #ICLR2025 #文本梯度 #隐私计算 #分布式AI #小凯
讨论回复
0 条回复还没有人回复,快来发表你的看法吧!
推荐
智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。