ReSearch: модель Qwen2.5-7B для расширенного обоснования поиска (экспериментальная)

Общее введение

ReSearch - это исследовательский инструмент с открытым исходным кодом, разработанный командой Agent-RL для улучшения поисковых и выводных возможностей больших языковых моделей (LLM) с помощью обучения с подкреплением (RL). Вдохновленный Deepseek-R1-Zero и Deep Research от OpenAI, ReSearch основан на модели Qwen2.5-7B, обученной с нуля с использованием GRPO (Generalised Reward Policy Optimization), что позволяет модели автономно вызывать инструменты поиска на основе одних только сигналов вознаграждения, без контролируемых данных. ReSearch была проверена на наборе данных HotpotQA и может быть использована для таких наборов данных, как Bamboogle и StrategyQA. ReSearch размещен на GitHub с полным кодом и экспериментальной документацией и подходит для исследователей, чтобы воспроизвести или расширить их исследования по сочетанию RL и LLM.

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

 

Список функций

  • Расширенное обучение Конвейер обучения: Поддержка обучения больших моделей с нуля, полная настройка параметров и разработка сигналов вознаграждения.
  • Вызов поискового инструментаМодели могут автоматически вызывать инструменты поиска на основе вопросов для повышения точности сложных задач рассуждения.
  • Адаптация к нескольким наборам данных: После обучения на HotpotQA его можно распространить на такие наборы данных, как Bamboogle, StrategyQA и т. д.
  • Поддержка оценки эффективности: Интеграция среды FlashRAG для быстрого тестирования производительности модели на наборе для разработки.
  • реализация с открытым исходным кодом: Предоставьте подробный код и экспериментальные конфигурации для легкого воспроизведения исследований и вторичной разработки.

 

Использование помощи

Процесс установки

ReSearch требует GPU-окружения и полагается на фреймворки verl и FlashRAG. Ниже приведены подробные шаги по установке:

1. Подготовка окружающей среды

  • системные требования: рекомендуется использовать Linux (например, Ubuntu), с Windows могут возникнуть проблемы совместимости.
  • Версия Python: Требуется Python 3.11 или выше.
  • Конфигурация GPU: Поддержка графических процессоров NVIDIA, установите 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 ..
  • версия зависимости: 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.
  2. Конфигурационные службы:: Редакция rag_serving/serving_config.yamlЗаполняются идентификаторы GPU для моделей поиска, индексов, путей к корпусу и доступные идентификаторы GPU.
  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, на нескольких узлах требуется настройка лучей.

модель оценки

  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
      

      Выходные данные содержат процесс рассуждения и ответ, что подтверждает способность к обобщению.

предостережение

  • требования к оборудованию24 ГБ или более видеопамяти для обучения, 16 ГБ для оценки.
  • Мониторинг журналов: Используйте TensorBoard для просмотра прогресса в обучении:
    tensorboard --logdir runs/
    
  • устранение неисправностей: Если у вас возникла ошибка, проверьте версию зависимости или обратитесь к GitHub Issues.

Таким образом, пользователи могут полностью воспроизвести эксперименты ReSearch и изучить сочетание обучения с подкреплением и больших моделей.

© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...