DeepResearcher快速上手指南:从环境配置到模型训练的完整步骤
【免费下载链接】DeepResearcherScaling Deep Research via Reinforcement Learning in Real-world Environments.项目地址: https://gitcode.com/gh_mirrors/de/DeepResearcher
DeepResearcher是一个基于强化学习的深度研究扩展平台,旨在通过真实环境中的强化学习实现深度研究的规模化。本指南将帮助新手用户快速掌握从环境配置到模型训练的完整流程,轻松上手这一强大工具。
1. 环境准备:快速搭建开发环境
1.1 系统要求
- Python: 版本 >= 3.9
- CUDA: 版本 >= 12.1
- GPU: 至少24GB HBM显存(推荐使用NVIDIA A100或更高配置)
1.2 安装方式选择
1.2.1 Docker镜像安装(推荐)
我们提供预构建的Docker镜像,可快速启动开发环境:
docker run --runtime=nvidia -it --rm --shm-size="10g" --cap-add=SYS_ADMIN -v <your_data_dir>:/data verlai/verl:vemlp-th2.4.0-cu124-vllm0.6.3-ray2.10-te1.7-v0.0.3容器内安装verl:
git clone https://gitcode.com/gh_mirrors/de/DeepResearcher && cd DeepResearcher && pip3 install -e .1.2.2 自定义环境安装
使用conda创建虚拟环境:
conda create -n deepresearcher python==3.9 conda activate deepresearcher pip3 install torch==2.4.0 --index-url https://download.pytorch.org/whl/cu124 pip3 install flash-attn --no-build-isolation git clone https://gitcode.com/gh_mirrors/de/DeepResearcher cd DeepResearcher pip3 install -e .1.3 可选组件安装(Megatron-LM支持)
如需使用Megatron-LM后端以获得更好的扩展性:
# 安装Apex pip3 install -v --disable-pip-version-check --no-cache-dir --no-build-isolation --config-settings "--build-option=--cpp_ext" --config-settings "--build-option=--cuda_ext" git+https://github.com/NVIDIA/apex # 安装Transformer Engine pip3 install git+https://github.com/NVIDIA/TransformerEngine.git@v1.7 # 安装Megatron-LM并应用补丁 cd .. git clone -b core_v0.4.0 https://github.com/NVIDIA/Megatron-LM.git cd Megatron-LM cp ../DeepResearcher/patches/megatron_v4.patch . git apply megatron_v4.patch pip3 install -e . export PYTHONPATH=$PYTHONPATH:$(pwd)2. DeepResearcher核心架构解析
DeepResearcher采用分布式集群架构,结合真实世界环境交互,实现强化学习的高效训练。其核心框架包含以下关键组件:
- 分布式集群:支持多节点多GPU训练,通过rollout机制实现并行化采样
- 真实世界环境:集成搜索引擎和浏览代理,实现外部知识获取
- 智能体系统:包含思考(Think)、搜索(Search)、浏览(Browse)和回答(Answer)等核心能力
- 记忆模块:存储和管理从网络获取的新信息,支持多次迭代优化
3. 数据集准备:以GSM8K为例
3.1 数据集介绍
GSM8K是一个数学问题数据集,包含大量小学数学问题及分步解答,非常适合用于训练和评估模型的推理能力。
3.2 数据预处理
使用提供的脚本将原始数据转换为Parquet格式:
python3 examples/data_preprocess/gsm8k.py --local_dir ~/data/gsm8k预处理后的数据将保存在~/data/gsm8k目录下,包含train.parquet和test.parquet两个文件。
4. 模型训练:PPO训练完整流程
4.1 下载基础模型
本示例使用Qwen2.5-0.5B-Instruct模型作为起点:
python3 -c "import transformers; transformers.pipeline('text-generation', model='Qwen/Qwen2.5-0.5B-Instruct')"4.2 奖励模型说明
DeepResearcher采用基于规则的奖励模型,通过以下方式计算奖励:
- 正确答案:奖励值1
- 错误答案:奖励值0.1
- 无答案:奖励值0
奖励计算逻辑实现于verl/utils/reward_score/gsm8k.py。
4.3 启动PPO训练
PYTHONUNBUFFERED=1 python3 -m verl.trainer.main_ppo \ data.train_files=$HOME/data/gsm8k/train.parquet \ data.val_files=$HOME/data/gsm8k/test.parquet \ data.train_batch_size=256 \ data.max_prompt_length=512 \ data.max_response_length=256 \ actor_rollout_ref.model.path=Qwen/Qwen2.5-0.5B-Instruct \ actor_rollout_ref.actor.optim.lr=1e-6 \ actor_rollout_ref.actor.ppo_mini_batch_size=64 \ actor_rollout_ref.actor.ppo_micro_batch_size_per_gpu=4 \ actor_rollout_ref.rollout.tensor_model_parallel_size=1 \ critic.optim.lr=1e-5 \ critic.model.path=Qwen/Qwen2.5-0.5B-Instruct \ algorithm.kl_ctrl.kl_coef=0.001 \ trainer.logger=['console'] \ trainer.n_gpus_per_node=1 \ trainer.total_epochs=15 2>&1 | tee deepresearcher_train.log4.4 训练过程监控
训练过程中,关键指标val/test_score/openai/gsm8k会按trainer.test_freq参数设定的频率计算。典型的训练日志如下:
step:0 - timing/gen:21.470 - timing/ref:4.360 - timing/values:5.800 - critic/kl:0.000 - critic/kl_coeff:0.001 - ... - response_length/mean:239.133 - prompt_length/mean:104.8834.5 内存优化建议
如遇内存不足问题,可调整以下参数:
actor_rollout_ref.actor.ppo_micro_batch_size_per_gpu=1 \ critic.ppo_micro_batch_size_per_gpu=15. 性能评估:DeepResearcher的优势
DeepResearcher在多个问答数据集上表现出优异性能,相比传统方法有显著提升:
从图表中可以看出,在NQ、TQ、HotpotQA等多个数据集上,DeepResearcher的准确率均领先于R1-Searcher、Search-1-instruct等对比方法。
6. 扩展性分析:训练步数与性能关系
DeepResearcher具有良好的扩展性,随着训练步数的增加,模型性能持续提升:
- (a) F1分数:随训练步数增加稳步提升
- (b) 工具调用次数:不同hop数的工具调用趋于稳定
- (c) 响应长度:随训练步数增加合理增长
7. 常见问题解决
7.1 安装问题
- vLLM版本兼容:若安装vLLM 0.7.0-0.7.2版本,需手动应用补丁
- FlashAttention安装:使用
pip3 install flash-attn --no-build-isolation命令
7.2 训练问题
- 显存不足:减小
ppo_micro_batch_size_per_gpu参数 - 训练不稳定:调整
kl_coef参数控制KL散度
更多常见问题请参考docs/faq/faq.rst。
8. 总结与下一步
通过本指南,你已掌握DeepResearcher的基本使用流程,包括环境配置、数据准备和模型训练。建议下一步:
- 尝试不同的数据集,如examples/data_preprocess/目录下的其他预处理脚本
- 探索不同的训练算法,如GRPO、REMAX等,相关脚本位于examples/grpo_trainer/和examples/remax_trainer/
- 深入学习高级配置选项,参考docs/advance/目录下的高级扩展文档
DeepResearcher为强化学习研究提供了强大而灵活的平台,祝你在深度研究的道路上取得突破!
【免费下载链接】DeepResearcherScaling Deep Research via Reinforcement Learning in Real-world Environments.项目地址: https://gitcode.com/gh_mirrors/de/DeepResearcher
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考