Qwen2.5VLGRPOwithSGLang


文档摘要

Qwen2.5VL GRPO with SGLang 环境配置 创建新的 docker 使用前需要配置好 ,参考这个过程。 进入 docker 后,可以查看被映射的环境变量: 以后每次从 docker 里面 exit 出来,再用这个指令可以重启: 基于源码安装 SGLang 配置 python 环境 先安装 veRL,再安装 SGLang。 如果遇到这个报错: 按照下面的步骤 fix 后安装 SGLang,为了对齐 torch 版本。 额外安装 依赖: 8 卡启动 Qwen2.5VL GRPO 训练脚本,并且使用 SGLang 作为 rollout 引擎 打开你 docker 里面的 文件,去掉 examples/grpotrainer/runqwen25vl-7b.

Qwen2.5VL GRPO with SGLang

环境配置

创建新的 docker

使用前需要配置好 WANDB_API_KEY,参考这个过程

# 如果你的系统没有配置过 HF_TOKEN 和 WANDB_API_KEY,请先配置好 # 这里的 cache 映射路径是在 atlas 集群上,如果需要使用自己的路径,请自行修改 docker run -it --name h100_verl_{your_name} --gpus all \ --shm-size 32g \ -v /.cache:/root/.cache \ --env "HF_TOKEN=$HF_TOKEN" \ --env "WANDB_API_KEY=$WANDB_API_KEY" \ --ipc=host \ lmsysorg/sglang:latest \ /bin/bash

进入 docker 后,可以查看被映射的环境变量:

echo $HF_TOKEN echo $WANDB_API_KEY

以后每次从 docker 里面 exit 出来,再用这个指令可以重启:

docker start -i h100_verl_{your_name}

基于源码安装 SGLang

配置 python 环境

mkdir -p /tmp chmod 1777 /tmp apt update apt install -y python3.10 python3.10-venv python3 -m ensurepip --upgrade python3 -m venv ~/.python/verl-sglang source ~/.python/verl-sglang/bin/activate python3 -m pip install --upgrade pip python3 -m pip install --upgrade uv

先安装 veRL,再安装 SGLang。

cd ~ git clone https://github.com/volcengine/verl.git cd verl python3 -m uv pip install -e ".[sglang,geo]" python3 -m uv pip install -r ./requirements.txt

如果遇到这个报错:

ModuleNotFoundError: No module named 'torch' hint: This error likely indicates that `flash-attn@2.7.4.post1` depends on `torch`, but doesn't declare it as a build dependency. If `flash-attn` is a first-party package, consider adding `torch` to its `build-system.requires`. Otherwise, `uv pip install torch` into the environment and re-run with `--no-build-isolation`.

按照下面的步骤 fix

python3 -m uv pip install wheel python3 -m uv pip install -r ./requirements.txt --no-build-isolation

后安装 SGLang,为了对齐 torch 版本。

cd ~ git clone https://github.com/sgl-project/sglang.git cd sglang python3 -m uv pip install --upgrade pip python3 -m uv pip install -e "python[all]" --find-links https://flashinfer.ai/whl/cu124/torch2.6/flashinfer-python

额外安装qwen-vl依赖:

uv pip install qwen_vl_utils

8 卡启动 Qwen2.5VL GRPO 训练脚本,并且使用 SGLang 作为 rollout 引擎

cd ~/verl export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 # 拉取并预处理 geo3k 数据集 python examples/data_preprocess/geo3k.py --local_dir ~/data/geo3k

打开你 docker 里面的 ~/verl/examples/grpo_trainer/run_qwen2_5_vl-7b.sh 文件,去掉 examples/grpo_trainer/run_qwen2_5_vl-7b.sh 结尾的 $@

修改结束后,启动 8 卡训练即可

bash examples/grpo_trainer/run_qwen2_5_vl-7b.sh sglang

作者与出处
原作者: zhaochenyang20
来源:zhaochenyang20
许可证:Apache-2.0
整理: 灏天文库整理
由灏天文库结构化整理,提供目录导航、全文检索与在线阅读,便于系统化学习
发布者: 作者: zhaochenyang20 转发
评论区 (0)
U