Verifiers: 强化学习与LLM在可验证环境中的结合
1. 项目介绍
Verifiers 是一个开源项目,旨在为大型语言模型(LLM)的强化学习提供工具,特别是在可验证的环境中。该项目的核心是支持多轮工具调用和多方交互的强化学习。它包含了一些预设的环境和工具,允许研究人员和开发者创建自定义的多轮环境,以进行各种复杂的任务。
2. 项目快速启动
在开始之前,请确保您的环境中已安装了必要的依赖。
git clone https://github.com/willccbb/verifiers.git
cd verifiers
uv sync
uv pip install flash-attn --no-build-isolation
source .venv/bin/activate
确保您的 wandb
和 huggingface-cli
登录已设置,或者在 training_args
中设置 report_to=None
。
多GPU训练
以下是在具有8个GPU的节点上,使用4个推理GPU和4个训练GPU进行训练的示例:
- 启动vLLM推理服务器:
CUDA_VISIBLE_DEVICES=0,1,2,3 python verifiers/inference/vllm_serve.py --model "Qwen/Qwen2.5-7B-Instruct" --tensor_parallel_size 4 --max_model_len 8192 --gpu_memory_utilization 0.9 --enable_prefix_caching True
- 运行训练脚本:
CUDA_VISIBLE_DEVICES=4,5,6,7 accelerate launch --num-processes 4 --config-file configs/zero3.yaml verifiers/examples/math_train.py
3. 应用案例和最佳实践
项目提供了一个示例脚本 verifiers/examples/math_train.py
,展示了如何使用 ToolEnv
环境和Python工具进行多轮GRPO训练。
评估模型的多轮工具使用也可以在不进行强化学习训练的情况下离线进行。示例脚本 verifiers/examples/math_eval.py
展示了如何进行这种评估。
4. 典型生态项目
Verifiers 项目是强化学习和LLM领域的一个典型生态项目,它为以下类型的任务提供了基础:
- 多轮对话系统
- 代码生成与调试
- 数学问题解决
通过继承 MultiTurnEnv
类并实现相应的 is_completed
和 env_response
方法,开发者可以创建自己的多轮环境,以适应不同的应用场景。
以上就是Verifiers项目的简要介绍和快速启动指南。希望这能帮助您开始探索这个强大的工具集。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考