许可证: apache-2.0
数据集:
- BytedTsinghua-SIA/DAPO-Math-17k
基础模型:
- Qwen/Qwen2.5-32B
任务标签: 文本生成
语言:
- 中文
- 英文
- 法语
- 西班牙语
- 葡萄牙语
- 德语
- 意大利语
- 俄语
- 日语
- 韩语
- 越南语
- 泰语
- 阿拉伯语
DAPO-Qwen-32B
简介
本仓库包含基于Qwen2.5-32B模型使用DAPO算法训练的DAPO-Qwen-32B模型。
推理示例
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\nAya每天早晨进行9公里步行后会在咖啡店停留。当她以恒定速度s公里/小时行走时,全程耗时4小时(含咖啡店停留t分钟);当以s+2公里/小时行走时,全程耗时2小时24分钟(含相同t分钟)。假设Aya以s+1/2公里/小时行走,求包含t分钟停留的总耗时分钟数。\n\n请确保在\"Answer:\"后单独一行给出最终答案。",
"answer": "204"
},
{
"question": "分步解决以下数学问题。你回答的最后一行应形如Answer: $Answer(不带引号),其中$Answer是问题的答案。\n\n设集合ℬ包含所有表面积为54、体积为23的长方体。令r为能容纳ℬ中所有长方体的最小球体半径。r²可表示为最简分数p/q,求p+q。\n\n请确保在\"Answer:\"后单独一行给出最终答案。",
"answer": "721"
}
]
def main():
model = "BytedTsinghua-SIA/DAPO-Qwen-32B"
tokenzier = 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=tokenzier.apply_chat_template(conversation=[{"content": question, "role": "user"}],
add_generation_prompt=True,
tokenize=False),
sampling_params=sampling_params
)
print(f"***问题***:\n{question}\n***参考答案***:\n{answer}\n***模型输出***:\n{output[0].outputs[0].text}\n")
print("-"*100)
if __name__ == "__main__":
main()
训练与性能
更多信息请参考以下资源:
引用文献
@misc{yu2025dapoopensourcellmreinforcement,
title={DAPO: 开源的大规模语言模型强化学习系统},
author={余启颖等},
year={2025},
eprint={2503.14476},
archivePrefix={arXiv},
primaryClass={cs.LG},
url={https://arxiv.org/abs/2503.14476},
}