提示缓存,但用于 RL 训练——在长提示/短回复负载上实现 7.5 倍加速

Reddit r/LocalLLaMA 工具

摘要

一种面向开源 RL 训练引擎的全新优化技术在训练过程中引入了提示缓存,通过减少冗余计算,在长提示、短回复负载场景下实现了高达 7.5 倍的加速。

大多数开源 RL 引擎采用朴素的方式打包序列:提示 + 回复,对组内的每个样本都重复此操作。这对于短提示、长补全负载尚可,但对于长提示、短补全负载则效率低下。当 G=8 时,若提示为 1000 token,回复为 100 token,你实际上处理了 8800 个 token,而其中只有 1800 个是唯一的。大约浪费了 5 倍的计算量。 修复方案在概念上很简单:只计算一次提示,然后在其后计算所有 G 个回复。这类似于推理阶段的前缀缓存,不同的是训练需要梯度回传通过提示部分,而在直观的实现中这会破坏因果注意力机制。要正确实现这一点,针对全注意力层和线性注意力层需要不同的技巧。你可以在评论中的博客文章里了解更多详情。 Qwen3.5-4B 上的数据: - 16k 提示 / 64 输出 → 7.5x - 16k / 128 → 7.3x - 16k / 1k → 5.4x - 8k / 4k → 1.7x
查看原文

相似文章

API 中的提示词缓存

OpenAI Blog

OpenAI 推出提示词缓存功能,这是一项自动特性,通过在 GPT-4o、GPT-4o mini、o1-preview 和 o1-mini 模型上重用最近缓存的输入令牌,可将 API 成本降低 50% 并改善延迟。该功能会自动应用于超过 1,024 个令牌的提示词,无需开发者进行集成更改。

自监督提示优化

Papers with Code Trending

本文提出了一种名为自监督提示优化(SPO)的框架,该框架通过输出对比来优化大语言模型的提示词,无需外部参考,显著降低了成本和数据需求。