WebRL:自进化在线课程强化学习框架,提升开源大模型网络任务能力的新框架

381 阅读4分钟

❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

  1. WebRL 是一种自进化在线课程强化学习框架,用于训练高性能的网络代理。
  2. 该框架通过动态生成任务和结果监督奖励模型(ORM)评估任务成功与否,显著提升了开源 LLM 在 WebArena-Lite 基准测试中的表现。
  3. WebRL 的主要功能包括自我进化课程学习、结果监督奖励模型(ORM)、自适应强化学习策略和经验回放缓冲区。

正文(附运行示例)

WebRL 是什么

WebRL.png

WebRL 是清华大学和智谱 AI 联合推出的一种自进化在线课程强化学习框架,用于训练使用开放大型语言模型(LLMs)的高性能网络代理。WebRL 动态生成任务,通过结果监督奖励模型(ORM)评估任务成功与否,并采用自适应强化学习策略解决训练任务稀缺、反馈信号稀疏和在线学习中的策略分布漂移等挑战,显著提升了 Llama-3.1 和 GLM-4 等模型在 WebArena-Lite 基准测试中的成功率。

WebRL 的主要功能

  • 自我进化课程学习:WebRL 能从失败的尝试中生成新任务,动态调整任务的难度和复杂性,适应智能体当前的技能水平。
  • 结果监督奖励模型(ORM):WebRL 训练一个 ORM 评估任务的成功与否,提供二进制奖励信号(成功为 1,失败为 0),指导智能体的学习过程。
  • 自适应强化学习策略:基于 KL 散度约束的策略更新算法,WebRL 限制策略更新过程中的分布漂移,确保智能体在新任务学习中不会偏离已有知识太远。
  • 经验回放缓冲区:WebRL 用经验回放缓冲区保留先前的成功经验,减轻灾难性遗忘的风险,在训练中重用经验。
  • 持续性能提升:WebRL 基于迭代自我进化,让智能体在在线环境中持续、一致地提高性能。

WebRL 的技术原理

  • 问题表述:WebRL 将网络任务建模为有限视界的马尔可夫决策过程(MDP),定义状态、动作、奖励和转移概率。
  • ORM 训练:基于训练 LLM 作为 ORM,自动化评估代理的执行轨迹是否成功完成任务,提供反馈信号。
  • 强化学习:在在线网络环境中,WebRL 用自我进化的课程学习策略动态生成任务,用 KL 约束策略更新算法防止策略分布的大幅漂移。
  • 经验回放:基于经验回放缓冲区来保留先前的知识,减轻灾难性遗忘的风险,用存储成功轨迹避免对错误轨迹的中间状态进行准确估计的挑战。
  • 自我进化的课程学习策略:WebRL 实施生成和过滤的两步流程,生成逐渐更具挑战性的任务,且仍然适合代理当前的能力,基于 In-breadth evolving 技术创建新指令。
  • 策略更新:WebRL 在策略更新时考虑新旧策略之间的 KL 散度,确保策略的平滑过渡,避免因策略更新导致的性能下降。

如何运行 WebRL

依赖项

首先,创建一个 conda 环境并安装所有 pip 包依赖项。

conda create -n webrl python==3.10
conda activate webrl

cd WebRL
pip install -e .

模型检查点

WebRL-GLM-4-9B 检查点已发布,我们使用它:

我们还将提供 ORM 的检查点。

训练 SFT 模型

我们使用 LLaMA-Factory 训练 SFT 基线,这是 WebRL 的初始模型。我们发布了训练代码和数据。你可以使用以下命令训练 SFT 基线:

cd LLaMA-Factory
bash run.sh examples/train_full/llama3_full_policy_web.yaml

训练 WebRL

在训练 SFT 基线后,应将其用作演员和评论家的初始模型。你可以使用以下命令训练 WebRL:

bash run_multinode.sh

此命令用于在每个阶段训练演员和评论家。

生成新指令

你可以使用以下命令生成新指令:

python scripts/gen_task.py

交互和评估

即将发布基于 VAB-WebArena-Lite 的交互脚本,具体修改将在本周内发布。

资源

  1. GitHub 仓库:github.com/THUDM/WebRL
  2. arXiv 技术论文:arxiv.org/pdf/2411.02…

❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦s