DAPO
DAPO 是由字节跳动 Seed 团队与清华大学 AIR 联合开源的大规模大语言模型强化学习(RL)系统。它旨在解决当前大模型在复杂推理任务中训练不稳定、探索效率低以及难以复现顶尖性能的难题。通过开放算法核心、代码基础设施及配套数据集,DAPO 让研究社区能够低成本地访问和复现世界级的强化学习成果。
该系统特别适合从事大模型对齐、推理能力优化及强化学习算法研究的开发者与科研人员。基于高效的 verl 框架,DAPO 提出了独特的“解耦裁剪”与“动态采样”策略优化算法。这一创新不仅显著提升了训练过程的稳定性,还通过智能平衡“探索”与“利用”,引导模型生成更长、更复杂的推理路径。
在实际表现上,DAPO 展现了惊人的效率:仅用以往最先进方法一半的训练步数,便基于 Qwen2.5-32B 基座模型在极具挑战性的 AIME 2024 数学竞赛中取得了超过 50% 的得分,刷新了同类规模模型的性能纪录。无论是希望深入探究 RLHF 前沿机制的研究者,还是寻求高效训练方案的技术团队,DAPO 都提供了一个透明、强大且易于上手的专业平台。
使用场景
某顶尖 AI 实验室的研究团队正致力于提升大语言模型在复杂数学竞赛(如 AIME)中的推理能力,试图通过强化学习让模型学会多步推导。
没有 DAPO 时
- 训练效率低下:复现顶级推理模型需要消耗巨大的计算资源和时间,往往需要完整的训练周期才能达到基准性能,试错成本极高。
- 推理过程不稳定:模型在训练中容易出现响应长度剧烈波动或奖励信号震荡,导致难以收敛到高质量的解题策略。
- 探索与利用失衡:传统算法难以动态调整采样策略,模型要么过早陷入局部最优(过拟合),要么因随机性过大而无法掌握复杂的逻辑链条。
- 技术门槛高:缺乏开源且经过验证的大规模 RL 系统基础设施,团队需从零搭建底层框架,分散了核心算法研究的精力。
使用 DAPO 后
- 大幅缩短训练周期:借助解耦裁剪和动态采样策略,DAPO 仅用以往 50% 的训练步数就在 Qwen2.5-32B 上实现了 AIME 2024 得分突破 50 分,显著加速研发迭代。
- 训练过程平稳可控:监控指标显示响应长度稳步增长,奖励分数平滑上升,确保模型能稳定地学习更复杂的长链推理行为。
- 智能平衡探索机制:动态采样策略自动调节熵值,既避免了过度随机生成的无效尝试,又防止了过早固化思维,确保持续的性能提升。
- 开箱即用的全栈系统:直接复用字节种子与清华 AIR 开源的完整代码、数据集及预训练权重,团队可立即基于成熟框架开展前沿实验。
DAPO 通过高效的动态优化算法,将大规模大模型强化学习的训练成本减半,同时确立了新的性能标杆,让顶级推理能力的获取变得触手可及。
运行环境要求
- Linux
- 必需 NVIDIA GPU
- 推理示例配置为 tensor_parallel_size=8 (需 8 卡),显存利用率设为 0.95
- 基于 Qwen2.5-32B 模型,建议单卡显存 24GB+ 或多卡互联
- 依赖 vLLM,通常要求 CUDA 12.1+
未说明 (建议 64GB+ 以支持 32B 模型加载及数据处理)

快速开始
[!IMPORTANT] 🔥 新闻!!!
我们发布了一个完全开源的大规模LLM强化学习系统,包含算法、代码框架和数据集。该系统实现了当前最先进的大规模LLM强化学习性能。我们提出了Decoupled Clip and Dynamic sAmpling Policy Optimization(DAPO)算法。 通过开源,我们为更广泛的研究社区和社会提供了可扩展强化学习的实用途径,使所有人都能受益于这些技术进步。我们的系统基于优秀的verl框架。感谢他们的杰出工作!
欢迎讨论
🤗 如果您对我们的论文有任何疑问,欢迎在Issue中提出,我们将一起探讨。谢谢!
关键结果
AIME 2024表现
🚀 DAPO 基于Qwen2.5-32B基础模型,在AIME 2024中取得了50分的成绩,优于此前的SoTA DeepSeek-R1-Zero-Qwen-32B,且仅使用了其50%的训练步数。

训练过程中的指标监控
长度稳定性与增长:响应长度的稳步增加有助于更大程度的探索,促进模型学习更复杂的推理行为,最终提升训练的稳定性和性能。
奖励分数稳定性:奖励信号的平稳上升表明模型正在成功拟合训练分布,确保学习过程稳健一致,不会出现大幅波动。
熵与平均概率趋势:在初始下降后,熵的适度上升保证了探索与利用之间的健康平衡,避免过拟合或过度随机性的问题,从而持续提升模型性能。

模型使用
我们提供了基于DAPO算法、以Qwen2.5-32B为基础训练的[DAPO-Qwen-32B]模型权重,地址为这里。
环境搭建
我们建议使用conda来搭建环境:
conda create -n dapo python=3.10
conda activate dapo
pip3 install -r requirements.txt
推理
我们在此提供模型推理代码:
import torch
from transformers import AutoTokenizer
from vllm import SamplingParams, LLM
examples = [
{
"question": "请逐步解答以下数学问题。你的回答最后一行应为“Answer: $Answer”(不带引号),其中$Answer是问题的答案。\n\n求复数$z$满足$|z|=4$时,\\[(75+117i)z+\\frac{96+144i}{z}\\]的最大可能实部。\n\n请务必在“Answer:”之后单独一行写出答案。",
"answer": "540"
},
{
"question": "请逐步解答以下数学问题。你的回答最后一行应为“Answer: $Answer”(不带引号),其中$Answer是问题的答案。\n\n每天早上,Aya会步行9公里,随后去咖啡店休息。当她以每小时$s$公里的速度行走时,整个行程包括在咖啡店停留的$t$分钟,共需4小时。而当她以每小时$s+2$公里的速度行走时,整个行程包括在咖啡店停留的$t$分钟,只需2小时24分钟。假设Aya以每小时$s+\\frac{1}{2}$公里的速度行走,求她这次行程总共需要多少分钟,包括在咖啡店停留的$t$分钟。\n\n请务必在“Answer:”之后单独一行写出答案。",
"answer": "204"
},
{
"question": "请逐步解答以下数学问题。你的回答最后一行应为“Answer: $Answer”(不带引号),其中$Answer是问题的答案。\n\n设$\\mathcal{B}$为所有表面积为54、体积为23的长方体组成的集合。记$r$为能够容纳$\\mathcal{B}$中每个长方体的最小球体半径。$r^2$可以表示为$\\frac{p}{q}$的形式,其中$p$和$q$是互质的正整数。求$p+q$。\n\n请务必在“Answer:”之后单独一行写出答案。",
"answer": "721"
}
]
def main():
model = "BytedTsinghua-SIA/DAPO-Qwen-32B"
tokenizer = AutoTokenizer.from_pretrained(model)
llm = LLM(
model=model,
dtype=torch.bfloat16,
tensor_parallel_size=8,
gpu_memory_utilization=0.95
)
sampling_params = SamplingParams(
temperature=1.0,
top_p=0.7,
max_tokens=20480
)
for example in examples:
question = example["question"]
answer = example["answer"]
output = llm.generate(
prompts=tokenizer.apply_chat_template(conversation=[{"content": question, "role": "user"}],
add_generation_prompt=True,
tokenize=False),
sampling_params=sampling_params
)
print(f"***QUESTION***:\n{question}\n***GROUND TRUTH***:\n{answer}\n***MODEL OUTPUT***:\n{output[0].outputs[0].text}\n")
print("-"*100)
if __name__ == "__main__":
main()
AIME 2024 评估
为了在 AIME 2024 上评估模型,我们使用 Ray Serve 和 vLLM 部署了 DAPO-Qwen-32B。
从 Huggingface 加载模型:
serve run eval.llm:build_app model=BytedTsinghua-SIA/DAPO-Qwen-32B tensor-parallel-size=8
# 打开另一个终端
python eval/eval_aime24.py --temperature 1.0 --top_p 0.7 --max_tokens 20480 --model BytedTsinghua-SIA/DAPO-Qwen-32B --test_file eval/aime-2024.parquet
从本地路径加载模型:
serve run eval.llm:build_app model=aaa/bbb/ccc tensor-parallel-size=8
# 打开另一个终端
python eval/eval_aime24.py --temperature 1.0 --top_p 0.7 --max_tokens 20480 --model ccc --test_file eval/aime-2024.parquet
可复现性
为了造福更广泛的研究社区,我们完全开源了我们的强化学习训练流程,包括算法细节、数据集和基础设施。
数据集
我们提供了用于 DAPO 训练的训练集和验证集。
训练集:DAPO-Math-17k,一个经过精心整理和处理的数学数据集。 验证集:AIME 2024。
训练
我们提供了 开箱即用 的脚本,用于复现 DAPO 训练。快速入门和核心代码已在 README 中提及。这些脚本用于:
注意:
无 token 级 PG 损失与动态采样——AIME 44脚本已在当前版本的 verl 上验证通过,并在 AIME 2024 中取得了 44 分的成绩,其训练记录可在 wandb 上查看。完整 DAPO——AIME 50脚本也已在最新版 verl 上验证通过,它在 AIME 2024 中获得了 50 分。您可以在 wandb 上查看相应的训练记录。
致谢
我们感谢 verl 提供了出色的开源强化学习基础设施。
我们的开源实验是在火山引擎机器学习平台上进行的。我们将在火山引擎平台上稍后提供完整的复现指南,以帮助用户复现我们的实验。
常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器