在大型语言模型(LLM)的强化学习训练中,如何平衡模型的探索(exploration)与利用(exploitation)一直是核心难题。传统方法如PPO(Proximal Policy Optimization)通过固定KL散度约束来控制策略更新幅度,但忽视了模型在不同推理阶段的不确定性差异。自适应熵策略优化(Adaptive-Entropy Policy Optimization, AEPO)的创新之处在于,它首次将信息熵作为动态信号引入策略优化过程。
AEPO的核心思想源自对人类推理过程的观察:当面对复杂问题时,我们会在关键决策点放慢思考速度(表现为高熵状态),而在简单步骤快速通过(低熵状态)。这种动态调整的"思考强度"正是AEPO希望模型学会的能力。
具体实现上,AEPO包含两大核心机制:
这种动态调整通过三个关键参数实现:
从信息几何视角看,AEPO实际上在策略空间的黎曼流形上构建了自适应的信任域。传统方法使用各向同性的KL球作为约束,而AEPO通过熵信号识别出"推理方向",在该方向上放松曲率约束,形成椭圆形的信任域。
数学上,这对应于对Fisher信息矩阵的加权修正:
code复制F_β = (1/L) Σ β_t F_t
其中β_t在非高熵窗口为1,在高熵窗口降为ρ。这种调整使得策略更新在高熵方向获得更大步长,同时保持其他方向的稳定性。
AEPO的实现基于Qwen2.5-VL系列模型,采用两阶段训练策略:
阶段一:监督微调(SFT)
阶段二:AEPO优化
动态采样策略(DAPO)
AEPO继承自DAPO的三个重要改进:
python复制# 伪代码实现
def DAPO_loss(θ):
advantages = compute_group_relative_advantages()
ratios = πθ(a|s) / π_old(a|s)
surr1 = ratios * advantages
surr2 = clip(ratios, 1-ε, 1+ε) * advantages
return -min(surr1, surr2).mean()
窗口熵聚合实现
python复制def windowed_entropy(entropies, w=8):
# entropies: [seq_len]
kernel = torch.ones(w) / w
return F.conv1d(entropies[None,None,:], kernel[None,None,:], padding=w//2)[0,0]
AEPO根据问题难度动态调整熵奖励曲线:
| 难度等级 | pass@8阈值 | 奖励特性 | KL目标δ | 熵权重λ |
|---|---|---|---|---|
| 简单 | ≥6 | 惩罚高熵 | 小 | 小 |
| 中等 | 3-5 | 对称调节 | 中 | 中 |
| 困难 | ≤2 | 奖励高熵 | 大 | 大 |
这种设计带来显著优势:
传统观点将KL散度仅视为正则项,而AEPO揭示了其更深层的经济学含义:
作为思维预算约束
通过拉格朗日对偶变换,KL约束等价于:
code复制max E[r] s.t. E[D_KL] ≤ δ
其中δ可解释为"思考成本"预算。AEPO的控制器通过乘法更新自动调节KL权重:
code复制κ ← clip(κ*(1 + α*(KL_actual/δ - 1)), κ_min, κ_max)
作为信任区域指标
从自然梯度角度看,KL约束定义了策略更新的最大步长。AEPO的窗口自适应权重实现了:
简单数学题(求直角三角形斜边)
复杂几何问题(相切圆距离)
在MATH数据集上的对比实验:
| 指标 | GRPO | DAPO | AEPO |
|---|---|---|---|
| 准确率 | 58.3% | 62.1% | 67.8% |
| 平均token数 | 1243 | 1527 | 1865 |
| 高熵token占比 | 4.2% | 5.7% | 9.3% |
| 奖励方差 | 0.142 | 0.118 | 0.086 |
关键发现:
温度参数的选择
窗口大小的经验公式
code复制w ≈ max(5, log2(avg_seq_len)/2)
例如平均长度1024时,w=5+5=10
问题1:熵奖励不收敛
问题2:KL失控
问题3:训练振荡
虽然AEPO最初为数学推理设计,但其核心思想可迁移到:
一个有趣的发现是,AEPO训练出的模型在非数学任务上也表现出更结构化的思考过程。例如在写作任务中,模型会自然地在情节转折点产生更高的熵值波动,这与人类创作时的认知负荷变化高度一致。