Quickstart

Getting StartedAgent View (Markdown)

Overview

Get started with Arctic Platform by installing the package and following the provided recipes for RL training with existing frameworks like Verl.

Quickstart

To get started training a model with Arctic Platform, first install the package, then follow the recipes provided in the repository.

Installation

From PyPI

Install the latest released version and its dependencies from PyPI:

pip install arctic-platform

Note: While this project is under active development, installing directly from source (see below) may provide the latest features.

From source (git)

To get the latest development version or to contribute, clone the repository and install it in editable mode:

git clone https://github.com/Snowflake-AI-Research/Arctic-Platform.git
cd Arctic-Platform
pip install -e .[rl]

Your First Training Run

The simplest way to get Arctic Platform working is to follow the simple single-GPU GRPO recipe, which trains a Qwen3-1.7B model on GSM8K using a single GPU.

1. Set up the environment

Create a fresh conda environment and install dependencies:

conda create -y -n arctic python=3.12
conda activate arctic
pip install uv

Clone the Arctic Platform repository and navigate to the simple recipe:

git clone https://github.com/Snowflake-AI-Research/Arctic-Platform
cd Arctic-Platform/recipes/rl/verl/simple

2. Install recipe dependencies

Install the pinned dependencies for the simple recipe (assumes CUDA 12.9):

# Install PyTorch first (CUDA 12.9)
uv pip install torch==2.10.0 --index-url https://download.pytorch.org/whl/cu129 -U

# Install remaining dependencies
uv pip install -r requirements.txt --override overrides.txt

# Install additional build tools
uv pip install -U pip wheel packaging setuptools

Install Flash Attention 2 (prebuilt):

uv pip install flash-attn --no-build-isolation

Install the Verl framework (Snowflake fork):

cd ../../../../../verl
grep -v flash-attn requirements.txt > requirements-no-fa.txt
uv pip install -r requirements-no-fa.txt
uv pip install -e .
cd -

3. Prepare the data

Download and prepare the GSM8K dataset:

cd Arctic-Platform/recipes/rl/verl/simple
python download_data.py --output_dir ~/data/gsm8k

This creates two parquet files in ~/data/gsm8k/:

  • train.parquet (~7.5k rows)
  • test.parquet (~1.3k rows)

4. Start training

Launch the training script with no Ray cluster needed—it runs on your single GPU:

bash run_qwen3_1.7b_gsm8k_grpo_arl.sh

Or specify custom data paths:

bash run_qwen3_1.7b_gsm8k_grpo_arl.sh \
    data.train_files=~/data/gsm8k/train.parquet \
    data.val_files=~/data/gsm8k/test.parquet

Key configuration options

The launcher script includes these tunable parameters:

ParameterDefaultDescription
NGPU_PER_JOB1Number of GPUs to use
PROMPT_LEN1024Prompt length
RESPONSE_LEN1024Response length
ROLL_N8GRPO group size (number of responses per prompt)
MAX_TOKENS_PER_GPU16384Max tokens per GPU; must be ≥ PROMPT_LEN + ROLL_N * RESPONSE_LEN
BSZ32Training batch size
PPO_MINI_BSZ32Actor mini-batch size
LR1e-6Learning rate
ARCTIC_ZERO_STAGE2DeepSpeed ZeRO stage
USE_KL_LOSSFalseEnable KL loss against a frozen reference model

Edit these values directly in run_qwen3_1.7b_gsm8k_grpo_arl.sh before running.

What's included in the simple recipe

  • Model: Qwen3-1.7B
  • Task: GSM8K math reasoning
  • Training: GRPO (Group Relative Policy Optimization) without KL anchoring
  • Optimization: ZoRRo Train for prompt deduplication
  • Sampling: vLLM with colocated training/sampling on one GPU
  • Reward: Verl's built-in GSM8K exact-match scorer

Next steps