news 2026/4/18 8:10:19

DAPO浅析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DAPO浅析

目标:

降低错误样本的长度 (token-level loss)

训练更加稳定 (overlong filter)

避免generation entropy的塌陷(higher clip)

提高训练效率(dynamic sample)

Method

整体优化目标如下

J

=

E

(

q

,

a

)

D

,

{

o

i

}

G

i

=

1

π

o

l

d

(

|

q

)

[

1

G

i

=

1

|

o

i

|

G

i

=

1

|

o

i

|

t

=

1

min

(

r

i

,

t

(

θ

)

A

i

,

t

,

c

l

i

p

(

r

i

,

t

(

θ

)

,

1

ϵ

l

o

w

,

1

+

ϵ

h

i

g

h

)

A

i

,

t

)

]

s

.

t

.

0

<

|

{

o

i

|

i

s

_

e

q

u

i

v

a

l

e

n

t

(

o

i

,

a

)

}

|

<

G

其中

r

i

,

t

(

θ

)

=

π

θ

(

o

i

,

t

|

q

,

o

i

,

<

t

)

π

o

l

d

(

o

i

,

t

|

q

,

o

i

,

<

t

)

,

A

i

,

t

=

R

i

m

e

a

n

(

{

R

i

}

G

i

=

1

)

s

t

d

(

{

R

i

}

G

i

=

1

)

这里DAPO剔除了KL散度惩罚项,它认为

在RLHF场景下,RL的目标是在不偏离原是模型分布下对齐人类偏好(即仅学习人类偏好,而不改变模型原有知识能力),因此需要添加KL惩罚项。

然而在训练long-cot的reasoning模型时,其目标是为了提升模型的能力(math、推理、code等)训练前后的模型分布可以是显著不一样的,KL惩罚项可能会限制模型的探索新知识的能力,因此去除。

分为以下四个方面

1. Raise the Ceiling: Clip-Higher

考虑到clip的是一个概率的比值

π

θ

π

o

l

d

,在

π

o

l

d

不同的情况下,会影响clip的范围

例如

π

o

l

d

=

0.1

π

θ

=

0.2

, 此时比值为

2

,此时policy会认为模型前后变化过大,而不训练此数据。但这条数据是值得训练的,只是old的概率比较小。

虽然比值是2倍,但其实数值上只多了0.1,因此还是需要被训练的,并没有影响收敛。

同时,实验也验证了上面发现的问题。实验发现GRPO中 被clip掉的token的平均概率的最大值均小于0.2 ,即

max

s

t

e

p

[

E

(

q

,

a

)

D

,

{

o

i

}

G

i

=

1

π

o

l

d

(

|

q

)

,

t

|

o

i

|

π

θ

(

o

i

,

t

|

q

,

o

i

,

<

t

)

]

<

0.2

image-20251018164023025

大量小概率的token被clip掉了,这验证了

ϵ

h

i

g

h

阻碍了低概率token 概率的增长。

因此可以提高上限

ϵ

h

i

g

h

来提高A>0的低概率token的概率,从而避免entropy变小的过快,输出单一化。

image-20251018153934403

值得注意的现象,提高

ϵ

h

i

g

h

e

r

之后:

RL的avg@32更高的

避免了熵塌的现象(因为高的

ϵ

h

i

g

h

e

r

鼓励模型探索原先小概率的正向轨迹,提高了多样性)

此外,old模型小概率sample并没有影响原有

ϵ

l

o

w

这是因为,

ϵ

l

o

w

是在A<0的sample起作用,若重要性采样的比值很大,并不会对A<0的token进行裁剪。

2. The More the Merrier: Dynamic Sampling

考虑到如果一个sample的G个rollout的奖励

{

R

i

}

G

i

=

1

都是0或都是1,那么所有的优势A都是0,这并不会更新policy,会导致效率低下

因此使用动态采样的方法,一直采样直到一个sample的G个rollout的R 不全是0 或不全是1.

0

<

|

{

o

i

|

i

s

_

e

q

u

i

v

a

l

e

n

t

(

o

i

,

a

)

}

|

<

G

上述公示的含义是,对于QA对

(

q

,

a

)

o

i

和答案

a

相同的个数在

(

0

,

G

)

的区间内。

3. Rebalancing Act: Token-Level Policy Gradient Loss

DAPO任务 sample-level的loss(每个rollout的贡献度是一样的),然后不同rollout的长度不一样,过长的样本对模型的影响更大一些:

过长的样本会导致模型难以学习推理模式 【置信度低,困惑度高】

过长的样本中存在一些不必要的 重复的话【长度增长过快】

因此使用token-level的技术,长度越大的rollout,贡献度越大。

通过grpo sample-level loss得知,grpo并不在意response的长短(不同长度的sample的贡献度均为相同),然而长度越长A越大,因此response的长度会快速的增加。

但是DAPO认为长度越长的sample的贡献度越大,因此过长的sample是对的会重点强化(提高概率),但是错了的话,会重点惩罚,从而减小错的长response的概率,即

P

(

l

e

n

(

o

i

)

>

δ

|

A

<

0

)

下降。

image-20251018161556211

同时,通过实验发现,DAPO的response的平均长度并没有无脑、快速增长。

Hide and Seek: Overlong Reward Shaping

考虑到过长的response会被截断无法得到结果,这会导致奖励极低,

因此采用mask的方式,在训练的时候过滤掉过长response的损失。

image-20251018171402542

实验发现,添加overlong filter之后,训练更加稳定(entropy,acc上),避免了noise。

DAPO进一步提出了soft overlong punishment,其实是基于长度的奖励,就不用进行filter操作了,直接赋予低的R就可以了,有利于降低response的长度。添加了一个cache的缓冲区,从而soft。

R

(

y

)

=

0

,

|

y

|

L

m

a

x

L

c

a

c

h

e

|

y

|

(

L

m

a

x

L

c

a

c

h

e

)

L

c

a

c

h

e

,

L

m

a

x

L

c

a

c

h

e

<

|

y

|

L

m

a

x

1

,

L

m

a

x

<

|

y

|

代码解析待更新(verl实现dapo部分)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 3:39:48

代码随想录算法训练营Day44 | 99.岛屿数量、100.岛屿的最大面积

KamaCoder99.岛屿数量 99. 计数孤岛 1.思路 DFS 深搜解法 解决此问题的核心思想是 DFS。当我们遍历网格时&#xff0c;每遇到一个未被访问过的陆地&#xff08;1&#xff09;&#xff0c;就意味着发现了一个新的岛屿。此时&#xff0c;我们需要从这个点出发&#xff0c;通过D…

作者头像 李华
网站建设 2026/3/22 22:09:10

USBMap终极指南:轻松解决MacOS USB端口限制问题

USBMap终极指南&#xff1a;轻松解决MacOS USB端口限制问题 【免费下载链接】USBMap Python script for mapping USB ports in macOS and creating a custom injector kext. 项目地址: https://gitcode.com/gh_mirrors/us/USBMap 你是否遇到过在Mac上连接USB设备时发现某…

作者头像 李华
网站建设 2026/4/16 14:19:47

突破材料科学瓶颈:DREAM3D 3D微结构分析软件实战指南

突破材料科学瓶颈&#xff1a;DREAM3D 3D微结构分析软件实战指南 【免费下载链接】DREAM3D Data Analysis program and framework for materials science data analytics, based on the managing framework SIMPL framework. 项目地址: https://gitcode.com/gh_mirrors/dr/DR…

作者头像 李华
网站建设 2026/4/10 10:38:14

玩美移动 AI 试衣服从“娱乐玩具”到真正可商用的能力进化

——玩美移动&#xff08;Perfect Corp.&#xff09;AI Clothes 技术深度解析 在过去的一年里&#xff0c;互联网掀起了“大模型换衣服”热潮&#xff0c;各种换装 Demo、AI 商拍系统层出不穷。但大多数只能做到“看起来换上去了”&#xff0c;更多是娱乐性质&#xff0c;距离…

作者头像 李华
网站建设 2026/4/16 17:10:06

Cowabunga:8大功能打造终极iOS个性化体验指南

Cowabunga&#xff1a;8大功能打造终极iOS个性化体验指南 【免费下载链接】Cowabunga iOS 14.0-15.7.1 & 16.0-16.1.2 MacDirtyCow ToolBox 项目地址: https://gitcode.com/gh_mirrors/co/Cowabunga 在iOS设备个性化定制的世界里&#xff0c;Cowabunga无疑是一款革命…

作者头像 李华
网站建设 2026/4/18 0:09:49

IEC61131-3编程语言:工业自动化领域的标准化利器

IEC61131-3编程语言&#xff1a;工业自动化领域的标准化利器 【免费下载链接】IEC61131-3编程语言及应用基础 IEC61131-3编程语言及应用基础 项目地址: https://gitcode.com/Open-source-documentation-tutorial/44794 您是否曾经为工业控制系统的编程复杂性而困扰&…

作者头像 李华