科学工具
科学工具让世界更美好
让世界更美好

DeepResearcher基于强化学习的框架,端到端地训练基于LLM(大型语言模型)的深度研究代理DeepResearcher基于强化学习的框架,端到端地训练基于LLM(大型语言模型)的深度研究代理

DeepResearcher是通过强化学习在真实环境中扩展基于大型语言模型的深度研究代理的端到端训练框架,能利用真实的网页搜索交互来增强模型的能力。

DeepResearcher可以在huggingface-hub上使用,用户可以通过以下命令安装所需的依赖项:

git clone https://github.com/GAIR-NLP/DeepResearcher.git
conda create -n deepresearcher python=3.10
conda activate deepresearcher
pip3 install torch==2.4.0 --index-url https://download.pytorch.org/whl/cu124
pip3 install flash-attn --no-build-isolation

在使用ray训练模型之前,需要先启动ray,即使只有一个节点,也需要设置PET_NODE_RANK,以下是头节点的代码:

export PET_NODE_RANK=0
ray start --head

启动后端处理

运行以下命令启动服务器处理程序:

python ./scrl/handler/server_handler.py

在启动所有服务器处理程序后,可以在训练主机节点的配置文件中替换server_url_list,然后运行:

python ./scrl/handler/handler.py

训练模型

使用以下命令训练模型:

bash train_grpo.sh

评估结果

使用以下命令生成rollout:

bash evaluate.sh

可以在以下路径找到rollout文件:

./outputs/{project_name}/{experiment_name}/rollout/rollout_step_0.json

重命名并复制到:

./evaluate/{experiment_name}_result.json

然后运行以下命令计算指标:

python ./evaluate/cacluate_metrics.py {experiment_name}

可以在以下路径查看分数:

./evaluate/{experiment_name}_score.json

DeepResearcher受到了Deepseek-R1的启发,实现基于veRL和Search-r1。