安装
前置要求
在安装 Relax 之前,请确保您具备以下条件:
- Python 3.12
- CUDA 12.9+(用于 GPU 支持)
- Ray 2.0+
- PyTorch 2.10+
安装方法
方法 1:使用 Docker 镜像(推荐)
由于 Relax 可能会包含针对 sglang/megatron 的临时补丁(patch)。为避免潜在的环境配置问题,强烈建议用户使用我们提供的最新 Docker 镜像,它已预置好所有依赖。
当前镜像支持 H 系列 GPU 运行。
请执行以下命令,克隆代码仓库、拉取最新镜像并启动一个交互式容器:
bash
# 克隆代码仓库
git clone https://github.com/redai-infra/Relax.git
# 拉取 Docker 镜像
docker pull relaxrl/relax:latest
# 运行容器,将本地代码仓库挂载到容器内的 /root/Relax
docker run -it --gpus all -v $(pwd)/Relax:/root/Relax relaxrl/relax:latest /bin/bash或者基于 Dockerfile 构建镜像:
bash
# 进入 Relax 根目录
cd Relax
# 构建 sglang 运行时 docker 镜像,用于部署
DOCKER_BUILDKIT=1 docker build \
-f docker/Dockerfile \
--target sglang \
-t {your image name}:{tag} \
--build-arg HTTP_PROXY={代理地址(可选配置)} \
--build-arg HTTPS_PROXY={代理地址(可选配置)} \
--build-arg NO_PROXY={bypass代理地址(可选配置)} \
.
# 构建 relax 运行时 Docker 镜像,用于训练或部署
DOCKER_BUILDKIT=1 docker build \
-f docker/Dockerfile \
--target relax \
-t {your image name}:{tag} \
--build-arg HTTP_PROXY={代理地址(可选配置)} \
--build-arg HTTPS_PROXY={代理地址(可选配置)} \
--build-arg NO_PROXY={bypass代理地址(可选配置)} \
.更多 Docker 发布信息请参见 Docker README。
方法 2:从源码安装
bash
# 克隆仓库
git clone https://github.com/redai-infra/Relax.git
cd Relax
# 安装依赖
pip install -r requirements.txt
# 以开发模式安装 Relax
pip install -e .
# scripts 的示例脚本中需要执行
export RELAX="your relax path"
# 等价于
export PYTHONPATH=your_relax_path:$PYTHONPATH请注意 Relax 依赖 sglang 和 megatron,需要您前往官网自行安装:
bash
# scripts 的示例脚本中需要执行
export MEGATRON="your megatron path"
# 等价于
export PYTHONPATH=your_megatron_path:$PYTHONPATH此外 Relax 依赖 Megatron Bridge 进行权重转换。安装方式参考 docker/Dockerfile,将 Bridge 源码与 Megatron-LM submodule 合并到同一目录后加入 PYTHONPATH:
bash
export MEGATRON_BRIDGE_COMMIT=2faedbf6fe3c422835a44b2b360cadcb2a116a54
git clone https://github.com/NVIDIA-NeMo/Megatron-Bridge.git
cd Megatron-Bridge && git checkout ${MEGATRON_BRIDGE_COMMIT} && \
git submodule update --init --recursive && ./scripts/switch_mcore.sh dev
mkdir -p /your/path/Megatron-LM
cp -r src/megatron /your/path/Megatron-LM/
rsync -avP 3rdparty/Megatron-LM/megatron/ /your/path/Megatron-LM/megatron/
export PYTHONPATH=/your/path/Megatron-LM:$PYTHONPATH