系列教程七 | 基于 GRPO 算法微调Qwen2.5-7B实现R1推理能力
为进一步优化推理能力,本教程介绍如何在 Bitahub 平台上通过 GRPO 算法(一种比 PPO 更高效的在线强化学习算法)对 Qwen2.5-7B 模型进行全参数微调。本教程使用 GRPO 算法在 Math 数据集上对 Qwen2.5-7B 模型进行了全参数微调,并取得了一定的初步效果。在新疆集群创建开发任务,模型选择是qwen2.5-7b,机器选4卡A100机器,镜像选择的是pytorch的
一.背景介绍
DeepSeek R1 模型(如 671B 参数版本)因规模庞大,实际应用中常需使用蒸馏版本(如 32B 或更小模型)。为进一步优化推理能力,本教程介绍如何在 Bitahub 平台上通过 GRPO 算法(一种比 PPO 更高效的在线强化学习算法)对 Qwen2.5-7B 模型进行全参数微调。
二.环境准备与平台配置
在新疆集群创建开发任务,模型选择是qwen2.5-7b,机器选4卡A100机器,镜像选择的是pytorch的镜像。

三.依赖安装与代码配置
1.安装项目依赖
进入代码目录并安装依赖:
cd EasyR1pip install -e .pip install --no-cache-dir vllm==0.8.1 torch==2.6.0 torchvision==0.21.0 torchaudio==2.6.0 tensordict torchdata \transformers>=4.49.0 accelerate datasets peft hf-transfer \ray codetiming hydra-core pandas pyarrow>=15.0.0 pylatexenc qwen-vl-utils wandb liger-kernel mathruler \pytest yapf py-spy pyext pre-commit ruff
2. 安装 Flash Attention
下载并安装 Flash Attention 优化库:
wget -nv https://github.com/Dao-Allab/flash-attention/releases/download/v2.7.4.postl/flash_attn-2.7.4.postl+cu117torch2.6cxx11abiFALSE-cp310-cp310-linux_x86_64.whlpip install flash_attn-2.7.4.postl+cu117torch2.6cxx11abiFALSE-cp310-cp310-linux_x86_64.whl
3. 配置日志平台
注册并登录 SwanLab 平台(用于监控训练指标):
swanlab login
四.模型训练
1. 准备训练脚本
编辑脚本 examples/qwen2_5_7b_math_grpo.sh,关键参数如下:
MODEL_PATH=/model/qwen2/7b # replace it with your local file pathSYSTEM_PROMPT="""You FIRST think about the reasoning process as an internal monologue and then provide the final answer.The reasoning process MUST BE enclosed within <think> </think> tags. The final answer MUST BE put in \boxed{}."""python3 -m verl.trainer.main \config=examples/config.yaml \data.system_prompt="${SYSTEM_PROMPT}" \worker.actor.model.model_path=${MODEL_PATH} \trainer.logger=['console','swanlab'] \trainer.n_gpus_per_node=4
2. 启动训练任务
sh examples/qwen2_5_7b_math_grpo.sh
3. 训练进度
GRPO 训练速度较慢,约 12 step/小时,建议至少训练 100 step 以保证收敛,下面是一些训练日志的截图:

4.监控指标
在 SwanLab 平台可以查看完整的训练日志和指标曲线,点击查看。


-
测试集准确率(test_score):衡量模型的整体推理性能。
-
回复长度(response_length):评估模型生成的答案质量。
可以看出两个指标都是上升趋势,说明模型在变好。
五.总结
本教程使用 GRPO 算法在 Math 数据集上对 Qwen2.5-7B 模型进行了全参数微调,并取得了一定的初步效果。适用于资源充足且追求高性能的场景,开发者可根据需求调整数据与超参数以进一步优化效果。
BitaHub社区更多模型及教程持续更新中,期待您的关注!
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)