什么是网站的空间,wordpress新主题,网站下雪代码,做360全景的网站文章目录 介绍Verl和SwanLab1. 环境安装2. 使用方法3. 查看训练日志 介绍Verl和SwanLab
verl 是一个灵活、高效且可用于生产环境的强化学习#xff08;RL#xff09;训练框架#xff0c;专为大型语言模型#xff08;LLMs#xff09;的后训练设计。它由字节跳动火山引擎团… 文章目录 介绍Verl和SwanLab1. 环境安装2. 使用方法3. 查看训练日志 介绍Verl和SwanLab
verl 是一个灵活、高效且可用于生产环境的强化学习RL训练框架专为大型语言模型LLMs的后训练设计。它由字节跳动火山引擎团队开源是 HybridFlow 论文的开源实现。verl目前已经被很多优秀的项目采用如TinyZero、RAGEN、Logic R1等。 verl 具有以下特点使其灵活且易于使用
易于扩展的多样化 RL 算法Hybrid 编程模型结合了单控制器和多控制器范式的优点能够灵活表示并高效执行复杂的后训练数据流。用户只需几行代码即可构建 RL 数据流。与现有 LLM 基础设施无缝集成的模块化 API通过解耦计算和数据依赖verl 能够与现有的 LLM 框架如 PyTorch FSDP、Megatron-LM 和 vLLM无缝集成。此外用户可以轻松扩展到其他 LLM 训练和推理框架。灵活的设备映射和并行化支持将模型灵活地映射到不同的 GPU 组上以实现高效的资源利用并在不同规模的集群上具有良好的扩展性。与流行的 HuggingFace 模型轻松集成verl 能够方便地与 HuggingFace 模型进行集成。
verl 也具有以下优势使其运行速度快
最先进的吞吐量通过无缝集成现有的 SOTA LLM 训练和推理框架verl 实现了高生成和训练吞吐量。基于 3D-HybridEngine 的高效 Actor 模型重分片消除了内存冗余并显著减少了在训练和生成阶段之间切换时的通信开销。
更多信息可参考如下链接 verl GitHub仓库链接: https://github.com/volcengine/verl官方文档: https://verl.readthedocs.io/en/latest/index.htmlHybridFlow论文地址: https://arxiv.org/pdf/2409.19256v2 SwanLab 是一个开源的模型训练记录工具常被称为中国版 WeightsBiases Tensorboard。SwanLab面向AI研究者提供了训练可视化、自动日志记录、超参数记录、实验对比、多人协同等功能。在SwanLab上研究者能基于直观的可视化图表发现训练问题对比多个实验找到研究灵感并通过在线链接的分享与基于组织的多人协同训练打破团队沟通的壁垒。 你可以使用verl快速进行大模型强化学习训练同时使用SwanLab进行实验跟踪与可视化。
1. 环境安装
需要环境
Python: Version 3.9CUDA: Version 12.1
参考verl官方文档安装https://verl.readthedocs.io/en/latest/start/install.html
以及需要额外安装SwanLab
pip install -U swanlab2. 使用方法
以verl官方文档的Post-train a LLM using PPO with GSM8K dataset为例。
你仅需要通过在实验的启动命令中增加trainer.logger[swanlab]即可选择swanlab进行实验跟踪。
完整的测试命令如下
PYTHONUNBUFFERED1 python3 -m verl.trainer.main_ppo \trainer.logger[console,swanlab] \data.train_files$HOME/data/gsm8k/train.parquet \data.val_files$HOME/data/gsm8k/test.parquet \data.train_batch_size256 \data.val_batch_size1312 \data.max_prompt_length512 \data.max_response_length256 \actor_rollout_ref.model.pathQwen/Qwen2.5-0.5B-Instruct \actor_rollout_ref.actor.optim.lr1e-6 \actor_rollout_ref.actor.ppo_mini_batch_size64 \actor_rollout_ref.actor.ppo_micro_batch_size_per_gpu4 \actor_rollout_ref.rollout.log_prob_micro_batch_size_per_gpu8 \actor_rollout_ref.rollout.tensor_model_parallel_size1 \actor_rollout_ref.rollout.gpu_memory_utilization0.4 \actor_rollout_ref.ref.log_prob_micro_batch_size_per_gpu4 \critic.optim.lr1e-5 \critic.model.pathQwen/Qwen2.5-0.5B-Instruct \critic.ppo_micro_batch_size_per_gpu4 \algorithm.kl_ctrl.kl_coef0.001 \trainer.val_before_trainFalse \trainer.default_hdfs_dirnull \trainer.n_gpus_per_node1 \trainer.nnodes1 \trainer.save_freq10 \trainer.test_freq10 \trainer.total_epochs15 21 | tee verl_demo.log如果启动训练时你还未登陆SwanLab会出现如下提示。 选择1、2则为使用云端跟踪模式选择后根据引导输入官网的API即可实现在线跟踪。可以在线查看训练跟踪结果。选择3则不上传训练数据采用离线跟踪。
当然你也可以通过环境变量的方式登陆或者设置跟踪模式
export SWANLAB_API_KEY你的登陆API # 设置在线跟踪模式API
export SWANLAB_LOG_DIR设置本地日志存储路径 # 设置本地日志存储路径
export SWANLAB_MODE设置SwanLab的运行模式 # 包含四种模式cloud云端跟踪模式默认、cloud-only仅云端跟踪本地不保存文件、local本地跟踪模式、disabled完全不记录用于debug3. 查看训练日志
完成登陆后会显示如下登陆信息 运行进程即可在SwanLab官网上查看训练日志 更多使用方法可以参考SwanLab查看使用结果 如果你使用本地看板模式则可以通过如下命令打开本地看板
swanlab watch更多详细可以参考SwanLab离线看板模式
服务器设置端口号可以查看离线看板端口号