ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

DeepResearcher快速上手指南:从环境配置到模型训练的完整步骤

DeepResearcher快速上手指南:从环境配置到模型训练的完整步骤

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.parquettest.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.log

4.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.883

4.5 内存优化建议

如遇内存不足问题,可调整以下参数:

actor_rollout_ref.actor.ppo_micro_batch_size_per_gpu=1 \ critic.ppo_micro_batch_size_per_gpu=1

5. 性能评估: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的基本使用流程,包括环境配置、数据准备和模型训练。建议下一步:

  1. 尝试不同的数据集,如examples/data_preprocess/目录下的其他预处理脚本
  2. 探索不同的训练算法,如GRPO、REMAX等,相关脚本位于examples/grpo_trainer/和examples/remax_trainer/
  3. 深入学习高级配置选项,参考docs/advance/目录下的高级扩展文档

DeepResearcher为强化学习研究提供了强大而灵活的平台,祝你在深度研究的道路上取得突破!

【免费下载链接】DeepResearcherScaling Deep Research via Reinforcement Learning in Real-world Environments.项目地址: https://gitcode.com/gh_mirrors/de/DeepResearcher

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

返回列表