ReSearch: 향상된 검색 추론을 위한 Qwen2.5-7B 모델(실험 중)

최신 AI 리소스게시됨 6 개월 전 AI 공유 서클
8.7K 00

일반 소개

ReSearch는 강화 학습(RL)을 통해 대규모 언어 모델(LLM)의 검색 및 추론 기능을 개선하기 위해 Agent-RL 팀에서 개발한 오픈 소스 연구 도구입니다. Deepseek-R1-Zero와 OpenAI의 딥 리서치에서 영감을 얻은 ReSearch는 Qwen2.5-7B 모델을 기반으로 하며, GRPO(일반화된 보상 정책 최적화)를 사용하여 처음부터 학습되어 모델이 감독 데이터 없이 보상 신호만으로 검색 도구를 자율적으로 호출할 수 있습니다. ReSearch는 HotpotQA 데이터 세트에서 검증되었으며, Bamboogle 및 StrategyQA와 같은 데이터 세트에 일반화되었습니다. ReSearch는 전체 코드 및 실험 문서와 함께 GitHub에서 호스팅되며, 연구자들이 RL과 LLM의 결합에 대한 탐구를 재현하거나 확장하는 데 적합합니다.

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

 

기능 목록

  • 향상된 학습 교육 파이프라인대규모 모델을 처음부터 학습하고, 완전한 파라미터 구성 및 보상 신호 설계를 지원합니다.
  • 검색 도구 호출모델은 질문을 기반으로 검색 도구를 자동으로 호출하여 복잡한 추론 작업의 정확도를 향상시킬 수 있습니다.
  • 여러 데이터 세트 적응핫팟QA에서 학습한 후, Bamboogle, StrategyQA 등과 같은 데이터 세트로 확장할 수 있습니다.
  • 성능 평가 지원FlashRAG 환경을 통합하여 개발 세트에서 모델의 성능을 빠르게 테스트할 수 있습니다.
  • 오픈 소스 구현연구 재현 및 2차 개발이 용이하도록 상세한 코드와 실험 구성을 제공합니다.

 

도움말 사용

설치 프로세스

ReSearch는 GPU 환경이 필요하며 verl 및 FlashRAG 프레임워크에 의존합니다. 자세한 설치 단계는 다음과 같습니다:

1. 환경 준비

  • 시스템 요구 사항Linux(예: 우분투)를 권장하며, Windows는 호환성 문제가 있을 수 있습니다.
  • Python 버전파이썬 3.11 이상이 필요합니다.
  • GPU 구성NVIDIA GPU 지원, CUDA 12.4 설치(토치 버전과 일치하도록).

2. 창고 복제

터미널에 다음 명령을 입력합니다:

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

3. verl 환경 설치

ReSearch는 강화 학습 훈련을 위한 verl을 기반으로 하며, 설치 단계는 다음과 같습니다:

cd verl
pip3 install -e .
cd ..
  • 종속성 버전토치==2.4.0+cu124, vllm==0.6.3, 레이==2.10.0. 충돌이 있는 경우 수동으로 설치하세요:
    pip install torch==2.4.0+cu124 vllm==0.6.3 ray==2.10.0
    

4. 플래시랙 환경 설치

FlashRAG는 평가 및 RAG 서비스, 설치 방법:

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

5. 사전 학습된 모델 다운로드

기본적으로 허깅 페이스에서 다운로드한 Qwen2.5-7B가 사용됩니다:

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

모델 경로를 기록하고 나중에 사용할 수 있도록 구성합니다.

사용법

RAG 서비스 시작하기

  1. 사전 색인된 데이터 다운로드플래시래그 문서에서 위키피디아 색인, 말뭉치, 검색 모델을 가져옵니다.
  2. 구성 서비스사설:: 사설 rag_serving/serving_config.yaml검색 모델, 인덱스, 말뭉치 경로 및 사용 가능한 GPU ID의 GPU ID가 채워집니다.
  3. 운영 서비스::
    conda activate flashrag
    python rag_serving/serving.py --config rag_serving/serving_config.yaml --num_retriever 1 --port 8000
    

    검색 지원은 서비스가 실행되면 제공됩니다.

교육 모델

  1. 데이터 준비핫팟QA 데이터 세트를 다운로드하고 전처리 스크립트를 실행합니다:
    python training/data_preprocess_hpqa.py
    

    생성된 교육 및 개발 데이터는 마루 형식으로 저장됩니다.

  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 트레이닝, 다중 노드에는 광선 튜닝이 필요합니다.

평가 모델

  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).

주요 기능 작동

  • 검색 도구 호출::
    • 학습이 끝나면 모델은 검색 도구를 호출할지 여부를 자동으로 결정할 수 있습니다. 예를 들어 "목성에는 위성이 몇 개 있나요?"라고 입력합니다:
      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 이슈를 확인하세요.

이를 통해 사용자는 ReSearch 실험을 완벽하게 재현하고 강화 학습과 대규모 모델의 조합을 탐색할 수 있습니다.

© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...