AI个人学习
和实操指南
讯飞绘镜

ReSearch:强化搜索推理能力的 Qwen2.5-7B 模型(实验)

综合介绍

ReSearch 是一个开源研究工具,由 Agent-RL 团队开发,旨在通过强化学习(Reinforcement Learning, RL)提升大型语言模型(LLM)的搜索和推理能力。项目灵感来源于 Deepseek-R1-Zero 和 OpenAI 的 Deep Research,基于 Qwen2.5-7B 模型,利用 GRPO(Generalized Reward Policy Optimization)方法从零开始训练,使模型仅依靠奖励信号自主调用搜索工具,无需监督数据。ReSearch 在 HotpotQA 数据集上验证了效果,并能泛化至 Bamboogle 和 StrategyQA 等数据集。托管于 GitHub,提供完整代码和实验文档,适合研究人员复现或扩展 RL 与 LLM 结合的探索。

ReSearch:强化搜索推理能力的 Qwen2.5-7B 模型(实验)-1


 

功能列表

  • 强化学习训练管道:支持从零开始训练大模型,提供完整的参数配置和奖励信号设计。
  • 搜索工具调用:模型可根据问题自动调用搜索工具,提升复杂推理任务的准确性。
  • 多数据集适配:在 HotpotQA 训练后,能扩展至 Bamboogle、StrategyQA 等数据集。
  • 性能评估支持:集成 FlashRAG 环境,快速测试模型在开发集上的表现。
  • 开源实现:提供详细代码和实验配置,便于研究复现和二次开发。

 

使用帮助

安装流程

ReSearch 需要在 GPU 环境下运行,依赖 verl 和 FlashRAG 框架。以下是详细安装步骤:

1. 环境准备

  • 系统要求:推荐 Linux(如 Ubuntu),Windows 可能存在兼容性问题。
  • Python 版本:需 Python 3.11 或以上。
  • GPU 配置:支持 NVIDIA GPU,安装 CUDA 12.4(与 torch 版本匹配)。

2. 克隆仓库

在终端输入以下命令:

git clone https://github.com/Agent-RL/ReSearch.git
cd ReSearch

3. 安装 verl 环境

ReSearch 基于 verl 进行强化学习训练,安装步骤如下:

cd verl
pip3 install -e .
cd ..
  • 依赖版本:torch==2.4.0+cu124,vllm==0.6.3,ray==2.10.0。若有冲突,手动安装:
    pip install torch==2.4.0+cu124 vllm==0.6.3 ray==2.10.0
    

4. 安装 FlashRAG 环境

FlashRAG 用于评估和 RAG 服务,安装方法:

git clone https://github.com/RUC-AIBox/FlashRAG.git
cd FlashRAG
pip3 install -e .
cd ../ReSearch

5. 下载预训练模型

默认使用 Qwen2.5-7B,从 Hugging Face 下载:

git lfs install
git clone https://huggingface.co/Qwen/Qwen2.5-7B

记录模型路径,稍后配置使用。

使用方法

启动 RAG 服务

  1. 下载预索引数据:从 FlashRAG 文档获取 Wikipedia 索引、语料库和检索模型。
  2. 配置服务:编辑 rag_serving/serving_config.yaml,填入检索模型、索引、语料库路径及可用 GPU ID。
  3. 运行服务
    conda activate flashrag
    python rag_serving/serving.py --config rag_serving/serving_config.yaml --num_retriever 1 --port 8000
    

    服务运行后,提供搜索支持。

训练模型

  1. 准备数据:下载 HotpotQA 数据集,运行预处理脚本:
    python training/data_preprocess_hpqa.py
    

    生成的训练和开发数据保存为 parquet 格式。

  2. 配置参数:修改 training/run.sh,设置模型路径、搜索 URL、数据路径等。
  3. 启动训练
    conda activate verl
    bash training/run.sh --actor_model_path /path/to/Qwen2.5-7B --search_url http://localhost:8000 --train_data_path data/train.parquet --dev_data_path data/dev.parquet --save_path runs/
    
    • 单节点 8 GPU 训练,多节点需使用 ray 调整。

评估模型

  1. 启动模型服务:训练完成后,使用 SGLang 部署模型:
    python3 -m sglang.launch_server --served-model-name research --model-path runs/trained_model --tp 2 --context-length 8192 --port 80
    
  2. 运行评估
    python evaluation/run_eval.py --config_path evaluation/eval_config.yaml --method_name research --split dev --dataset_name hotpotqa
    
    • 结果保存至 evaluation/results/,支持切换数据集(如 Bamboogle)。

特色功能操作

  • 搜索工具调用
    • 训练后,模型可自动判断是否调用搜索工具。例如,输入“How many moons does Jupiter have?”:
      python inference.py --model_path runs/trained_model --question "How many moons does Jupiter have?"
      

      输出示例:Jupiter has 95 known moons as of 2025.

    • 流程:模型根据问题生成搜索查询,调用 RAG 服务获取信息后推理回答。
  • 跨数据集泛化
    • 测试模型在 StrategyQA 上的表现:
      python evaluation/run_eval.py --config_path evaluation/eval_config.yaml --method_name research --split dev --dataset_name strategyqa
      

      输出包含推理过程和答案,验证泛化能力。

注意事项

  • 硬件需求:训练需 24GB 以上显存,评估需 16GB。
  • 日志监控:使用 TensorBoard 查看训练进展:
    tensorboard --logdir runs/
    
  • 故障排查:若报错,检查依赖版本或查看 GitHub Issues。

通过以上操作,用户可完整复现 ReSearch 实验,探索强化学习与大模型的结合。

未经允许不得转载:首席AI分享圈 » ReSearch:强化搜索推理能力的 Qwen2.5-7B 模型(实验)
zh_CN简体中文