Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
blank_issues_enabled: true
contact_links:
- name: Documentation
url: https://redai-infra.github.io/Relax
url: https://redai-studio.github.io/Relax
about: Check the documentation for guides and API reference
- name: Questions & Discussions
url: https://github.com/redai-infra/Relax/discussions
url: https://github.com/redai-studio/Relax/discussions
about: Ask questions and discuss ideas with the community
4 changes: 2 additions & 2 deletions .github/workflows/deploy-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ concurrency:
jobs:
build:
runs-on: ubuntu-latest
if: github.repository == 'redai-infra/Relax'
if: github.repository == 'redai-studio/Relax'
steps:
- name: Checkout
uses: actions/checkout@v4
Expand Down Expand Up @@ -61,7 +61,7 @@ jobs:
deploy:
needs: build
runs-on: ubuntu-latest
if: github.repository == 'redai-infra/Relax'
if: github.repository == 'redai-studio/Relax'
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
Expand Down
6 changes: 3 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ This project follows a standard code of conduct. Please be respectful, inclusive

```bash
# Clone the repository
git clone https://github.com/redai-infra/Relax.git
git clone https://github.com/redai-studio/Relax.git
cd Relax

# Create virtual environment (recommended)
Expand Down Expand Up @@ -155,7 +155,7 @@ feat(rollout): add streaming data consumption for async mode

## Reporting Bugs

Use the [Bug Report template](https://github.com/redai-infra/Relax/issues/new?template=bug_report.md) and include:
Use the [Bug Report template](https://github.com/redai-studio/Relax/issues/new?template=bug_report.md) and include:

- **Environment** — OS, Python version, CUDA version, GPU type
- **Steps to Reproduce** — Minimal commands to trigger the bug
Expand All @@ -165,7 +165,7 @@ Use the [Bug Report template](https://github.com/redai-infra/Relax/issues/new?te

## Requesting Features

Use the [Feature Request template](https://github.com/redai-infra/Relax/issues/new?template=feature_request.md) and include:
Use the [Feature Request template](https://github.com/redai-studio/Relax/issues/new?template=feature_request.md) and include:

- **Problem Statement** — What problem does this solve?
- **Proposed Solution** — How should it work?
Expand Down
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,13 @@
<a href="https://arxiv.org/abs/2604.11554">
<img src="https://img.shields.io/static/v1?label=arXiv&message=Paper&color=red" alt="arXiv">
</a>
<a href="https://redai-infra.github.io/Relax">
<a href="https://redai-studio.github.io/Relax">
<img src="https://img.shields.io/badge/docs-latest-brightgreen.svg" alt="Documentation">
</a>
<a href="https://github.com/redai-infra/Relax/discussions/48" target="_blank">
<a href="https://github.com/redai-studio/Relax/discussions/48" target="_blank">
<img src="https://img.shields.io/badge/WeChat-green?logo=wechat" alt="WeChat QR">
</a>
<a href="https://github.com/redai-infra/Relax/discussions/30" target="_blank">
<a href="https://github.com/redai-studio/Relax/discussions/30" target="_blank">
<img src="https://img.shields.io/badge/Docker-Image-blue?logo=docker" alt="Docker Image">
</a>
</p>
Expand All @@ -34,7 +34,7 @@

______________________________________________________________________

**Relax** (**R**einforcement **E**ngine **L**everaging **A**gentic **X**-modality) is a high-performance reinforcement learning post-training framework open-sourced by the Xiaohongshu AI Infra Team for multimodal large language models. Built on Ray Serve with a service-oriented architecture, Relax uses Megatron-LM as the training backend and SGLang as the inference engine. Through the [TransferQueue](https://github.com/redai-infra/TransferQueue) data transfer system, it achieves complete decoupling of training and inference, supporting end-to-end multimodal RL training from text to images, videos, and audio.
**Relax** (**R**einforcement **E**ngine **L**everaging **A**gentic **X**-modality) is a high-performance reinforcement learning post-training framework open-sourced by the Xiaohongshu AI Infra Team for multimodal large language models. Built on Ray Serve with a service-oriented architecture, Relax uses Megatron-LM as the training backend and SGLang as the inference engine. Through the [TransferQueue](https://github.com/redai-studio/TransferQueue) data transfer system, it achieves complete decoupling of training and inference, supporting end-to-end multimodal RL training from text to images, videos, and audio.

______________________________________________________________________

Expand Down Expand Up @@ -129,15 +129,15 @@ The recommended way to run Relax is via the official Docker image, which ships w

```bash
# Pull the official image
docker pull ghcr.io/redai-infra/relaxrl:latest
docker pull ghcr.io/redai-studio/relaxrl:latest

# Launch a container with GPUs, shared memory, and your workspace mounted
docker run -it --gpus all --ipc=host --network=host \
-v /path/to/your/workspace:/root \
ghcr.io/redai-infra/relaxrl:latest bash
ghcr.io/redai-studio/relaxrl:latest bash

# Inside the container
git clone https://github.com/redai-infra/Relax.git /root/Relax
git clone https://github.com/redai-studio/Relax.git /root/Relax
cd /root/Relax && pip install -e .
```

Expand Down Expand Up @@ -246,7 +246,7 @@ ______________________________________________________________________

## 📚 Documentation

Full bilingual documentation is available at **[redai-infra.github.io/Relax](https://redai-infra.github.io/Relax)**.
Full bilingual documentation is available at **[redai-studio.github.io/Relax](https://redai-studio.github.io/Relax)**.

______________________________________________________________________

Expand Down
16 changes: 8 additions & 8 deletions README_zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,13 @@
<a href="https://arxiv.org/abs/2604.11554">
<img src="https://img.shields.io/static/v1?label=arXiv&message=Paper&color=red" alt="arXiv">
</a>
<a href="https://redai-infra.github.io/Relax">
<a href="https://redai-studio.github.io/Relax">
<img src="https://img.shields.io/badge/docs-latest-brightgreen.svg" alt="Documentation">
</a>
<a href="https://github.com/redai-infra/Relax/discussions/48" target="_blank">
<a href="https://github.com/redai-studio/Relax/discussions/48" target="_blank">
<img src="https://img.shields.io/badge/WeChat-green?logo=wechat" alt="WeChat QR">
</a>
<a href="https://github.com/redai-infra/Relax/discussions/30" target="_blank">
<a href="https://github.com/redai-studio/Relax/discussions/30" target="_blank">
<img src="https://img.shields.io/badge/Docker-Image-blue?logo=docker" alt="Docker Image">
</a>
</p>
Expand All @@ -34,7 +34,7 @@

______________________________________________________________________

**Relax**(**R**einforcement **E**ngine **L**everaging **A**gentic **X**-modality)是小红书 AI 平台开源的、面向多模态大模型的高性能强化学习后训练框架。Relax 基于 Ray Serve 构建面向服务的架构,以 Megatron-LM 为训练后端、SGLang 为推理引擎,通过 [TransferQueue](https://github.com/redai-infra/TransferQueue) 数据传输系统实现训练与推理的完全解耦,支持从文本到图像、视频、音频的全模态强化学习训练。
**Relax**(**R**einforcement **E**ngine **L**everaging **A**gentic **X**-modality)是小红书 AI 平台开源的、面向多模态大模型的高性能强化学习后训练框架。Relax 基于 Ray Serve 构建面向服务的架构,以 Megatron-LM 为训练后端、SGLang 为推理引擎,通过 [TransferQueue](https://github.com/redai-studio/TransferQueue) 数据传输系统实现训练与推理的完全解耦,支持从文本到图像、视频、音频的全模态强化学习训练。

______________________________________________________________________

Expand Down Expand Up @@ -129,15 +129,15 @@ ______________________________________________________________________

```bash
# 拉取官方镜像
docker pull ghcr.io/redai-infra/relaxrl:latest
docker pull ghcr.io/redai-studio/relaxrl:latest

# 启动容器,挂载 GPU、共享内存与工作目录
docker run -it --gpus all --ipc=host --network=host \
-v /path/to/your/workspace:/root \
ghcr.io/redai-infra/relaxrl:latest bash
ghcr.io/redai-studio/relaxrl:latest bash

# 容器内克隆仓库并安装
git clone https://github.com/redai-infra/Relax.git /root/Relax
git clone https://github.com/redai-studio/Relax.git /root/Relax
cd /root/Relax && pip install -e .
```

Expand Down Expand Up @@ -246,7 +246,7 @@ ______________________________________________________________________

## 📚 文档

完整的双语文档请访问 **[redai-infra.github.io/Relax](https://redai-infra.github.io/Relax)**。
完整的双语文档请访问 **[redai-studio.github.io/Relax](https://redai-studio.github.io/Relax)**。

______________________________________________________________________

Expand Down
4 changes: 2 additions & 2 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ RUN MAX_JOBS=64 \
rm -rf /opt/flash-attention/

RUN pip -v install --no-cache-dir --no-build-isolation "transformer_engine[pytorch]==2.14.1" && \
TMS_CUDA_MAJOR=$(python -c 'import torch; print(torch.version.cuda.split(".")[0])') pip install git+https://github.com/redai-infra/torch_memory_saver.git@afc13785c50119048e2dd8ac497cc9e29ec75bd4 --no-cache-dir --force-reinstall && \
TMS_CUDA_MAJOR=$(python -c 'import torch; print(torch.version.cuda.split(".")[0])') pip install git+https://github.com/redai-studio/torch_memory_saver.git@afc13785c50119048e2dd8ac497cc9e29ec75bd4 --no-cache-dir --force-reinstall && \
pip install nvidia-modelopt[torch]>=0.37.0 --no-build-isolation --no-cache-dir && \
pip install "numpy<2" nvidia-cudnn-cu12==9.16.0.29 --no-cache-dir && \
NVCC_APPEND_FLAGS="--threads 32" \
Expand Down Expand Up @@ -116,7 +116,7 @@ COPY requirements.txt /tmp/requirements.txt
RUN pip install --ignore-installed PyJWT && \
pip install -r /tmp/requirements.txt --no-cache-dir && \
pip install --no-cache-dir "compressed_tensors>=0.13.0" tensordict==0.10.0 pyvers==0.1.0 'nvidia-modelopt[hf]==0.44.0' --no-deps && \
pip install "transferqueue @ git+https://github.com/redai-infra/TransferQueue.git@58054a33834aadbcf76aacd6b1e32e25c030f2c9" --no-deps
pip install "transferqueue @ git+https://github.com/redai-studio/TransferQueue.git@58054a33834aadbcf76aacd6b1e32e25c030f2c9" --no-deps

# sgl-router: override the official wheel (pulled by requirements.txt above) with
# slime's r3-capable fork. The official sglang-router drops the routed_experts
Expand Down
2 changes: 1 addition & 1 deletion docker/Dockerfile.npu
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ RUN pip_install() { pip install "$@" || pip install --index-url https://pypi.org
cd /root && rm -rf /root/pytorch && \
pip_install triton-ascend==3.2.0 && \
pip_install tensordict==0.10.0 pyvers==0.1.0 --no-deps
RUN git clone https://github.com/redai-infra/TransferQueue.git /root/TransferQueue && \
RUN git clone https://github.com/redai-studio/TransferQueue.git /root/TransferQueue && \
cd /root/TransferQueue && \
git checkout 58054a33834aadbcf76aacd6b1e32e25c030f2c9 && \
pip install /root/TransferQueue --no-deps --no-build-isolation && \
Expand Down
6 changes: 3 additions & 3 deletions docs/.vitepress/config.mts
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,7 @@ export default defineConfig({
{
text: 'Resources',
items: [
{ text: 'GitHub', link: 'https://github.com/redai-infra/Relax' },
{ text: 'GitHub', link: 'https://github.com/redai-studio/Relax' },
{ text: 'Paper', link: 'https://arxiv.org/abs/2604.11554' }
]
}
Expand Down Expand Up @@ -345,7 +345,7 @@ export default defineConfig({
{
text: '资源',
items: [
{ text: 'GitHub', link: 'https://github.com/redai-infra/Relax' },
{ text: 'GitHub', link: 'https://github.com/redai-studio/Relax' },
{ text: '论文', link: 'https://arxiv.org/abs/2604.11554' }
]
}
Expand Down Expand Up @@ -474,7 +474,7 @@ export default defineConfig({
themeConfig: {
logo: '/rednote-logo.png',
socialLinks: [
{ icon: 'github', link: 'https://github.com/redai-infra/Relax' }
{ icon: 'github', link: 'https://github.com/redai-studio/Relax' }
],
search: {
provider: 'local'
Expand Down
4 changes: 2 additions & 2 deletions docs/.vitepress/theme/CallToAction.vue
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ const subtitle = computed(() =>
const primaryLabel = computed(() => isZh.value ? '参与贡献' : 'Contribute Now')
const secondaryLabel = computed(() => isZh.value ? '讨论区' : 'Discussion')

const primaryLink = 'https://github.com/redai-infra/Relax/blob/main/CONTRIBUTING.md'
const secondaryLink = 'https://github.com/redai-infra/Relax/discussions'
const primaryLink = 'https://github.com/redai-studio/Relax/blob/main/CONTRIBUTING.md'
const secondaryLink = 'https://github.com/redai-studio/Relax/discussions'
</script>

<template>
Expand Down
2 changes: 1 addition & 1 deletion docs/deploy-docs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ if [ "$1" == "github" ]; then
fi

# Push to GitHub Pages
git push -f git@github.com:redai-infra/Relax.git gh-pages
git push -f git@github.com:redai-studio/Relax.git gh-pages

echo "✅ Deployed to GitHub Pages!"

Expand Down
4 changes: 2 additions & 2 deletions docs/en/api/actor-fwd.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,5 +37,5 @@ The ActorFwd runs a background loop that:

## Source

- Implementation: [`relax/components/actor_fwd.py`](https://github.com/redai-infra/Relax/blob/main/relax/components/actor_fwd.py)
- Base class: [`relax/components/base.py`](https://github.com/redai-infra/Relax/blob/main/relax/components/base.py)
- Implementation: [`relax/components/actor_fwd.py`](https://github.com/redai-studio/Relax/blob/main/relax/components/actor_fwd.py)
- Base class: [`relax/components/base.py`](https://github.com/redai-studio/Relax/blob/main/relax/components/base.py)
4 changes: 2 additions & 2 deletions docs/en/api/actor.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,5 +34,5 @@ The Actor runs a background training loop that:

## Source

- Implementation: [`relax/components/actor.py`](https://github.com/redai-infra/Relax/blob/main/relax/components/actor.py)
- Base class: [`relax/components/base.py`](https://github.com/redai-infra/Relax/blob/main/relax/components/base.py)
- Implementation: [`relax/components/actor.py`](https://github.com/redai-studio/Relax/blob/main/relax/components/actor.py)
- Base class: [`relax/components/base.py`](https://github.com/redai-studio/Relax/blob/main/relax/components/base.py)
4 changes: 2 additions & 2 deletions docs/en/api/genrm.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,5 +45,5 @@ See [GenRM example](/en/examples/generative-reward-model) for full configuration

## Source

- Implementation: [`relax/components/genrm.py`](https://github.com/redai-infra/Relax/blob/main/relax/components/genrm.py)
- Base class: [`relax/components/base.py`](https://github.com/redai-infra/Relax/blob/main/relax/components/base.py)
- Implementation: [`relax/components/genrm.py`](https://github.com/redai-studio/Relax/blob/main/relax/components/genrm.py)
- Base class: [`relax/components/base.py`](https://github.com/redai-studio/Relax/blob/main/relax/components/base.py)
4 changes: 2 additions & 2 deletions docs/en/api/rollout.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,5 +39,5 @@ In fully-async mode, the Rollout service coordinates with the Actor for weight u

## Source

- Implementation: [`relax/components/rollout.py`](https://github.com/redai-infra/Relax/blob/main/relax/components/rollout.py)
- Base class: [`relax/components/base.py`](https://github.com/redai-infra/Relax/blob/main/relax/components/base.py)
- Implementation: [`relax/components/rollout.py`](https://github.com/redai-studio/Relax/blob/main/relax/components/rollout.py)
- Base class: [`relax/components/base.py`](https://github.com/redai-studio/Relax/blob/main/relax/components/base.py)
2 changes: 1 addition & 1 deletion docs/en/guide/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -519,7 +519,7 @@ SFT also uses the general dataset flags from [Data Configuration](#data-configur
|-----------|------|---------|-------------|
| `--autoscaler-config` | str | None | Path to autoscaler YAML configuration file. Enables autoscaling when set, disabled when not set. Example: `--autoscaler-config relax/utils/autoscaler/autoscaler.yaml` |

For autoscaler YAML configuration details, see [`relax/utils/autoscaler/autoscaler.yaml`](https://github.com/redai-infra/Relax/blob/main/relax/utils/autoscaler/autoscaler.yaml).
For autoscaler YAML configuration details, see [`relax/utils/autoscaler/autoscaler.yaml`](https://github.com/redai-studio/Relax/blob/main/relax/utils/autoscaler/autoscaler.yaml).

### Scale-Out Operation Parameters

Expand Down
4 changes: 2 additions & 2 deletions docs/en/guide/customize-training.md
Original file line number Diff line number Diff line change
Expand Up @@ -460,6 +460,6 @@ bash scripts/entrypoint/ray-job.sh scripts/training/multimodal/run-qwen35-9B-8xg

## Getting Help

- [GitHub Issues](https://github.com/redai-infra/Relax/issues)
- [Discussions](https://github.com/redai-infra/Relax/discussions)
- [GitHub Issues](https://github.com/redai-studio/Relax/issues)
- [Discussions](https://github.com/redai-studio/Relax/discussions)
- [Introduction](../guide/introduction.md)
2 changes: 1 addition & 1 deletion docs/en/guide/fully-async-training.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ In Fully Async mode, Actor uses `StreamingDataLoader` for **streaming data consu
#### StreamingDataset

```python
# TransferQueue (installed from https://github.com/redai-infra/TransferQueue)
# TransferQueue (installed from https://github.com/redai-studio/TransferQueue)
class StreamingDataset(IterableDataset):
"""Streaming dataset that dynamically fetches data from TransferQueue"""

Expand Down
2 changes: 1 addition & 1 deletion docs/en/guide/how-to-contribute.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Create a virtual environment and install dependencies:

```bash
# Clone the repository
git clone https://github.com/redai-infra/Relax.git
git clone https://github.com/redai-studio/Relax.git
cd Relax

# Create virtual environment
Expand Down
12 changes: 6 additions & 6 deletions docs/en/guide/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,13 @@ Run the following commands to clone the repository, pull the latest image, and s

```bash
# Clone the repository
git clone https://github.com/redai-infra/Relax.git
git clone https://github.com/redai-studio/Relax.git

# Pull the Docker image
docker pull ghcr.io/redai-infra/relaxrl:latest
docker pull ghcr.io/redai-studio/relaxrl:latest

# Run the container, mounting the local repository to /root/Relax inside the container
docker run -it --gpus all -v $(pwd)/Relax:/root/Relax ghcr.io/redai-infra/relaxrl:latest /bin/bash
docker run -it --gpus all -v $(pwd)/Relax:/root/Relax ghcr.io/redai-studio/relaxrl:latest /bin/bash
```

Alternatively, build the image from the Dockerfile:
Expand Down Expand Up @@ -57,13 +57,13 @@ DOCKER_BUILDKIT=1 docker build \
.
```

For more details on Docker releases, see [Docker README](https://github.com/redai-infra/Relax/blob/main/docker/README.md).
For more details on Docker releases, see [Docker README](https://github.com/redai-studio/Relax/blob/main/docker/README.md).

### Method 2: Install from Source

```bash
# Clone the repository
git clone https://github.com/redai-infra/Relax.git
git clone https://github.com/redai-studio/Relax.git
cd Relax

# Install dependencies
Expand All @@ -87,7 +87,7 @@ export MEGATRON="your megatron path"
export PYTHONPATH=your_megatron_path:$PYTHONPATH
```

Additionally, Relax depends on [Megatron Bridge](https://github.com/NVIDIA-NeMo/Megatron-Bridge) for weight conversion. Follow the install steps in [`docker/Dockerfile`](https://github.com/redai-infra/Relax/blob/main/docker/Dockerfile): merge the Bridge sources with the Megatron-LM submodule into a single directory and add it to `PYTHONPATH`:
Additionally, Relax depends on [Megatron Bridge](https://github.com/NVIDIA-NeMo/Megatron-Bridge) for weight conversion. Follow the install steps in [`docker/Dockerfile`](https://github.com/redai-studio/Relax/blob/main/docker/Dockerfile): merge the Bridge sources with the Megatron-LM submodule into a single directory and add it to `PYTHONPATH`:

```bash
export MEGATRON_BRIDGE_COMMIT=2faedbf6fe3c422835a44b2b360cadcb2a116a54
Expand Down
Loading
Loading