OpenR项目使用与启动教程
1. 项目介绍
OpenR是一个开源框架,旨在利用大型语言模型进行高级推理。该项目支持多种推理策略和在线策略训练,以改善语言模型在数学推理等领域的表现。OpenR框架提供了自动化过程监督数据生成、生成性和判别性PRM训练、多种搜索策略等功能,助力研究者在该领域进行深入研究和开发。
2. 项目快速启动
在开始使用OpenR之前,请确保您的环境中已安装以下依赖:
conda create -n open_reasoner python=3.10
conda activate open_reasoner
pip install -r requirements.txt
pip3 install "fschat[model_worker,webui]"
pip install -U pydantic
接下来,下载所需的基础模型。OpenR使用以下模型:
- Qwen2.5-Math-1.5B-Instruct
- Qwen2.5-Math-7B-Instruct
- peiyi9979/mistral-7b-sft
- peiyi9979/math-shepherd-mistral-7b-prm
请参考Hugging Face模型下载教程,将这些模型下载到相应的目录。
配置环境变量,设置模型路径等信息:
export MODEL_BASE="/path/to/your/models"
export POLICY_MODEL_NAME="your_policy_model"
export VALUE_MODEL_NAME="your_value_model"
export NUM_LM_WORKER="number_of_lm_workers"
export NUM_RM_WORKER="number_of_rm_workers"
启动LM和RM服务:
sh reason/llm_service/create_service_math_shepherd.sh
运行推理:
export PYTHONPATH=$(pwd)
sh scripts/eval/cot_greedy.sh
sh scripts/eval/cot_rerank.sh
sh scripts/eval/beam_search.sh
sh scripts/eval/vanila_mcts.sh
3. 应用案例和最佳实践
OpenR提供了多种推理方法,以下是一些典型的使用案例:
- Greedy Search:使用贪婪搜索策略来生成回答。
- Best-of-N:从N个候选答案中选择最佳答案。
- Beam Search:使用束搜索来生成回答。
- MCTS:使用蒙特卡洛树搜索进行推理。
根据具体的应用场景和需求,选择合适的搜索策略。
4. 典型生态项目
OpenR作为开源项目,已经吸引了一些相关的生态系统项目,例如:
- ModelScope:提供了一个demo页面,用于展示OpenR的推理能力。
- Math-APS:OpenR使用的数据集之一,用于数学推理的研究。
开源社区持续在OpenR的基础上进行扩展和创新,不断丰富其生态系统。