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.

Список функций
- Расширенное обучение Конвейер обучения: Поддержка обучения больших моделей с нуля, полная настройка параметров и разработка сигналов вознаграждения.
- Вызов поискового инструментаМодели могут автоматически вызывать инструменты поиска на основе вопросов для повышения точности сложных задач рассуждения.
- Адаптация к нескольким наборам данных: После обучения на 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
- Загрузите предварительно проиндексированные данные: Получение индекса Википедии, корпуса и модели поиска из документа FlashRAG.
- Конфигурационные службы:: Редакция
rag_serving/serving_config.yaml
Заполняются идентификаторы GPU для моделей поиска, индексов, путей к корпусу и доступные идентификаторы GPU. - Операционные услуги::
conda activate flashrag python rag_serving/serving.py --config rag_serving/serving_config.yaml --num_retriever 1 --port 8000
После запуска сервиса предоставляется поисковая поддержка.
Модели обучения
- Подготовьте данные: Загрузите набор данных HotpotQA и запустите сценарий предварительной обработки:
python training/data_preprocess_hpqa.py
Сгенерированные данные обучения и развития сохраняются в формате parquet.
- Параметры конфигурации: Модификация
training/run.sh
Ниже перечислены функции, которые вы можете использовать для настройки пути к модели, URL-адреса поиска, пути к данным и т. д. - обучение грунтовке::
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, на нескольких узлах требуется настройка лучей.
модель оценки
- Запуск службы моделирования: После обучения модель развертывается с помощью SGLang:
python3 -m sglang.launch_server --served-model-name research --model-path runs/trained_model --tp 2 --context-length 8192 --port 80
- Оперативная оценка::
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
Выходные данные содержат процесс рассуждения и ответ, что подтверждает способность к обобщению.
- Проверка эффективности модели на StrategyQA:
предостережение
- требования к оборудованию24 ГБ или более видеопамяти для обучения, 16 ГБ для оценки.
- Мониторинг журналов: Используйте TensorBoard для просмотра прогресса в обучении:
tensorboard --logdir runs/
- устранение неисправностей: Если у вас возникла ошибка, проверьте версию зависимости или обратитесь к GitHub Issues.
Таким образом, пользователи могут полностью воспроизвести эксперименты ReSearch и изучить сочетание обучения с подкреплением и больших моделей.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...