❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
微信公众号|搜一搜:蚝油菜花
🚀 快速阅读
- OpenR 是由多所顶尖高校联合推出的开源框架,专门用于提升大型语言模型的推理能力。
- 该框架整合了搜索、强化学习和过程监督技术,支持在线强化学习训练和多种搜索策略。
- OpenR 广泛应用于数学问题求解、代码生成调试、自然语言处理等领域,显著提高推理效率和准确性。
正文(附运行示例)
OpenR 是什么
OpenR 是一个由伦敦大学学院(UCL)、上海交通大学、利物浦大学、香港科技大学(广州)和西湖大学联合开发的开源框架。它结合了搜索、强化学习和过程监督技术,旨在提升大型语言模型(LLM)的推理能力。受 OpenAI 的 o1 模型启发,OpenR 通过在推理过程中整合强化学习,显著提高模型的推理能力,是首个提供集成技术开源实现的框架。
OpenR 的主要功能
- 集成训练与推理:在一个统一平台上集成数据获取、强化学习训练(在线和离线)及非自回归解码。
- 过程奖励模型(PRM):在训练期间优化 LLM 策略,在解码阶段引导 LLM 搜索过程。
- 强化学习环境:将数学问题建模为马尔可夫决策过程(MDP),优化模型策略。
- 多策略搜索与解码:支持 Beam Search、Best-of-N 等多种搜索算法,结合 PRM 进行引导搜索和评分。
- 数据增强与自动化标注:自动化生成合成样本,减少人工标注依赖,提高数据收集效率。
OpenR 的技术原理
- 过程奖励模型(PRM):评估解决方案步骤的正确性,基于监督学习进行训练。
- 策略迭代:在训练期间,PRM 基于策略优化技术改进 LLM 策略,在解码阶段引导 LLM 搜索过程。
- 马尔可夫决策过程(MDP):将数学问题转换为 MDP,模型生成推理步骤作为动作。
- 强化学习:使用 PPO 和 GRPO 等算法进行在线强化学习训练,优化语言输出。
- 搜索算法:在解码阶段,PRM 评估解决步骤的准确性,结合语言模型进行引导搜索和评分。
如何运行 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
cd envs/MATH/latex2sympy
pip install -e .
cd -
下载基础模型
确保下载以下模型:
Qwen2.5-Math-1.5B-Instruct,Qwen2.5-Math-7B-InstructQwen2.5-Math-RM-72Bpeiyi9979/mistral-7b-sftpeiyi9979/math-shepherd-mistral-7b-prm
快速开始
修改reason/llm_service/目录下脚本中的变量:
$MODEL_BASE:模型存储目录。$POLICY_MODEL_NAME:策略模型名称。$VALUE_MODEL_NAME:价值模型名称。$NUM_LM_WORKER:语言模型工作进程数。$NUM_RM_WORKER:奖励模型工作进程数。
启动 LM & RM 服务
sh reason/llm_service/create_service_math_shepherd.sh
运行推理
⚠️ 确保脚本中的输入(--LM, --RM)与待处理工作进程中的变量($POLICY_MODEL_NAME, $VALUE_MODEL_NAME)一致!
export PYTHONPATH=$(pwd)
sh scripts/eval/cot_greedy.sh
sh scripts/eval/cot_rerank.sh
sh scripts/eval/beam_search.sh
运行训练
⚠️ 在训练之前,请修改train/mat/scripts/train_llm.sh中的$dataset_path, $model_name_or_path和$prm_name_or_path。
cd train/mat/scripts
bash train_llm.sh
运行 PRM 学习
cd prm/code
python finetune_qwen_single_gpu.py --model_path $YOUR_MODEL_PATH --train_data_path $TRAIN_DATA_PATH --test_data_path $TEST_DATA_PATH
torchrun --nproc_per_node=2 finetune_qwen.py --model_path $YOUR_MODEL_PATH --data_path $YOUR_DATA_FOLDER_PATH --datasets both
资源
- 项目官网:openreasoner.github.io
- GitHub 仓库:github.com/openreasone…
- 技术论文:github.com/openreasone…
- 数据集:MATH-APS
- 过程奖励模型:MATH-psa
❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
微信订阅号|搜一搜:蚝油菜花